• 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 ....

0 głosów
386 wizyt
pytanie zadane 26 września 2015 w C i C++ przez Michał Gibas Pasjonat (19,630 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,970 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 Mentor (355,180 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 (215,230 p.)

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

Podobne pytania

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

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...