Palindromem nazywamy słowo, które czytane od lewej i od prawej strony jest takie samo.
Na przykład palindromami są słowa:
JABFDFBAJ
HAJAHAJAH
ABBA
Słowo JANA nie jest palindromem.
W pliku dane.txt umieszczono w kolejnych wierszach 1000 słów o długościach od 2 do
25 znaków, składających się z wielkich liter A, B, C, D, E, F, G, H, I, J. Napisz program,
który przegląda słowa zapisane w pliku dane.txt i wypisuje te z nich, które są
palindromami, po jednym w wierszu. Kolejność wypisywania palindromów powinna być
taka sama jak w pliku z danymi. Wyniki zapisz w pliku zadanie4.txt.
Proszeę o program/kod zródłowy w C++
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
W każdym bądź razie śmierdzi mi tu zadaniem maturalnym...
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
bool czyPal(string s);
int main()
{
ofstream z;
ifstream w;
w.open("dane.txt");
if(!w.is_open())
{
cout << "Nie znaleziono pliku dane.txt\nKonczenie programu..." << endl;
getch();
return 0;
}
z.open("zadanie4.txt");
string slowa[1000];
for(int i = 0; i < 1000; i++)
w >> slowa[i];
for(int i = 0; i < 1000; i++)
if(czyPal(slowa[i]))
{
z << slowa[i] << endl;
cout << slowa[i] << endl;
}
cout << "Wcisnij jakikolwiek klawisz aby zakonczyc...";
getch();
}
bool czyPal(string s)
{
for(int i = 0; i < s.length(); i++)
{
if(s[i] != s[s.length() - 1 - i])
return false;
}
return true;
}