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

Se dă o expresie care conţine numere naturale despărţite de semne de adunare sau scădere. Să se calculeze rezultatul expresiei.Fişierul de intrare plusminus.in conţine un număr de linii. Pe fiecare linie, mai puţin ultima, se află cîte un număr natural urmat de un spaţiu şi de un semn. Semnul poate fi doar '+' sau '-'. Ultima linie a fişierului conţine doar un număr natural urmat de caracterul sfîrşit de linie. plusminus.in plusminus.out
34 + 29
28 -
13 +
80 -
100

Fara vectori, va rog!!!​

Răspunsuri la întrebare

Răspuns de Sergetec
1

Salut!

Ai rezolvarea in C++ mai jos

#include <fstream>

using namespace std;

ifstream in("plusminus.in");

ofstream out("plusminus.out");

int main() {

   int n, rez = 0;

   char op;

   in >> n;

   rez = n;

   while (in >> op) {

       in.get(); //nu luam in considerare endl

       in >> n;

       if (op == '+') {

           rez += n;

       }

       else {

           rez -= n;

       }

   }

   out << rez;

   return 0;

}

Alte întrebări interesante