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

tablice sortowanie problem z działaniem

VPS Starter Arubacloud
0 głosów
230 wizyt
pytanie zadane 24 stycznia 2018 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam

Mam napisaćprogram który posortuje tablice rosnąco.Napisałem taki program

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void zapelnij(int tab[260])
{
    int i;
    for(i=0;i<260;i++)
    {
        tab[i]=rand()%256;
    }
}

void sortuj_tab(int tab[260])
{
   int i,j,bufor;

    for(j=0;j<260-1;j++)
    {
        for(i=0;i<260-j-1;i++)
        {
            if(tab[i]>tab[i+1])
            {
                bufor=tab[i];
                tab[i] = tab[i+1];
                tab[i+1]= bufor;
            }
        }
    }
}
void wyswietl (int tab[260])
{
    int i;
    for(i=0;i<260;i++)
    {
        printf("\nTablica o indeksie %d ma wartosc: %d",i,tab[i]);
    }
    printf("\n");
}

int main(void)
{
    int tab[260];
    srand(time(NULL));
    zapelnij(tab);
    wyswietl(tab);
    sortuj_tab(tab);
    system("pause");
    return(0);
}

Problem w tym że tablica się nie sortuje.Czy ktoś pomoże mi znaleśći poprawić błąd.z góry dziękuje

pozdrawiam

2 odpowiedzi

0 głosów
odpowiedź 24 stycznia 2018 przez niezalogowany

Wypisujesz tablicę zanim zostanie posortowana. Poza tym masz literówkę w funkcji sortowania (w pierwszej pętli powinno być for(j=0;j<260;j++)).

0 głosów
odpowiedź 25 stycznia 2018 przez Yoshow Nowicjusz (240 p.)

Tak jak napisał NieUmiemProgramować, mogłeś to zrobić też w ten sposób.

void sortuj_tab(int tab[260])
{
   int bufor;
 
    for(int j=0;j<260-1;j++)
    {
        for(int i=0;i<260-1;i++)
        {
            if(tab[i]<tab[i+1])
            {
                bufor=tab[i];
                tab[i] = tab[i+1];
                tab[i+1]= bufor;
            }
        }
    }
}

smiley

komentarz 25 stycznia 2018 przez niezalogowany
Mi chodziło o zakres tej zewnętrznej pętli, a Twoje rozwiązanie jest troszeczkę mniej optymalne (za dużo porównań) niż autora pytania ;)

Podobne pytania

0 głosów
1 odpowiedź 1,650 wizyt
pytanie zadane 23 października 2016 w C i C++ przez T00R Nowicjusz (150 p.)
+1 głos
0 odpowiedzi 294 wizyt
pytanie zadane 5 maja 2018 w C i C++ przez Hikori Nowicjusz (180 p.)
0 głosów
1 odpowiedź 1,530 wizyt

92,964 zapytań

141,929 odpowiedzi

321,162 komentarzy

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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...