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

sortowanie bąbelkowe z pliku tekstowego

Object Storage Arubacloud
0 głosów
3,193 wizyt
pytanie zadane 14 maja 2016 w C i C++ przez Evelek Nałogowiec (28,960 p.)

Chcę pobrać liczby z pliku tekstowego a następnie je posortować algorytmem bąbelkowym. Mój algorytm wygląda tak:

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

void sortowanie_babelkowe(int *tab, int n)
{
    for (int i=1; i<n; i++)
    {
        for (int j=n-1; j>=1; j--)
        {
            if (tab[j]<tab[j-1])
            {
                int bufor;
                bufor=tab[j-1];
                tab[j-1]=tab[j];
                tab[j]=bufor;
            }
        }
    }
}
int main()
{
    int dane;

    fstream plik;
    plik.open("sortuj.txt", ios::in);

    while(!plik.eof())
    {
        plik >> dane;
        sortowanie_babelkowe(dane);
        cout << dane << endl;
    }
    plik.close();

    return 0;
}

Przy próbie kompilacji pokazuje mi błąd w linijce 33: invalid conversion from 'int' to 'int*' [-fpermissive]| oraz w tej samej linijce: too few arguments to function 'void sortowanie_babelkowe(int*, int)'|.

Jakich argumentów tam jeszcze brakuje? I czy jest to dobra metoda na sortowanie liczb pobieranych z pliku?

1 odpowiedź

0 głosów
odpowiedź 14 maja 2016 przez siuks241 Początkujący (340 p.)
z tego co zauważyłem na szybko to twoja funkcja sortowanie_babelkowe spodziewa się dwóch argumentów int "int *tab" oraz "int n", ty wykonując tą funkcje podałeś tylko jeden argument " dane "
komentarz 14 maja 2016 przez Evelek Nałogowiec (28,960 p.)
a drugi argument jaki będzie?
komentarz 16 maja 2016 przez siuks241 Początkujący (340 p.)
drugi argument twojej funkcji to ilość sortowanych przez ciebie liczb
komentarz 16 maja 2016 przez Evelek Nałogowiec (28,960 p.)

Wygląda to tak:

while(!plik.eof())
    {
        plik >> dane;
        sortowanie_babelkowe(dane, 1000);
        cout << dane << endl;
    }
    plik.close();

Cały czas błąd: invalid conversion from 'int' to 'int*' [-fpermissive]|

komentarz 8 czerwca 2016 przez Dominik Kulis Użytkownik (720 p.)
Pierw pobierz wszystkie dane do jakiejś tablicy a dopiero potem sortuj :)
1
komentarz 15 stycznia 2017 przez Mariusz M Obywatel (1,640 p.)
Chcesz użyć tablicy ?
Jeśli tak to proponuję tę z STL zdaje się że nazywa się ona vector
Jeśli chcemy aby kod można było łatwo przepisać na inny język
to proponuję napisać jakąś listę z sortowaniem przez scalanie

Podobne pytania

0 głosów
1 odpowiedź 185 wizyt
pytanie zadane 8 stycznia 2023 w C i C++ przez Zuzan Początkujący (390 p.)
0 głosów
1 odpowiedź 544 wizyt
pytanie zadane 24 października 2021 w C i C++ przez pita Nowicjusz (180 p.)
0 głosów
1 odpowiedź 808 wizyt
pytanie zadane 2 lutego 2021 w C i C++ przez Kamirru9 Początkujący (300 p.)

92,576 zapytań

141,426 odpowiedzi

319,651 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...