• 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

VPS Starter Arubacloud
0 głosów
355 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ź 406 wizyt
pytanie zadane 8 stycznia 2022 w C i C++ przez fsfxvcxv Obywatel (1,160 p.)
+1 głos
1 odpowiedź 393 wizyt
pytanie zadane 15 grudnia 2023 w C i C++ przez Wojo772233 Początkujący (480 p.)
0 głosów
1 odpowiedź 128 wizyt
pytanie zadane 18 maja 2023 w C i C++ przez fsfxvcxv Obywatel (1,160 p.)

93,020 zapytań

141,985 odpowiedzi

321,284 komentarzy

62,366 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...