[spoiler=]
Kód:
void obratenie_slov(char veta[P])
{int d=0;
cout<<"Obratene slova: ";
for(int a=0;veta[a]!='\0';a++)
{
if(veta[a]==' ' || veta[a+1] == '\0')
{for(int j=a-1;j>=d;j--)
cout<<veta[j];
d=a+1;
}
}
cout<<endl;
}
[/spoiler]
Dobrý deň potreboval by som poradiť,
toto je fukcia ktorá by mala otáčať slová vo vete.
Všetko ide allright len mi nenacita posledny znak v poli.
Celkovy program.[spoiler=]
Kód:
#include <cstdlib>
#include <iostream>
#define P 50
#define R 3
#define S 10
using namespace std;
void zobrazenie (char veta[]);
void obratenie (char veta[]);
void obratenie_slov (char veta[]);
void rail_fence (char veta[]);
int main(int argc, char *argv[])
{ char veta[P];
char matica[R][S];
cout<<"Zadaj vetu ktoru chces zasifrovat: ";
cin.getline(veta,P);
zobrazenie(veta);
obratenie(veta);
obratenie_slov(veta);
//(veta);
system("PAUSE");
return EXIT_SUCCESS;
}
void zobrazenie(char veta[P])
{cout<<"Zadal si vetu: ";
for(int i=0;veta[i]!='\0';i++)
{
cout<<veta[i];
}
cout<<endl;
}
void obratenie(char veta[P])
{int poc=0;
for(int i=0;veta[i]!='\0';i++)
{
poc++;
}
cout<<"Obratena veta: ";
for(poc;poc>=0;poc--)
cout<<veta[poc];
cout<<endl;
}
void obratenie_slov(char veta[P])
{int d=0;
cout<<"Obratene slova: ";
for(int a=0;veta[a]!='\0';a++)
{
if(veta[a]==' ' || veta[a+1] == '\0')
{for(int j=a-1;j>=d;j--)
cout<<veta[j];
d=a+1;
}
}
cout<<endl;
}
/*void rail_fence(char veta[P])
{int R=3;
int S=0;
for(int a=0;veta[a]!='\0';a++)
{if(veta[a]!=' ')
{S++;}
}
char matica[R][S];
for(int i=0;i<R;i++)
{for(int j=0;j<S;j++)
veta[R][S]=O;
cout<<veta[R][S];
}
}
*/
[/spoiler]
Ďakujem za skoré rady a odpovede.
Šťastné a veselé.