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

[C++] Wyświetlanie zawartości funkcji, która znajduje się poza main'em w konsoli.

Ostatnio zmodyfikowano 2017-01-17 17:03
Autor Wiadomość
joshmx
Temat założony przez niniejszego użytkownika
[C++] Wyświetlanie zawartości funkcji, która znajduje się poza main'em w konsoli.
» 2017-01-16 19:02:29
Witam,

Posiadam problem, a mianowicie funkcja, którą napisałem w moim programie (void sortowanie) nie chce się wyświetlić.
Ma ona za zadanie pobrać dane z tablicy dynamicznej napisanej nad nią, a następnie posortować te wartości wykorzystując sposób sortowania przez wybieranie. Nie wiem, czy funkcję odpowiedzialną za sortowanie (void) umieściłem w dobrym miejscu..

Fragment funkcji z którym mam problem:
C/C++
int * tablica = new int[ licznik ];


for( int i = 0; i < N; i++ )
{
    if( tab[ i ] > srednia )
    {
        tablica[ licznik2 ] = tab[ i ];
        licznik2++;
    }
   
}
for( int i = 0; i < licznik2; i++ )
{
    if( i % K == 0 )
    {
        cout << tablica[ i ] << ' ';
    }
    else
    {
        cout << tablica[ i ] << '\n';
    }
   
}





delete[] tablica;

system( "pause" );
return 0;

}

int q;
int K = 2;



void Sortowanie( int tablica[], int licznik2 )
{



for( int i = 0; i < licznik2; i++ )
{
    q = i;
    for( int j = i + 1; j < licznik2; j++ )
    if( tablica[ j ] < tablica[ q ] )
         q = j;
   
    swap( tablica[ q ], tablica[ i ] );
}
for( int i = 0; i < licznik2; i++ )
{
    if( i % K == 0 )
    {
        cout << tablica[ q ] << ' ';
    }
    else
    {
        cout << tablica[ q ] << '\n';
    }
   
}

}

Prosiłbym o wskazanie miejsca, w którym jest błąd oraz ewentualne wskazówki do rozwiązania

Pozdrawiam,
joshmx
P-156500
mateczek
» 2017-01-17 09:22:30
C/C++
// rozumiem że to jakiś fragment maina ?? Co ci szkodziło wkleić kod w całości ??
int * tablica = new int[ licznik ];


for( int i = 0; i < N; i++ )
{
    if( tab[ i ] > srednia )
    {
        tablica[ licznik2 ] = tab[ i ];
        licznik2++;
    }
   
}
for( int i = 0; i < licznik2; i++ )
{
    if( i % K == 0 )
    {
        cout << tablica[ i ] << ' ';
    }
    else
    {
        cout << tablica[ i ] << '\n';
    }
   
}





delete[] tablica;

system( "pause" );
return 0;

} // a to chyba koniec domniemanej funcji main?? tak trochę z fusów wróżę !!!

int q; // a co to jest to już nie wiem
int K = 2; //druga zagadka


// gdzie wywołujesz funkcję sortuj ?? trzecia zagadka
void Sortowanie( int tablica[], int licznik2 )
{



for( int i = 0; i < licznik2; i++ )
{
    q = i;
    for( int j = i + 1; j < licznik2; j++ ) //brak otwarcia nawiasów klamrowych dla wewnętrzenej pętli for
    if( tablica[ j ] < tablica[ q ] ) //tak nie posortujesz niczego           
         q = j; //nie rozumiem tych podmianek
   
    swap( tablica[ q ], tablica[ i ] );
}
for( int i = 0; i < licznik2; i++ )
{
    if( i % K == 0 )
    {
        cout << tablica[ q ] << ' ';
    }
    else
    {
        cout << tablica[ q ] << '\n';
    }
   
}
P-156531
karambaHZP
» 2017-01-17 09:41:42
P-156532
czaffik
» 2017-01-17 17:03:06
To powinno wyglądać mniej więcej według takiego schematu:
C/C++
#include <iostream>

// deklarujemy potrzebne funkcje:
void wypelnij( int * dane, int ile );
void sortuj( int * dane, int ile );
void wyswietl( int * dane, int ile );

int main( int argc, char * argv[] )
{
    int * tablica = new int[ 20 ];
    wypelnij( tablica, 20 );
    sortuj( tablica, 20 );
    wyswietl( tablica, 20 );
   
    return 0;
}

// dokładnie definiujemy zadeklarowane uprzednio funkcje:
void wypelnij( int * dane, int ile )
{
    // wypelnianie tablicy losowymi wartosciami;
}

void sortuj( int * dane, int ile )
{
    // sortowanie danych;
}

void wyswietl( int * dane, int ile )
{
    // wyswietl dane;
}
Sortowanie na razie lepiej sobie odpuść i dokształć się w zakresie funkcji i podstaw cpp.
P-156552
« 1 »
  Strona 1 z 1