ďťż

Ładny brzuch

Witam.
Napisałem program z Symfonii C++ Standard, wyd. 3 z 2008r, ćwiczenie XVIII/217, w skrócie: mamy w tablicy jakiś tekst i mamy napisać funkcję rozdzielającą poszczególne wyrazy do tablicy z nieparzystymi wyrazami i parzystymi, w obu przypadkach oddzielonymi spacją.

Jak zwykle będę wdzięczny za uwagi, spostrzeżenia, komentarze i wskazówki.
Ćwiczenie było po rozdziale o tablicach, więc nie piszcie o żadnych vectorach, klasach itp ;)
#include <iostream> using namespace std; void grupuj(char zrodlo[], char parz[], char nieparz[]); int rozmiar(char zrodlo[]); int main() { char tablica[]={"Symfonia C++ to najlepsza ksiazka na poczatek przygody z jezykiem C++ moim zdaniem"}; // dany string char nieparzyste[80]={}; // wstepne zerowanie char parzyste[80]={}; // -||- grupuj(tablica, parzyste, nieparzyste); //here we go;) cout << tablica << "\nRozmiar stringu: " << rozmiar(tablica) << "\n\n\nNieparzyste:" << endl; for(int i=0; i<80; i++) // wypisanie wyrazow nieparzystych { cout << nieparzyste[i]; } cout << endl << "Parzyste:" << endl; for(int i=0; i<80; i++) // wypisanie wyrazow parzystych { cout << parzyste[i]; } cout << "\n\n\n"; return 0; } //********************************************************************* // funkcja grupujaca w parzyste i nieparzyste wyrazy oddzielone spacja: //********************************************************************* void grupuj(char zrodlo[], char parz[], char nieparz[]) { int licznik_sp=1,indeks_nieparz=0, indeks_parz=0, size=rozmiar(zrodlo); for(int i=0; i<size; i++) // petla po literach stringu { if(licznik_sp%2) // sprawdzamy parzystosc/nieparzystosc liczby dotychczasowych spacji { nieparz[indeks_nieparz++]=zrodlo[i]; } else { parz[indeks_parz++]=zrodlo[i]; } if(zrodlo[i]==32) ++licznik_sp; // spacja! nastepny wyraz! (kod ASCII spacji to 32) } } //********************************************************************* //funkcja zwracajaca rozmiar stringu w tablicy zrodlowej: //********************************************************************* int rozmiar(char zrodlo[]) { int rezultat=0,i=0; while(zrodlo[i++]) ++rezultat; //dopoki istnieja jakies litery w danym stringu, zwiekszaj licznik return rezultat; }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •