Se consideră un șir ai cărui termeni sunt numere naturale nenule, de o singură cifră. Numim număr asociat al acestui şir un număr natural format cu termenii şirului, în ordinea în care aceştia apar în şir.
Exemplu: numărul asociat şirului 1, 2, 5, 3, 2 este 12532. Fişierul text bac.txt conține numere naturale din intervalul [1,9]: pe prima linie două numere, x şi y, lar pe a doua linie un şir de cel puţin trei şi cel mult 10³ termeni. Numerele aflate pe aceeași linie a fişierului sunt separate prin câte un spațiu.
Se cere inserarea valorilor x şi y în șirul aflat pe a doua linie fișierului, astfel încât numărul asociat şirului obţinut să fie minim. Termenii şirului obținut se afişează pe ecran, separați
prin câte un spațiu.
Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare. Exemplu: dacă fişierul bac.txt conţine numerele
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
fstream f("date.txt",ios::in);
int x,y,aux,a;
f>>x>>y>>a;
if(y>x)
{
aux=y;
y=x;
x=aux;
}
while(!f.eof()&&a<y)
{
cout<<a<<" ";
f>>a;
}
cout<<y<<" ";
while(!f.eof()&&a<x)
{
cout<<a<<" ";
f>>a;
}
cout<<x<<" ";
while(!f.eof())
{
cout<<a<<" ";
f>>a;
}
}
Explicație:
Alte întrebări interesante