Zadanie domowe lekcja 22 problem
Ostatnio zmodyfikowano 2014-12-02 16:26
dafuck17 Temat założony przez niniejszego użytkownika |
Zadanie domowe lekcja 22 problem » 2014-11-30 17:33:44 Hej, mam problem (znowu xD) Treść zadania: Napisz program który wykona wszystkie poniższe kroki w podanej kolejności: Losuje 10 liczb z przedziału od 10 do 30 włącznie i zapisuje je do tablicy; Wypisuje 10 wylosowanych liczb od początku do końca; Wypisuje 10 wylosowanych liczb od końca do początku; Znajduje najmniejszą oraz największą wylosowaną liczbę. Wypisuje najmniejszą i największą wylosowaną liczbę. Program nie może używać pętli innych niż pętla for. Mój kod: #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wylosujLiczby( int tablica[], int ile ) { cout << "Losuje liczby: " << endl; for( int licznik = 0; licznik < ile; licznik++ ) { int losowanie; losowanie =( rand() % 21 ) + 10; tablica[ licznik ] = losowanie; } cout << "Wylosowano" << endl; }
void wypiszTablice( int tablica[], int ile ) { for( int licznik = 0; licznik < ile; licznik++ ) { cout << "Liczba nr " <<( licznik + 1 ) << endl; cout << tablica[ licznik ] << endl; } }
void wypiszTabliceOdTylu( int tablica[], int ile ) { for( int licznik = 9; licznik >= ile; licznik-- ) { cout << "Wypisuje tablice od tylu: " << endl; cout << tablica[ licznik ] << endl; } }
int znajdzMinimum( int tablica[], int ile ) { cout << "Wybieram najmniejsza liczbe... " << endl; int main() { srand( time( NULL ) ); int los = 10; int tablica[ 10 ]; wylosujLiczby( tablica, 10 ); wypiszTablice( tablica, 10 ); wypiszTabliceOdTylu( tablica, 0 ); int iMin = znajdzMinimum( tablica, 10 ); return 0; }
Mianowicie mam problem ze znalezieniem minimum tablicy. Próbuje już chyba z 2 godziny na różne sposoby i nie mogę nic wymyślić :( W lekcji nic nie pisze jak to zrobić. Pomoże ktoś? :) |
|
Rashmistrz |
» 2014-11-30 17:40:10 Tworzysz sobie tymczasową zmienną do której przypiszesz pierwszy element tablicy. (Lepiej pierwszy element z tablicy niż zero, bo jak wszystkie z ciągu będą większe od zera to uzyskamy nieprawidłowy wynik.)
Pierwszego elementu już nie musimy do niczego porównywać, więc przechodzimy do następnego.
Porównujemy element z tablicy z tymczasową zmienną i jeśli jest mniejszy od niej to ją nim zastępujemy.
Powtarzamy ostatnią czynność aż porównamy tymczasową zmienną z ostatnim elementem z tablicy.
Liczba która zostanie w tymczasowej zmiennej będzie najniższą wartością znajdującą się w tablicy.
"maksimum" zrobisz analogicznie do "minimum". |
|
dafuck17 Temat założony przez niniejszego użytkownika |
» 2014-12-01 15:28:29 #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void wylosujLiczby( int tablica[], int ile ) { cout << "Losuje liczby: " << endl; for( int licznik = 0; licznik < ile; licznik++ ) { int losowanie; losowanie =( rand() % 21 ) + 10; tablica[ licznik ] = losowanie; } cout << "Wylosowano" << endl; }
void wypiszTablice( int tablica[], int ile ) { for( int licznik = 0; licznik < ile; licznik++ ) { cout << "Liczba nr " <<( licznik + 1 ) << endl; cout << tablica[ licznik ] << endl; } }
void wypiszTabliceOdTylu( int tablica[], int ile ) { for( int licznik = 9; licznik >= ile; licznik-- ) { cout << "Wypisuje tablice od tylu: " << endl; cout << tablica[ licznik ] << endl; } }
int znajdzMinimum( int tablica[], int ile ) { int minimum = tablica[ 0 ]; cout << "Wybieram najmniejsza liczbe... " << endl; for( int licznik = 1; licznik < ile; licznik++ ) { if( tablica[ licznik ] < minimum ) tablica[ licznik ] = minimum; } return minimum; }
int main() { srand( time( NULL ) ); int los = 10; int tablica[ 10 ]; wylosujLiczby( tablica, 10 ); wypiszTablice( tablica, 10 ); wypiszTabliceOdTylu( tablica, 0 ); int iMin = znajdzMinimum( tablica, 10 ); cout << znajdzMinimum( tablica, 10 ); return 0; }
Sorki, że tak męczę ale starałem się zrobić tak jak opisałeś i za każdym razem mi wychodzi: minimum = tablica[ 0 ]. Gdzie tkwi błąd? :/ |
|
Rashmistrz |
» 2014-12-01 15:35:41 if( tablica[ licznik ] < minimum ) tablica[ licznik ] = minimum; Zrobiłeś na odwrót przypisanie. Porównujemy element z tablicy z tymczasową zmienną i jeśli jest mniejszy od niej to ją nim zastępujemy. |
|
|
dafuck17 Temat założony przez niniejszego użytkownika |
» 2014-12-02 16:26:23 dzięki! |
|
« 1 » |