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

Losowanie,sortowanie,wyliczanie największej liczby - C++

Object Storage Arubacloud
0 głosów
1,452 wizyt
pytanie zadane 24 kwietnia 2017 w C i C++ przez seba Dyskutant (8,900 p.)

Witam otóż napisałem program losujący liczby do tablicy,następnie je sortuje bąbelkowo, wypisuje tablice na ekranie konsoli i ma podać ostatnią tablicę gdyż z założenia jest ona posortowana więc ostatnia będzie największa. I tu jest problem, program pokazuję największą liczbę tylko wtedy gdy wyświetlanie posortowanych liczb jest w komentarzach gdy zaś nie jest to wyświetla 0. Prawdopodobnie popełniłem gdzieś głupi błąd, chciałem poćwiczyć wskaźniki i tak to wygląda :D. Za wszelką pomoc dziękuje i pozdrawiam.

#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
int losuj(int *wsk,int jak_duza)//fun losujaca
{
    for(int i=0;i<jak_duza;i++)
    {
        *wsk=rand()%100;
        wsk++;
    }
}
int sortuj(int *wsk,int jak_duza)//fun sortujaca
{
    int schowek;
    for(int i=1;i<jak_duza;i++)
    {
        for(int j=jak_duza-1;j>=1;j--)
        {
            if(wsk[j-1]>wsk[j])
            {
                schowek=wsk[j];
                wsk[j]=wsk[j-1];
                wsk[j-1]=schowek;
            }
        }
    }
}
int main()
{
    srand(time(NULL));

    clock_t start,stop;
    double czas;
    int jak_duza;
    int *wskaznik;

    cout<<"Z ilu cyfr skladac sie ma tablica:";
    cin>>jak_duza;
    wskaznik=new int[jak_duza];
    start=clock();
    for(int i=0; i<jak_duza; i++)
    {
        losuj(wskaznik,jak_duza);//wylosowanie liczb do tablicy
        sortuj(wskaznik,jak_duza);//sortowanie tablicy
    }

    cout<<"Wylosowane i posortowane liczby:\n";
    for(int i=0; i<jak_duza; i++)//wypisanie tablicy
    {
        cout<<"Liczba "<<i+1<<". "<<*wskaznik<<endl;
        wskaznik++;
    }
    cout<<endl;


    stop=clock();

    czas=double(stop-start)/CLOCKS_PER_SEC;
    cout<<"\nCzas:"<<czas<<"s\n";
    cout<<"Najwieksza liczba:"<<wskaznik[jak_duza-1];


    delete [] wskaznik;
    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 24 kwietnia 2017 przez mokrowski Mędrzec (155,460 p.)
wskaznik++;

On w każdym przebiegu będzie inkrementowany więc na końcu pętli pokazuje "gdzieś... ". Później używasz go w 61 linii.

komentarz 24 kwietnia 2017 przez seba Dyskutant (8,900 p.)
W takim razie jak mam zapisać największą liczbę?
komentarz 24 kwietnia 2017 przez mokrowski Mędrzec (155,460 p.)
edycja 24 kwietnia 2017 przez mokrowski

No choćby tak:

*(wskaznik + i) // albo lepiej.. 
wskaznik[i] // bo to równoważne..

 

i usunąć wskaznik++

Oczywiście mówię tu o zawartości pętli. Wtedy dostaniesz się poprawnie do wartości największej :-)

Podobne pytania

0 głosów
2 odpowiedzi 1,453 wizyt
pytanie zadane 15 maja 2018 w C i C++ przez Marte Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 5,954 wizyt
pytanie zadane 1 grudnia 2016 w C i C++ przez Mateusz Ścigała Początkujący (280 p.)
0 głosów
3 odpowiedzi 514 wizyt
pytanie zadane 9 maja 2019 w Java przez Paweł123 Nałogowiec (33,500 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 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!

...