Bardzo proszę o pomoc z Informatyki do dnia 05.03.2021

Bardzo Proszę O Pomoc Z Informatyki Do Dnia 05032021 class=

Odpowiedź :

Odpowiedź:

#include <iostream>

#include <fstream>

#include <vector>

#include <string>

#include <sstream>

using namespace std;

string int_string(int liczba){

stringstream ss;

ss << liczba;

return ss.str();

}

int suma_ascii(string linia){

int suma = 0;

for(char& c : linia){

 suma += (int)c;

}

return suma;

}

int main(){

string linia;

ofstream wynik_a;

wynik_a.open("./wynik_a.txt");

ofstream wynik_b;

wynik_b.open("./wynik_b.txt");

ofstream wynik_c;

wynik_c.open("./wynik_c.txt");

string min_ascii;

int min_wart;

string max_ascii;

int max_wart;

int suma = 0;

ifstream plik;

plik.open("./lista.txt");

if (plik.is_open()) {

 while(getline(plik, linia)){

  if(linia.at(linia.length()-1) == 'o'){

   wynik_a << linia << endl;

  }

  suma += linia.length();

  int suma_ascii_wynik = suma_ascii(linia);

  cout << linia << " - " << suma_ascii_wynik << endl;

  if (suma_ascii_wynik < min_wart) {

   min_ascii = linia;

   min_wart = suma_ascii_wynik;

  } else if (suma_ascii_wynik > max_wart) {

   max_ascii = linia;

   max_wart = suma_ascii_wynik;

  }

 }

}

wynik_b << int_string(suma);

wynik_c << "minimum: " << min_ascii << " - " << int_string(min_wart) << endl;

wynik_c << "maximum: " << max_ascii << " - " << int_string(max_wart);

plik.close();

wynik_a.close();

wynik_b.close();

wynik_c.close();

return 0;

}

Komentarz:

niestety jest jedna usterka w kodzie co czyta EOT jako najmniejszą liczbę ASCII i nie wiem jak to naprawić

ale większość kodu działa :)