Witam,
na wstępie dodam iż jestem po dniu intensywnej pracy z C++ więc możliwe że rozwiązanie jest banalna ale ja już nie mam świeżego oka to znalezienia rozwiązania.
Wykonuję zadanie z książki Symfonia C++ (J.Grębosz) jestem przy temacie z tablicami a za zadanie mam z 1 tablicy w której jest jakieś zdanie przekopiować do 2 innych tablic zawartość tego zdania z podziałem na znaki o indeksie parzystym i nieparzystym.
Tak wygląda deklaracja moich tablic i możliwe, że tutaj wystarczy coś zmienić bo debuger podpowiada że na starcie już mam dziwne wartości (później są one tylko nadpisywane)
char napis[] = "Alfabet sklada sie z wielu znakow";
char tabParz[17];
char tabNieparz[17];
A tutaj podaję cały kod, wiem, że fragmentami jest on zbyt bardzo skomplikowany i da się to zrobić prościej ;)
#include <iostream>
using namespace std;
void zadanie18(char zrodlo[], char parzyste[], char nieprzyste[]);
void printAr(char tab[]);
int main()
{
char napis[] = "Alfabet sklada sie z wielu znakow";
char tabParz[17];
char tabNieparz[17];
zadanie18(napis, tabParz, tabNieparz);
cout << "Glowna tablica: \t";
printAr(napis);
cout << "\nParzyste: \t";
printAr(tabParz);
cout << "\nNieparzyste: \t";
printAr(tabNieparz);
system("PAUSE");
}
void printAr(char tab[])
{
int i = 0;
while (tab[i])
{
cout << tab[i];
i++;
}
cout << endl;
}
void zadanie18(char zrodlo[], char parzyste[], char nieprzyste[])
{
static int i, licznikParzyst, licznikNieparzysty;
for (i = 0; (zrodlo[i]); i++)
{
if (zrodlo[i] != 0)
{
if (i % 2)
{
nieprzyste[licznikNieparzysty] = zrodlo[i];
licznikNieparzysty++;
}
else
{
parzyste[licznikParzyst] = zrodlo[i];
licznikParzyst++;
}
}
else break;
}
}