Cześć, od razu zaznaczam ze jestem nowicjuszem. Dostałem klasyczne zadanie: napisać program który odwróci kolejność znaków dowolnego wyrazu (który użytkownik sam zdefiniuje). Sam program jako takim problemem nie jest, tylko efekt jego działania, mianowicie: pierwszy znak (który ma byc ostatnim w wyniku działania programu) jest jakimś krzakiem.
Np: wpisuję słowo: "pies". Wynikiem powinno być "seip", a wychodzi " seiř". Dodam że ta smieszna literka ř pojawia sie niezaleznie od tego jaka jest pierwsza litera słowa. Jakieś sugestie co jest nie tak? Załączam kod:
#include "stdafx.h"
#include <conio.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
string tab1;
getline(cin, tab1);
int z=0;
int r=tab1.length();
int c=tab1.length();
char *tab2;
tab2 = new char [c];
do
{
char znak;
znak=tab1[r];
tab2[z]=znak;
r--;
z++;
}while(r != 0);
for(int i=0;i<=c;i++)
cout<<tab2[i];
cin.ignore();
cin.get();
delete[] tab2;
}
edycja: Problem rozwiązany. Warunek while(r!=0) zmienilem na while(r>=0)