• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w kodzie - zadanie maturalne z informatyki z programowania

0 głosów
400 wizyt
pytanie zadane 6 kwietnia 2019 w C i C++ przez malaameba Początkujący (310 p.)

Dzień dobry,

Rozwiązuję zadanie maturalne z informatyki. Zadanie 65.1 ze zbioru zadań maturalnych z informatyki: https://cke.gov.pl/egzamin-maturalny/egzamin-w-nowej-formule/materialy-dodatkowe/materialy-dla-uczniow-i-nauczycieli/zbiory-zadan/ (na stronie 124 zaczyna się treść zadania). 

Napisałam kod, jednak nie działa tak, jak powinien. Czy ktoś mógłby mi pomóc w znalezieniu błędu?

To mój kod: 


#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    fstream dane;
    dane.open("dane_ulamki.txt");
    fstream wyniki;
    wyniki.open("wyniki_ulamki.txt",ios::out);
    int licznik[1000];
    int mianownik[1000];
    for(int i=0;i<1000;i++)
        dane>>licznik[i]>>mianownik[i];
    dane.close();

    //podpunkt a
    int minimum=10000;
    int minimum_mianownik=100000;
    int minimum_licznik=100000;
    for (int i=0;i<1000;i++)
    {
        float iloraz=float(licznik[i])/float(mianownik[i]);
        if(iloraz==minimum)
        {
            if(mianownik[i]<minimum_mianownik)
                {
                    minimum=iloraz;
                    minimum_mianownik=mianownik[i];
                    minimum_licznik=licznik[i];
                }
        }
        else if(iloraz<minimum)
        {
                minimum=iloraz;
                minimum_mianownik=mianownik[i];
                minimum_licznik=licznik[i];
        }
    }
    wyniki<<"a) "<<minimum_licznik<<" "<<minimum_mianownik<<endl;
    wyniki.close();
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 6 kwietnia 2019 przez niezalogowany
wybrane 6 kwietnia 2019 przez malaameba
 
Najlepsza
int minimum = 10000;
// ...
float iloraz = float(licznik[i]) / float(mianownik[i]);
// ... 
minimum = iloraz;

Zmienna minimum powinna być typu float.

komentarz 6 kwietnia 2019 przez malaameba Początkujący (310 p.)

Faktycznie! Dziękuję bardzo! wink

Podobne pytania

0 głosów
1 odpowiedź 517 wizyt
pytanie zadane 8 stycznia 2022 w C i C++ przez fsfxvcxv Obywatel (1,160 p.)
+1 głos
1 odpowiedź 834 wizyt
pytanie zadane 15 grudnia 2023 w C i C++ przez Wojo772233 Użytkownik (500 p.)
0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 18 maja 2023 w C i C++ przez fsfxvcxv Obywatel (1,160 p.)

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,087 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...