Răspuns :
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile("palindrom.in"); //deschid fisierul "palindrom.in"
ofstream outfile("palindrom.in"); //deschid fisierul "palindrom.out"
bool afiseaza = false;
int marime_sir, comutator;
infile >> marime_sir; //introduc marimea sirului
int sir[marime_sir] = {};
for(int i=0; i<marime_sir; i++) //introduc numerele in sir
{
infile >> sir[i];
}
//sortez sirul palindrom
for(int o=0; o<marime_sir; o++)
{
for(int x=0; x<(marime_sir-1); x++)
{
if(x < marime_sir/2) //sortez prima juatate a sirului descrescator
{
if(sir[x] < sir[x+1])
{
comutator = sir[x];
sir[x] = sir[x+1];
sir[x+1] = comutator;
}
}
else if(x > (marime_sir/2)) //sortez a doua jumatae a sirului crescator
{
if(sir[x] > sir[x+1])
{
comutator = sir[x];
sir[x] = sir[x+1];
sir[x+1] = comutator;
}
}
}
}
//verifica daca sirul este palindrom
for(int v=0; v<marime_sir; v++)
{
if(sir[v] == sir[marime_sir-v-1])
{
afiseaza = true;
}
else
{
afiseaza = false;
break;
}
}
//afiseaza rezultatul in "palindrom.out"
if(afiseaza)
{
for(int a=0; a<marime_sir; a++)
{
outfile << sir[a] << " ";
}
outfile << endl;
}
else
{
outfile << "-1" << endl;
}
infile.close(); //inchid fisierul "palindrom.in"
outfile.close(); //inchid fisierul "palindrom.out"
return(0);
}
Explicație:
am lasat comentarii in cod