👤

Zamiana liter z małych na duże (uppercase) c++


//Łańcuchy znakowe

//Tablice znakowe char*

// \0 oraz NULL

//ASCII


#include

using namespace std;


char lancuchZnakowy[5] = {'c', 'h', 'a', 'r', '\0'};

char lancuchJakString[5] = "char";

char tekstDynamicznaWielkosc[] = "Costam costam dlugi tekst";


int main()

{

cout << lancuchZnakowy << " - dlugosc tego lancucha to: " << sizeof(lancuchZnakowy) << endl;

cout << lancuchJakString << " - dlugosc tego lancucha to: " << sizeof(lancuchJakString) << endl;

cout << tekstDynamicznaWielkosc << " - dlugosc tego lancucha to: " << sizeof(tekstDynamicznaWielkosc) << endl;



//dodatkowe

if ("A" == "a")

{

cout << "y";

}

else

{

cout << "n";

}

//


return 0;

}


//Zadanie

// Długi tekst - nalezy go przeszukac i zamienic wszystkie a na A

// Zmienić wszystkie znaki na duże (uppercase) bez sprawdzania == "A" == "B" itp

//Dodatkowe

// Usunac wszystkie spacje z tekstu


Odpowiedź :

Odpowiedź

Programy w załącznikach.

Wyjaśnienie

Tekst oczywiście możesz dać jeszcze dłuższy. Tylko, że wcale nie tak łatwo bez polskich liter...

Zwykle nie używa się  sizeof(),  tylko tak jak jak to zrobiłam  strlen(),  ponieważ to pierwsze podaje całkowitą wielkość łącznie z końcowym znakiem NULL. Czyli w pierwszych dwóch (bardzo typowych!) programach trzeba by odejmować jeden.

Trzeci program jest interesujący ponieważ do jednego łańcucha są dwa indeksy... W momencie w którym jest spacja, to nie tylko, że jej nie kopiujemy, ale też indeks kopii się nie zwiększa.

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB