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

