Losowanie x liczb , i znalezienie największej
Ostatnio zmodyfikowano 2011-03-29 22:24
Elano92 Temat założony przez niniejszego użytkownika |
Losowanie x liczb , i znalezienie największej » 2011-03-28 20:15:32 #include <conio.h> #include <iostream> using namespace std; int main() { int ilosc; int b; int tab[ 999 ]; int k = tab[ 0 ]; int c; cout << "podaj ilosc" << endl; cin >> ilosc; srand( time( NULL ) ); for( int a = 1; a <= ilosc; a++ ) { tab[ b ] =( rand() % 76 ) + 23; cout << tab[ b ] << "\n"; } for( c = 1; c <= ilosc; c++ ) { if( tab[ b ] > k ) k = tab[ b ]; } cout << "najwieksza" << k << endl; getch(); return 0; }
błąd przy szukaniu największej |
|
malan |
» 2011-03-28 20:42:27 Jeżeliby to zrobić idąc Twoim tokiem myślenia to powinno być tak: #include <ctime> #include <iostream>
const int ARRAY_SIZE = 10;
int main() { srand( time( 0 ) ); int array[ ARRAY_SIZE ]; int * ptr = & array[ 0 ]; for( int i = 0; i < ARRAY_SIZE; ++i ) { array[ i ] = rand() % 500 + 0; std::cout << array[ i ] << std::endl; } for( int i = 0; i < ARRAY_SIZE; ++i ) { if( array[ i ] > * ptr ) ptr = & array[ i ]; } std::cout << * ptr; } A normalnie to się robi raczej tak: #include <ctime> #include <iostream>
const int ARRAY_SIZE = 10;
int main() { srand( time( 0 ) ); int array[ ARRAY_SIZE ]; for( int i = 0; i < ARRAY_SIZE; ++i ) { array[ i ] = rand() % 500 + 0; std::cout << array[ i ] << std::endl; } int n = array[ 0 ]; for( int i = 0; i < ARRAY_SIZE; ++i ) { if( array[ i ] > n ) n = array[ i ]; } std::cout << n; } Widzisz już swój błąd? :) |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-03-28 21:14:09 dla mnie wasz kod jest nieczytelny,nieprzyjemny dla oka , zrobiłem to tak , ocencie:
#include <conio.h> #include <iostream> using namespace std; int main() { int ilosc; int b; int tab[ 999 ]; int k = tab[ 0 ]; int c; cout << "podaj ilosc" << endl; cin >> ilosc; srand( time( NULL ) ); for( int a = 1; a <= ilosc; a++ ) { tab[ a ] =( rand() % 76 ) + 23; cout << tab[ a ] << "\n"; } for( c = 0; c <= ilosc; c++ ) { if( tab[ c ] > k ) k = tab[ c ]; } cout << "najwieksza" << k << endl; getch(); return 0; }
|
|
DejaVu |
» 2011-03-28 21:26:37 Czemu ideksujesz tablicę od 1? W C++ tablice indeksowane są od 0, więc pętle operujące na tablicach również się pisze od 0. |
|
malan |
» 2011-03-28 21:28:03 Ocena: 1. podaj ilosc 10 89 41 98 27 87 85 43 57 82 24 najwieksza52428
Porównaj sobie mój drugi przykład ze swoim kodem i postaraj się znaleźć tą jedną, istotną różnicę ;) |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-03-28 22:07:12 ja nie rozumiem swoich błędów ;/ najlepiej jakbyście skopiowali program i dodawali komentarze , będzie mi łatwiej . |
|
hashedone |
» 2011-03-29 16:43:07 Zaraz po pobraniu danych wyświetl tablicę, to zobaczysz gdzie masz błąd. |
|
Elano92 Temat założony przez niniejszego użytkownika |
» 2011-03-29 18:25:46 mi działa poprawnie |
|
« 1 » 2 |