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
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că ați găsit conținutul oferit util și inspirațional. Dacă aveți întrebări suplimentare sau doriți asistență, vă încurajăm să ne contactați. Ne-ar face plăcere să reveniți și nu uitați să ne adăugați în lista dumneavoastră de favorite!