Wczytanie wyrazów i zamiana na anagramy.

0

Cześć mam problem obejmujący zagadnienia z zapisywania czegoś w pliku tekstowym (i jego wczytania).

Mam do zrobienia program, który wczyta 3 wyrazy z klawiatury, a następnie zapisze je w pliku tekstowym w osobnych linijkach w odwrotnej kolejności (3 wyraz, 2 wyraz, 1 wyraz)

I tak zrobiłem:

 #include<iostream>
#include<fstream>
using namespace std;

string wyraz, wyraz1, wyraz2;

int main()

{
	
	cout<<"Podaj pierwszy wyraz: "; cin>>wyraz;
	cout<<"Podaj drugi wyraz: "; cin>>wyraz1;
	cout<<"Podaj trzeci wyraz: "; cin>>wyraz2;	


fstream plik;
plik.open("tekst.txt", ios::out);

plik<<wyraz2<<endl;
plik<<wyraz1<<endl;
plik<<wyraz<<endl;

plik.close();

return 0;	
}

Ale teraz mam zadanie by do tego zadania napisać program (niesprecyzowane czy w tym samym czy w osobnym pliku):

Napisz program który wczyta z pliku podane tam wyrazy a następnie wypisze je w postaci anagramów - wspak (Np. pobiera Ala Ola Karol zwraca alA olA loraK

Jak to zrobić?

0

Albo tablica i odwraca kolejność, albo bawisz się dalej na std::string. Masz tutaj, poszukaj co może się przydać http://www.cplusplus.com/reference/string/string/

1
#include <string>
#include <algorithm>
int main() {
	std::string a = "anilina";
	std::string b = "lina";
	std::reverse(a.begin(), a.end());
	 std::reverse(b.begin(), b.end());
	std::cout << a << endl;
	std::cout << b;
	return 0;
}
0
#include<iostream>
#include <string>
#include <algorithm>
using namespace std;

string wyraz, wyraz1, wyraz2;

int main()

{
	
	cout<<"Podaj pierwszy wyraz: "; cin>>wyraz;
	cout<<"Podaj drugi wyraz: "; cin>>wyraz1;
	cout<<"Podaj trzeci wyraz: "; cin>>wyraz2;	


fstream plik;
plik.open("tekst.txt", ios::out);

    reverse(wyraz2.begin(), wyraz2.end());
     reverse(wyraz1.begin(), wyraz1.end());
     reverse(wyraz.begin(), wyraz.end());
    cout << wyraz2 << endl;
    cout << wyraz1 << endl;
    cout << wyraz << endl;
   

plik.close();


return 0;	
}

Wyskakuje błąd:

[Error] aggregate 'std::fstream plik' has incomplete type and cannot be defined

1

Spójrz w nagłówki.

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