Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

wskaźniki - zadanie z kursu

Ostatnio zmodyfikowano 2018-07-23 15:22
Autor Wiadomość
sair
Temat założony przez niniejszego użytkownika
wskaźniki - zadanie z kursu
» 2018-07-11 23:22:39
witam,
przedstawiam kod do zadania domowego z kursu o wskaźnikach który niestety nie działa tak jak należy, proszę o pomoc w lokalizacji błędu :)

C/C++
#include <string>
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;

void sortuj( int * begin, int * end ) {
    int pomoc = 1;
    while( pomoc != 0 )
    {
        pomoc = 0;
        for( begin; begin <( end - 1 ); begin++ ) {
            if( * begin > *( begin + 1 ) )
            {
                swap( * begin, *( begin + 1 ) );
                pomoc++;
            };
        };
       
    };
}

void wypisz( int * begin, int size )
{
    while( size > 0 )
    {
        std::cout << * begin << ' ';
        ++begin;
        --size;
    }
}


int main()
{
    int tab[ 10 ] = { 0, 9, 1, 3, 8, 2, 6, 7, 5, 4 };
    sortuj( tab, tab + 10 );
    wypisz( tab, 10 );
   
    _getch();
    return 0;
}
P-171820
pekfos
» 2018-07-12 00:32:25
C/C++
while( pomoc != 0 )
Drugi i każdy następny przebieg tej pętli nic nie zmienia. Prześledź wartości zmiennej begin.
P-171821
sair
Temat założony przez niniejszego użytkownika
» 2018-07-12 19:20:14
jakieś sugestie jak z tego wybrnąć?
P-171823
pekfos
» 2018-07-12 20:08:51
A do jakich wniosków doszedłeś po mojej podpowiedzi? Jeśli w ogóle zidentyfikowałeś problem, to na tym etapie kursu rozwiązanie powinno być oczywiste.
P-171824
sair
Temat założony przez niniejszego użytkownika
» 2018-07-12 20:46:35
niestety, nie udało mi się zidentyfikować błędu
kombinowałem coś z if'em ale nie udało mi się rozwiązać problemu
P-171825
pekfos
» 2018-07-12 21:27:44
Jaką wartość ma begin na początku drugiego obiegu pętli while?
P-171827
sair
Temat założony przez niniejszego użytkownika
» 2018-07-12 21:47:56
0056F848 <- 1 obieg
0056F86C <- 2 obieg
0 1 3 8 2 6 7 5 4 9

nie rozumiem czemu pętla wykonuje się tylko dwa razy i dlaczego za drugim razem różnica to 24 bajty :/
P-171831
pekfos
» 2018-07-12 21:53:33
A end - 1 to ile?

i dlaczego za drugim razem różnica to 24 bajty :/
Ale masz na myśli 0x24 bajty..?
P-171832
« 1 » 2 3
  Strona 1 z 3 Następna strona