Informatică, întrebare adresată de cezard597, 8 ani în urmă

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 ezio43
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