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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!