Permalänk
Medlem

Char hjälp

Tjena. Skulle behöva hjälp med att göra ett program där användaren matar in en teckensträng och programmet skriver ut teckensträngen baklänges..Jag vet att jag måste ha nån sorts loop av nån sort, men har fastnat helt.

#include <iostream>

using namespace std;

void main()

{
char text[100];
int index=0;

cout<<"mata in textstrangen"<<endl;
cin>>text;

}

Edit:
Ändrat med koden

#include <iostream>

using namespace std;

void main()

{
char tecken[50];
int raknare=0, index=0;

cout<<"Skriv in din teckenstrang:"<<endl;
cin>>tecken;

while (tecken[index] != '\0')
{
raknare++;
index++;
}

index--;

while (tecken[index] != '\0')
{
cout<<tecken[index];
index--;
}

}

Visa signatur

You cant dodge this bullet cause this aint The Matrix....

Permalänk
Medlem

Re: Char hjälp

Citat:

Ursprungligen inskrivet av vojnik
Tjena. Skulle behöva hjälp med att göra ett program där användaren matar in en teckensträng och programmet skriver ut teckensträngen baklänges..Jag vet att jag måste ha nån sorts loop av nån sort, men har fastnat helt.

Fundera lite på hur den sista while-satsen ska se ut. Är antagandet som du gjort nu rimligt?

//C

Permalänk
Medlem

Varför inte använda string?

#include <string> #include <iostream> int main() { std::string foo; std::cout << "Skriv din teckensträng: " << std::endl; std::getline(std::cin, foo); for (std::string::size_type i(0); i != foo.size(); ++i) { std::cout << foo.at(foo.size() - 1 - i); } std::cout << std::endl; return 0; }

Visa signatur

"'We're pro-life.' Eww, you look it! You look like you're filled with life."
UNIX man pages online, GNU/Linux-schemaprogram för LiU

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Pilt
Varför inte använda string?

#include <string> #include <iostream> int main() { std::string foo; std::cout << "Skriv din teckensträng: " << std::endl; std::getline(std::cin, foo); for (std::string::size_type i(0); i != foo.size(); ++i) { std::cout << foo.at(foo.size() - 1 - i); } std::cout << std::endl; return 0; }

Och fördelen med std::string i din lösning är vadå?

En korrekt lösning med stl är:

string text; cin >> text; reverse(text.begin(), text.end()); cout << text << endl;

En lösning med char[]:

char buff[80]; cin.getline(buff, 80); for(int i = strlen(buff) - 1; i >= 0; --i) { cout << buff[i]; }

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Jag tycker conio är inne på rätt spår för att peka ut den rätta vägen. Däremot att ge den kompletta lösningen till vad som helt uppenbart är en skoluppgift tycker jag är knas. Vad lär han sig på det? Att deadlines kan man skita i och lösningar är till för att hämtas på nätet?