Napisałem program z Symfonii C++ Standard, wyd. 3 z 2008r, ćwiczenie XXIII/218, w skrócie: mamy napisać funkcję, która do końca stringu będącego w jednej tablicy dołączy string będący w innej tablicy, funkcja powinna przerwać w przypadku zapełnienia całej tablicy.
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
Kod: Zaznacz cały
#include <iostream>using namespace std;void dolacz(char docelowa[], int rozmiar_docelowej, char zrodlowa[]);int main(){ const int rozmiar=30; // rozmiar tablicy docelowej char tablica_docelowa[rozmiar]={"Czym sie rozni kaczka"}; char tablica_zrodlowa[]={" od labedzia?"}; dolacz(tablica_docelowa, rozmiar, tablica_zrodlowa); // here we go ;) return 0;}//***********************************************************************//funkcja do dolaczania stringu z tablicy zrodlowej do tablicy docelowej://***********************************************************************void dolacz(char docelowa[], int rozmiar_docelowej, char zrodlowa[]){ int i=0,j=0,licznik_doc=0,licznik_zro=0; while(docelowa[i++]) ++licznik_doc; //ilosc liter w tablicy docelowej, od tego indeksu zaczynamy doklejanie while(zrodlowa[j++]) ++licznik_zro; //ilosc liter w tablicy zrodlowej for(int i=licznik_doc; i<licznik_doc+licznik_zro; i++) { if(i>=rozmiar_docelowej) break; // zapelniona cala tablica, przerywamy dzialanie funkcji docelowa[i]=zrodlowa[i-licznik_doc]; // wlasciwe doklejanie }}