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

question-closed Błąd w sortowaniu tablicy

Object Storage Arubacloud
0 głosów
191 wizyt
pytanie zadane 7 lutego 2017 w C i C++ przez Oskar Gramsz Początkujący (270 p.)
zamknięte 7 lutego 2017 przez Oskar Gramsz
mam napisany program, w moim kompilatorze wychodzi dobrze, ale w każdym wychodzi co innego. Czy mógłbym prosić o pomoc, bo chyba dopuściłem się UB :/

 

#include <stdio.h>
int main() {
    int tab[] = {1,2,3,4,5,6,7};
    int i;
    for (i = 0; i < 7; i+= 2) {
        int tmp = tab[i];
        tab[i] = tab[i+1];
        tab[i+1] = tmp;
    }

    for (i = 0; i < 7; i++) {
        printf("%d ", tab[i]);
    }
    return 0;
}
komentarz zamknięcia: Sam sobie odpowiedziałem ;_;

2 odpowiedzi

0 głosów
odpowiedź 7 lutego 2017 przez Dexterim Dyskutant (8,370 p.)
W czym konkretnie tkwi problem?
0 głosów
odpowiedź 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)
w rezultacie powinno mi wyjść 2 1 4 3 6 5 7, a wychodzi 2 1 4 3 6 5 0
komentarz 7 lutego 2017 przez Dexterim Dyskutant (8,370 p.)
Problem tkwi z wyjsciem poza zakres tablicy jak masz i = 6 odwolujesz sie do elementu tablicy ktory nie istnieje
komentarz 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)
w kompilatorze z code:blocksa wychodzi dobrze
komentarz 7 lutego 2017 przez Dexterim Dyskutant (8,370 p.)
Sadze ze przypadek
komentarz 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)
dobrze, czy byłbyś mi w stanie pomóc to poprawić?
komentarz 7 lutego 2017 przez Dexterim Dyskutant (8,370 p.)
Pytanie brzmi jak chcesz dokonac tego sortowania
komentarz 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)
próbowałem tak, ale nie wyszło :( mam to na zadanie z informatyki
komentarz 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)
to i tak było z pomocą kumpla
komentarz 7 lutego 2017 przez Oskar Gramsz Początkujący (270 p.)

dobra znalazłem błąd:

#include <stdio.h>
int main() {
    int tab[] = {1,2,3,4,5,6,7};
    int i=1;
    for (i = 0; i < 6; i+= 2) {
        int tmp = tab[i];
        tab[i] = tab[i+1];
        tab[i+1] = tmp;
    }

    for (i = 0; i <7; i++) {
        printf("%d ", tab[i]);
    }
    return 0;
}
 

teraz działa

Podobne pytania

0 głosów
1 odpowiedź 159 wizyt
pytanie zadane 29 października 2017 w Java przez barteku12 Obywatel (1,340 p.)
0 głosów
1 odpowiedź 208 wizyt
0 głosów
0 odpowiedzi 322 wizyt
pytanie zadane 30 sierpnia 2017 w JavaScript przez DODO Bywalec (2,950 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

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

...