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
}
}