draco892 Temat założony przez niniejszego użytkownika |
Sortowanie zmiennych » 2016-01-12 22:44:03 Witam forumowiczów, poniżej kod źródłowy mojego programu. Problem polega na tym, że nie umiem posortować zmiennych c,d,e,f,g,h rosnąco, próbowałem już metodą bąbelkową i nie wyszło. #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h>
int i, j, c, d, e, f, g, h, r, n; int a[ 1000 ];
main() { srand( time( NULL ) ); printf( "Podaj liczbe symulacji rzutu kostka(max1000) n=" ); scanf( "%d", & n ); n--; for( i = 0; i <= n; i++ ) { a[ i ] = rand() % 6 + 1; printf( "%d ", a[ i ] ); } c = d = e = f = g = h = 0; for( i = 0; i <= n; i++ ) if( a[ i ] == 1 ) c++; else if( a[ i ] == 2 ) d++; else if( a[ i ] == 3 ) e++; else if( a[ i ] == 4 ) f++; else if( a[ i ] == 5 ) g++; else if( a[ i ] == 6 ) h++; { printf( "Ilosc jedynek: %d\n", c ); printf( "Ilosc dwojek: %d\n", d ); printf( "Ilosc trojek: %d\n", e ); printf( "Ilosc czworek: %d\n", f ); printf( "Ilosc piatek: %d\n", g ); printf( "Ilosc szostek: %d\n", h ); } system( "pause" ); return 0; } Będę wdzięczny za pomoc. |
|
DejaVu |
» 2016-01-12 22:45:38 |
|
draco892 Temat założony przez niniejszego użytkownika |
Do DejaVu » 2016-01-12 22:50:38 Dzięki, już widziałem ten link, chodzi o to, że nie potrafię zastosować metody bąbelkowej do tych danych. |
|
michal11 |
» 2016-01-13 00:02:07 Ale ty chcesz posortować tablicę a czy policzyć ile jest w niej poszczególnych liczb ? |
|
draco892 Temat założony przez niniejszego użytkownika |
Do michal11 » 2016-01-13 11:22:39 Obecnie program losuje liczby z przedziału od 1 do 6 i pokazuje ile jest jedynek, dwójek itd. za pomocą zmiennych c,d,e,f,g,h, potrzebuję posortować zmienne rosnąco, czyli żeby program pokazywał, że np. Liczba trójek<liczba jedynek<liczba szostek itd. |
|
darko202 |
» 2016-01-13 11:30:18 |
|
mateczek |
» 2016-01-13 12:09:21 w c++ się skompiluje ale w C nie ogarniam choć starałem się na strukturach !!! #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #include<iostream>
int i, j, c, d, e, f, g, h, r, n; int a[ 1000 ]; struct element { int wynik; int licznikTrafien; };
element tablicaTrafien[ 6 ] { { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 } };
main() { srand( time( NULL ) ); printf( "Podaj liczbe symulacji rzutu kostka(max1000) n=" ); scanf( "%d", & n ); n--; for( i = 0; i <= n; i++ ) { a[ i ] = rand() % 6 + 1; printf( "%d ", a[ i ] ); } for( i = 0; i <= n; i++ ) if( a[ i ] == 1 ) tablicaTrafien[ 0 ].licznikTrafien++; else if( a[ i ] == 2 ) tablicaTrafien[ 1 ].licznikTrafien++; else if( a[ i ] == 3 ) tablicaTrafien[ 2 ].licznikTrafien++; else if( a[ i ] == 4 ) tablicaTrafien[ 3 ].licznikTrafien++; else if( a[ i ] == 5 ) tablicaTrafien[ 4 ].licznikTrafien++; else if( a[ i ] == 6 ) tablicaTrafien[ 5 ].licznikTrafien++; { for( int i = 0; i < 6; i++ ) { for( int j = 0; j < 6 - 1; j++ ) { if( tablicaTrafien[ j ].licznikTrafien > tablicaTrafien[ j + 1 ].licznikTrafien ) { element temp = tablicaTrafien[ j ]; tablicaTrafien[ j ] = tablicaTrafien[ j + 1 ]; tablicaTrafien[ j + 1 ] = temp; } } } for( int i = 0; i < 6; i++ ) { std::cout << "liczb " << tablicaTrafien[ i ].wynik << " wylosowano " << tablicaTrafien[ i ].licznikTrafien << "razy" << std::endl; } } system( "pause" ); return 0; wynik działania programu http://zapodaj.net/images/ef2487cb62c57.png |
|
mateczek |
» 2016-01-13 12:25:14 if else nie są potrzebne można pominąć #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #include<iostream>
int i, j, c, d, e, f, g, h, r, n; int a[ 1000 ]; struct element { int wynik; int licznikTrafien; };
element tablicaTrafien[ 6 ] { { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 } };
main() { srand( time( NULL ) ); printf( "Podaj liczbe symulacji rzutu kostka(max1000) n=" ); scanf( "%d", & n ); n--; for( i = 0; i <= n; i++ ) { a[ i ] = rand() % 6 + 1; printf( "%d ", a[ i ] ); } for( i = 0; i <= n; i++ ) tablicaTrafien[ a[ i ] - 1 ].licznikTrafien++; for( int i = 0; i < 6; i++ ) { for( int j = 0; j < 6 - 1; j++ ) { if( tablicaTrafien[ j ].licznikTrafien > tablicaTrafien[ j + 1 ].licznikTrafien ) { element temp = tablicaTrafien[ j ]; tablicaTrafien[ j ] = tablicaTrafien[ j + 1 ]; tablicaTrafien[ j + 1 ] = temp; } } } std::cout << std::endl; for( int i = 0; i < 6; i++ ) { std::cout << "liczb " << tablicaTrafien[ i ].wynik << " wylosowano " << tablicaTrafien[ i ].licznikTrafien << "razy" << std::endl; } } |
|
« 1 » 2 |