Programersi mam wielką prośbe ; )
Mamy tablicę znaków, w której znajduje się długi C-string będący tekstem, składającym się z kilkunastu wyrazów. Napisz funkcje, która przekopiuje ten C-String do dwóch innych tablic. W tablicy parzyste znaleźć mają się parzyste wyrazy C-stringu, a w tablicy nieparzyste – nieparzyste wyrazy C-stringu. W obu docelowych tablicach wyrazy mają być oddzielone odstępami(spacjami), czyli znakami ' '. Funkcja ta ma być wywoływana z trzema argumentami:
- adres tablicy źródłowej,
- adres tablicy na wyrazy parzyste,
- adres tablicy na wyrazy nieparzyste.
Pomóżcie mi ogarnąć gdzie popełniłem błąd, nie chce programu gotowego tylko pomocy ; )
#include <iostream>
#include <cstring>
using namespace std;
void funkcja_kopiujaca(char zrodlo[],char tu_parzyste[],char tu_nieparzyste[])
{
int roznica=0;
int z=0;
int i=0;
for(i=0;;i++)
{
if(zrodlo[i]==' '){
roznica=i-z;
if(!(roznica%2)){
for(z;z<roznica;z++)
{ tu_parzyste[z]=zrodlo[z];
z=i;
if(zrodlo[z]==0)break;
}
}
else{
for(z;z<roznica;z++)
{ tu_nieparzyste[z]=zrodlo[z];
z=i;
if(zrodlo[z]==0)break;
}
}
}
if(zrodlo[i]==0)break;
}
}
int main()
{ char c[200]={"Wielki string sprawdzajacy czy zostalo poprawnie wykonane"};
char parzyste[200];
char nieparzyste[200];
funkcja_kopiujaca(c, parzyste, nieparzyste);
for (int i=0;i<200;i++)
{
cout << parzyste[i];
}
cout <<endl<<endl;
for (int i=0;i<200;i++)
{
cout << nieparzyste[i];
}
return 0;
}