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

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