Fișierul bac.txt conține un șir de cel mult 106 numere întregi din intervalul [-103,103], separate prin
câte un spațiu. Se cere să se afișeze pe ecran suma minimă obținută adunând numere de pe poziții
consecutive în șirul aflat în fișier. 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 valorile -4 6 -7 -2 1 -4 10 3 -9 -2 2
se afișează pe ecran numărul -12
a. Scrieți programul C/C++ corespunzător algoritmului proiectat.
b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia.
Răspunsuri la întrebare
Răspuns de
6
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bac.txt");
int main()
{
int x,sc,scmin;
sc=scmin=0;
f>>x;
sc=x;
while(f>>x)
{
if(sc<0) sc+=x;
else sc=x;
if(sc<scmin)
scmin=sc;
}
cout<<scmin;
}
Explicație: nici eu nu stiu ce am facut pe aici dar aparent e bine:))))
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă