Wątek przeniesiony 2014-10-17 12:06 z C/C++ przez ŁF.

Kilka zadań dotyczących tablicy ASCII

0

Witam. Czy byłby ktoś tak miły, żeby napisać te 3 programy i po krótce (chociaż) wyjaśnić mi, jak i skąd to się bierze i dlaczego? :)

1.14.
Napisz program, który pobierze od uzytkownika znak, a nastepnie wyswietli jego indeks w tablicy ASCII.
1.15.
Napisz program, który pobierze od uzytkownika znak, a nastepnie wyswietli „duze”, jesli znak jest wielka litera, „male”, jesli mała litera oraz „inne”, jesli nie jest litera.
1.16.
Napisz program, który pobierze od uzytkownika znak bedacy wielka litera alfabetu łacinskiego, a nastepnie wyswietli odpowiadajaca jej mała litere.

1

To bardziej pasuje tutaj: http://4programmers.net/Forum/Og%C5%82oszenia_drobne
Za stówkę mogę zrobić.

1

http://pl.wikipedia.org/wiki/ASCII

Podpowiem, że żeby wyświetlić kod znaku to w C robisz to tak:

char c = 'c';
printf("%d", c);
0

Hah, takie podstawy, jak wyświetlenie kodu znaku to znam. Tylko nie wiem, jak to odnieść to tej tablicy, żeby np. pokazywało mi indeks tego znaku z tablicy ASCII.

0

Na zdecydowanej większości nowoczesnych systemów operacyjnych ASCII (lub inne zgodne z ASCII dla wartości 0-127) jest domyślnym kodowaniem znaków. Po prostu wyświetl wartość znaku jako liczby na takim systemie, tak jak to pokazał @some_ONE.

0

A no tak, sorry, źle przeczytałem. Chyba zmęczenie ;)
Czyli wczytuję znak, ale w printf daję %d jako liczbę całkowitą. Tak?

0

Tak.

0

Super, działa, dzięki :) A wcześniej się nad tym tyle głowiłem.
To teraz do następnego zadania - jak zrobić, żeby rozróżniało duże litery od małych?

0

isupper i islower z nagłówka <ctype.h>

0

Drugie zadanie zrobione. Teraz do trzeciego - jak to zrobić, żeby pokazywało małą literę, odpowiadającą dużej?

0

toupper i tolower. Nagłówek ten sam.

0

http://ideone.com/WScsIu

Coś takiego zamienia mi z dużych na małe, ale z małych na duże już nie.

1

Bo nigdzie nie porównujesz z wprowadzonym znakiem.

if('A') ... 

Bedzie zawsze prawdą.

Powinno być:

if(c == 'A') ... 
0

Dalej nie zwiększa, tylko pokazuje, że wprowadzono niepoprawny znak, jak daję małą literę.

0

Pokaż kod. Zapewne masz else if('a')

0
if (c == 'A') printf ("%c", tolower(c));
	else if (c == 'a') printf ("%c", toupper(c));
	else printf ("Wprowadzono niepoprawny znak");

dodanie znacznika <code class="c"> - @furious programming

0

Okej, Ty tylko sprawdzasz, czy jest to duża lub mała litera A. Powinieneś sprawdzać za pomocą funkcji islower i isupper

0

http://ideone.com/Al1oNd

Coś takiego jest i działa, jak trzeba. Dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1