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

Problem z programem sortującym liczby ....

Object Storage Arubacloud
0 głosów
196 wizyt
pytanie zadane 26 września 2015 w C i C++ przez Michał Gibas Pasjonat (19,610 p.)
#include <iostream>
#include <windows.h>

using namespace std;

int ilosc, bufor;



int main()
{
    cout<<"Ilosc :"<<endl;
    cin>>ilosc;
    for(int i=0; i>ilosc; i++)
    {
        int table[ilosc];
        cin>>table[i];
        if(i>ilosc)
        {
            for(int j=0; j<0; j++)
            {
                if(table[j]<table[j+1])
                {
                    table[j]=bufor;
                    table[j+1]=table[j];
                    bufor=table[j+1];
                }
                else{}
                if(j>ilosc)
                {
                    for(int k; k>ilosc; k++)
                    {
                        cout<<table[k]<<endl;
                    }
                }
            }
        }
    }
    return 0;
}

 

Proszę o pomoc.

Z góry dziękuję!

3 odpowiedzi

0 głosów
odpowiedź 26 września 2015 przez KamilGlabek Użytkownik (540 p.)
wybrane 3 października 2015 przez Michał Gibas
 
Najlepsza

tak patrze na ten kod i zastanawiam się co on ma sortować i w jaki sposób? tak na pierwszy rzut oka wydaje mi się że chodziło ci o sortowanie konkretnej ilosci liczb którą najpierw użytkownik definiuje a później sam wstawia, z tym że ten if i ta pętla jedynie podmieni ci liczby. Na prędkości delikatnie zmodyfikowałem ci ten kod tak że faktycznie sortuje liczby które użytkownik wcześniej poda

#include <iostream>
#include <windows.h>

using namespace std;

int ilosc, bufor=0;


int main()
{
    cout<<"Ilosc :"<<endl;
    cin>>ilosc;
     int table[ilosc];
    for(int i=0; i<ilosc; i++)
    {
cout<<"podaj "<<i+1<<" liczbe: ";

        cin>>table[i];
    }
         for(int j=0; j<ilosc; j++)
            { for(int z=0; z<ilosc; z++){
                if(table[z]>table[z+1])
                {
                    bufor=table[z];
                    table[z]=table[z+1];
                    table[z+1]=bufor;
                }}
            }
cout<<"Po sortowaniu:"<<endl;
                  for(int k=0; k<ilosc; k++)
                    {
                        cout<<"liczba nr"<<k+1<<" to "<<table[k]<<endl;

                    }




    return 0;
}

Mam nadzieje że właśnie o to ci chodziło, pozdrawiam. :)

komentarz 26 września 2015 przez event15 Szeryf (93,790 p.)
-1 za gotowca.
komentarz 26 września 2015 przez KamilGlabek Użytkownik (540 p.)
trochę mnie Panie uraziłeś :) 15 minut starałem się przerobić kod kolegi tak żeby zaczął faktycznie sortować :) najbardziej namieszał przy samym przerzucaniu liczby przez "bufor", poza tym jedna pętla podwodowała że sortowanie odbywało się tylko w przypadku następnej liczby w tabeli. Troche szkoda że dostaje -1 przy pierwszym poście ponieważ już uczyłem się C++ w technikum, i nastał czas na odświeżenie starego zainteresowania :) problem kolegi przeanalizowalem od poczatku do końca, starałem się tylko domyślić o co mu chodzi :)
komentarz 26 września 2015 przez event15 Szeryf (93,790 p.)
Szacunek za rozwiązanie oczywiście jest - ale ale - o wiele większy byłby, gdybyś zamiast dać gotowego programu pomógł dojść to tego wyniku - wskazać ścieżkę.

Nie jest to skierowane przeciwko Twojej osobie, po prostu za każdego gotowca, który wystarczy Ctrl+C + Ctrl+V daję minus.

Chodzi o to, że nie pochwalam podawania ryby - dużo więcej się obie strony nauczą i dużo więcej wyciągną w chwili, gdy jeden przyjmie pozycję nauczyciela a drugi nawet po długim czasie dojdzie do rozwiązania problemu i sam to napisze.
komentarz 27 września 2015 przez KamilGlabek Użytkownik (540 p.)
aaa rozumiem, dobra rada na przyszłość, tak jak wspominalem była to moja pierwsza odpowiedź na tym forum :)  :) zapamiętam i takiego błędu już nie powtórzę. Pozdrawiam :)
0 głosów
odpowiedź 26 września 2015 przez Szahid Pasjonat (20,930 p.)
Przypuszczam że w 16 wierszu powienieneś użyć dunamicznej alokacji tablicy. Bo liczba alementów w takim zapisie jaki ustawiłeś powinna być określona przed kompilacją. Ale moge się mylić

 

Ponad to warunek w 20 wierszu nigdy się nie spełni
komentarz 26 września 2015 przez adrian17 Ekspert (344,860 p.)
Jeśli kompiluje na GCC, to kompilator pozwala wbrew standardowi na określanie wielkości tablicy w trakcie działania programu.
0 głosów
odpowiedź 26 września 2015 przez Ehlert Ekspert (212,670 p.)

Tak jak kolega napisał. Nie możesz tak zrobić chyba, że ilość będzie const

Podobne pytania

0 głosów
2 odpowiedzi 216 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez mn130496 Gaduła (3,530 p.)
+1 głos
2 odpowiedzi 484 wizyt
pytanie zadane 24 stycznia 2021 w C i C++ przez Nie Wiem Nowicjusz (240 p.)

92,573 zapytań

141,423 odpowiedzi

319,645 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!

...