invalid types 'char[int]' for array subscript

0

Witam! Robie wlasnie cwiczenie z Symfonii C++ i natknalem sie na zadanie, ktore polega na tym, aby z jednej tablicy znakow zawierajacej wiele wyrazow stworzyc dwie tablice znakow tak, aby parzyste wyrazy glownej tablicy byly w jednej tablicy, a nieparzyste w drugiej. Oto moj program:

#include <iostream>
#include <stdio.h>
using namespace std;

char nieparzyste[50]={"string"};
char parzyste[50]={"string"};
char cstr[100]= {"Rudy lis ma rudy ogon oraz rude futerko tylko brzuch ma bialy."};
void funkcja(char cstr[], char nieparzyste[], char parzyste[]);
void drukowanie(char t[]);

//****************************************************************************************************************
int main()
{
  funkcja(cstr, parzyste, nieparzyste);
  cout << "Tablica poczatkowa cstr:" <<endl;
  drukowanie(cstr);
  cout << "Tablica parzyste:" <<endl;
  drukowanie(parzyste);
  cout << "Tablica nieparzyste:"<<endl;
  drukowanie(nieparzyste);
  getchar(); getchar();
}
//****************************************************************************************************************

//****************************************************************************************************************
void funkcja(char cstr, char parzyste, char nieparzyste)
{
    int i=0;
    int slowo=1;

    for (int p=0, n=0; ; i++)
    {
        if(cstr[i]!=0)
        {
        if(slowo%2)
            {
            cstr[i]=nieparzyste[n];
            n++;
            }
        else
            {
            cstr[i]=parzyste[p];
            p++;
            }
        }
    if(cstr[i]==32) slowo++;
    }
}
//****************************************************************************************************************

//****************************************************************************************************************
void drukowanie(char t[])
{
    for (int i=0; ; i++)
    {
        if (t[i]==0) break;
        cout << t[i];
    }
}
//****************************************************************************************************************

Wyskakuje mi ten sam blad w linijkach: 33, 37, 42,46. Ten blad to: invalid types 'char[int]' for array subscript
POMOCY!!!

0

No i czego nie rozumiesz w tym komunikacie?

void funkcja(char cstr, char parzyste, char nieparzyste)
0

Tresc tego komunikatu rozumiem, ale nie wiem jak mam rozwiazac ten blad.

0

deklaracja wyglada u Ciebie tak

void funkcja(char cstr[], char nieparzyste[], char parzyste[]);

definicja wyglada u Ciebie tak

void funkcja(char cstr, char parzyste, char nieparzyste)
0

Dalej sa te same bledy nawet po wprowadzeniu zmian.

0

Masz typ "znak" (char) i zmienną tego typu cstr. Co rozumiesz przez cstr[i]?, czyli np 'a'[8]?

1 użytkowników online, w tym zalogowanych: 0, gości: 1