Sortowanie przez wstawianie
Ostatnio zmodyfikowano 2020-11-22 14:35
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: #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; } |
|
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. |
|
« 1 » |