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

Sortowanie przez wstawianie

Ostatnio zmodyfikowano 2020-11-22 14:35
Autor Wiadomość
Melomir
Temat założony przez niniejszego użytkownika
Sortowanie przez wstawianie
» 2020-11-22 12:45:17
Witam serdecznie.
Jestem początkującym programistą i próbuję stworzyć program sortujący wylosowane liczby metodą wstawiania. Jednak po uruchomieniu i wpisaniu ile liczb ma wylosować, program wyrzuca tylko nieposortowaną tablicę i nie wyświetla posortowanej. Jeżeli ktoś mógłby mi pomóc byłbym bardzo wdzięczny :) A oto program:

C/C++
#include <iostream>
#include <time.h>
#include <windows.h>

using namespace std;


int i = 0, j, x, ile, tablica[ 0 ];
int main()
{
   
    cout << "Podaj ilosc liczb do posortowania: ";
    cin >> ile;
    cout << "Przed posortowaniem: " << endl;
   
    srand( time( NULL ) );
    for( i = 0; i < ile; i++ )
    {
        tablica[ i ] = rand() % 1000 + 1;
        cout << tablica[ i ] << " ";
    }
   
    for( i = 1; i < ile; i++ )
    {
        x = tablica[ i ];
        for( j = i - 1; j >= 0; j-- )
        {
            if( x < tablica[ j ] )
                 tablica[ j + 1 ] = tablica[ j ];
            else
                 break;
           
        }
        tablica[ j + 1 ] = x;
    }
    cout << endl << "Po posortowaniu: " << endl;
    for( i; i < ile; i++ )
         cout << tablica[ i ];
   
    delete[] tablica;
   
   
    return 0;
}
P-177730
pekfos
» 2020-11-22 14:35:50
Tablica jest źle utworzona. Powinna być dynamicznie zaalokowana, a masz zwykłą o rozmiarze 0. Nie zerujesz też i dla ostatniej pętli.
P-177734
« 1 »
  Strona 1 z 1