tablice char

OL
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:6
0

Cześć, chcę napisać własną funkcję zmieniającą litery małe na duże w ciągu znaków w tablicy char – na
podobieństwo toupper().. Podejrzewam że trzeba się do tego zabrać od strony ASCII. Czy ktoś mógłby podpowiedzieć jak?

edytowany 3x, ostatnio: olala_
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 4 godziny
  • Lokalizacja:Szczecin
0

Użyj pętli i funkcji toupper z <ctype.h>.


OL
problem w tym że nie mogę, sama muszę napisać taką funkcję, która zmienia te litery z małych na duże.
kq
odpowiadaj w odpowiedziach
Delor
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
0

Innych funkcji z ctype.h możesz używać?

Kopiuj
if(islower(x)) return x-32;
OL
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:6
0
Delor napisał(a):

Innych funkcji z ctype.h możesz używać?

Kopiuj
if(islower(x)) return x-32;

raczej nie

Delor
Nie musisz cytować całego postu jeżeli odpowiadasz pod nim.
Delor
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
0

To zaimplementuj też islower(). Sprawdzenie czy dany znak jest w zakresie 'a'-'z' czyli 97-122.

MO
  • Rejestracja:około 10 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Tam gdzie jest (centy)metro...
0
Kopiuj
char myToUpperASCII(char c) {
    return ((c > 0x60) && (c < 0x7B)) ? c & ~(0x20): c;
}

Każdy problem w informatyce można rozwiązać, dodając kolejny poziom pośredniości,z wyjątkiem problemu zbyt dużej liczby warstw pośredniości — David J. Wheeler

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.