Skip to content

Instantly share code, notes, and snippets.

@j000
Last active August 29, 2015 14:21
Show Gist options
  • Save j000/2481b6cb5bde79949a86 to your computer and use it in GitHub Desktop.
Save j000/2481b6cb5bde79949a86 to your computer and use it in GitHub Desktop.
Matura 2010 - podstawowy - Palindromy
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
ifstream dane;
ofstream odpowiedz;
string a;
int dlugosc;
bool czy_palindrom;
//////////
dane.open("dane.txt"); // otwieramy plik z danymi
odpowiedz.open("palindromy.txt"); // otwieramy plik wyjsciowy
for (int i = 0; i < 1000; ++i) {
getline(dane,a); // wczytujemy cala linie
a.erase(a.find_last_not_of(" \n\r")+1); // kasujemy biale znaki z konca
dlugosc = a.size() - 1; // bo potrzebujemy do tablicy [0 - (n-1)]
czy_palindrom = true; // zakladamy, ze jest
for (int k = 0; k <= a.size()/2; ++k) { // petla przez wieksze pol (gdy nieparzysta dlugosc)
if (a[k] != a[dlugosc-k]) { // jesli znaki sa rozne
czy_palindrom = false; // nie jest palindomem
break; // nie potrzebujemy sprawdzac dalej
}
}
if (czy_palindrom)
odpowiedz << a << endl;
}
// zamykamy pliki
odpowiedz.close();
dane.close();
// koniec
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment