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

zliczenie powtórzeń największej i najmniejszej liczby w pliku

Object Storage Arubacloud
0 głosów
213 wizyt
pytanie zadane 30 kwietnia 2021 w C i C++ przez Cr4y0n Nowicjusz (120 p.)

Mam problem ze zliczeniem liczby powtórzeń największej i najmniejszej liczby (które są już znalezione) w pliku tekstowym. 

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream plikwe;
    ofstream plikwy;
    int t[200][320];
    int temp,x=0,y=0;
    int L,H,xL,yL,xH,yH;
    cout << "Wczytywanie danych z pliku do tablicy dwuwymiarowej" << endl;
    plikwe.open("dane.txt");
    plikwy.open("wyniki.txt");
    int r;
    int b;

    while(!plikwe.eof())
    {
        plikwe>>temp;
        t[x][y]=temp;

        if(y==319)
        {
            x++;
            y=0;
        }
        else

                y++;

    }
    L=t[0][0];
    H=t[0][0];

        for(int i=0;i<200;i++)
        {
            for(int j=0;j<320;j++)
            {

            if(t[i][j]<L)
            {
                L=t[i][j];
                xL=i; yL=j;


            }
            if(t[i][j]>H)
            {
                H=t[i][j];
                xH=i; yH=j;

            }
            if(L==t[i][j])
            {
                b++;
            }
            if(H==t[i][j])
            {
                r++;
            }
            }
        }

    cout<<"najmniejsza: "<<L<<endl;
    cout<<"najwieksza: "<<H<<endl;
    cout<<"xL "<<xL<<" yL "<<yL<<" xH "<<xH<<" yH "<<yH<<endl;
    cout<<"ilosc powtorzen najmniejszej: "<<b<<endl;
    cout<<"ilosc powtorzen najwiekszej "<<r<<endl;

    plikwy<<"najmniejsza: "<<L<<endl;
    plikwy<<"najwieksza: "<<H<<endl;
    plikwy<<"xL "<<xL<<" yL "<<yL<<" xH "<<xH<<" yH "<<yH<<endl;

    /*cout<<"wczytana tablica z pliku "<<endl;

    for(int x=0;x<200;x++)
    {

            for(y=0;y<320;y++)
                cout<<t[x][y]<<" ";
                cout<<endl;
    }
    */


    return 0;
}

b odpowiada za zliczenie najmniejszej
r odpowiada za zliczenie najwiekszej

komentarz 30 kwietnia 2021 przez j23 Mędrzec (195,220 p.)

Chyba powinieneś "zerować" licznik b lub r po znalezieniu mniejszej/większej liczby.

2 odpowiedzi

0 głosów
odpowiedź 30 kwietnia 2021 przez TOM_CPP Pasjonat (22,640 p.)

Wartości zmiennych r i b musisz zainicjować wartościami początkowymi.

 int r {0};
 int b {0};

Bez tego mogą znaleźć się tam jakieś przypadkowe wartości = śmieci.

0 głosów
odpowiedź 30 kwietnia 2021 przez manjaro Nałogowiec (37,390 p.)
Cały ten kod co napisałeś to możesz spokojnie skasować i zrobić to od nowa porządnie, skracając kod przynajmniej pięciokrotnie.

1 Wczytujesz liczby do mapy

2. W jednej pętli wyszukujesz w mapie max i min wartości.

Podobne pytania

0 głosów
2 odpowiedzi 3,679 wizyt
+1 głos
1 odpowiedź 413 wizyt
0 głosów
1 odpowiedź 534 wizyt

92,761 zapytań

141,685 odpowiedzi

320,483 komentarzy

62,105 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...