Elano92 |
» 2011-04-21 12:26:02 #include <iostream> #include <conio.h>
using namespace std; void wypelnijTablice( int t[], int iRozmiar, int min, int max ) { cout << "wylosowane " << iRozmiar << " liczb:" << std::endl; srand( time( 0 ) ); int e = max - min + 1; for( int i = 0; i < iRozmiar; i++ ) { t[ i ] = rand() % e + min; } }
int Oblicz_sume( int t[], int iRozmiar ) { int zero = 0; for( int z = 0; z < 5; z++ ) { zero = t[ z ] + zero; } cout << "suma = " << zero << endl; }
int main() { int minimum, maximum; cout << "od ilu ma losowac ? " << endl; cin >> minimum; cout << "do ilu ma losoac ? " << endl; cin >> maximum; int moja_tablica[ 5 ]; wypelnijTablice( moja_tablica, 5, minimum, maximum ); for( int i = 0; i < 5; i++ ) { cout << moja_tablica[ i ] << ", "; } Oblicz_sume( moja_tablica, 5 ); getch(); return 0; } O to chodzi? jak nie to znajdz na forum moje gg. |
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-21 18:26:52 Elano a ty zrobiłeś to zadanie (21 rozdział z kursu podstawowego)?
Jeśli tak i Tobie działa to wrzuć tu proszę. |
|
Elano92 |
» 2011-04-21 18:31:10 no to wyżej masz podane |
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-21 18:36:57 "1. Napisz program, który wczyta 3 liczby podane przez użytkownika do tablicy, a następnie wylosuje 2 z nich bez powtórzeń. Wynik wypisz na ekran. Postaraj się napisać ten program w oparciu o funkcje. "
To jest treść zadania. Do Twojego programu wpisuje się przedział liczbowy losowania (co jest dużo łatwiejsze), a tu chodzi o wpisanie trzech konkretnych liczb, z których program wylosuje dwie bez powtórzeń (Twój program losuje 5 liczb, które się powtarzają).
|
|
Elano92 |
» 2011-04-21 18:46:32 czyli ma wylosować z wpisanych i bez powtarzania ? ;d |
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-23 21:16:50 Chyba już jestem blisko, ale program losuje zawsze 2 pierwsze liczby. Jakieś sugestie jak to poprawić?
#include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
bool powtorz( int wyl, int tab[], int wynik ) { if( wyl <= 0 ) return false; int i = 0; do { if( tab[ i ] == wynik ) return true; i++; } while( i < wyl ); return false; }
int main() { srand( time( 0 ) ); int tab[ 3 ]; int wylosowane = 0; int i = 0; do { cin >> tab[ i ]; i++; } while( i < 3 ); do { int wynik = tab[ rand() % i ]; if( powtorz( wylosowane, tab, wynik ) == false ) { tab[ wylosowane ] == wynik; wylosowane++; } } while( wylosowane < 2 ); wylosowane = 0; do { cout << tab[ wylosowane ]; wylosowane++; } while( wylosowane < 2 ); return 0; }
|
|
yyy...mleko |
» 2011-04-23 23:41:54 Nie chciało mi się sprawdzać twojego kodu :P wiec zrobiłem to zadanie teraz, (nie zrobiłem go jak był kurs, bo...bo...... się nie chciało ^^) wrzucam kodzik mojego programu (z lekkimi dodatkami :)) mam nadzieje, że tolerowane są tu gotowce I, ŻE TEN KTO SZUKA ROZWIĄZANIA NA TO ZADANIE PRZEANALIZUJE KOD, A NIE TYLKO GO SKOPIUJE I BĘDZIE ZADOWOLONY, a z resztą usuniecie posta jak się nie podoba :)
#include<iostream> using namespace std;
void wpisz( int tab[], int idks ) { cout << "Wpisz liczby:\n"; for( int a = 0; a < idks; a++ ) cin >> tab[ a ]; } bool sprawdzanie( int a, int tab[], int indeks ) { for( int b = 0; b < indeks; b++ ) if( tab[ b ] == a ) return false; return true; } void losowanie( int tab[], int wylos[], int idks_tab, int idks_wylos ) { int q; for( int a = 0; a < idks_wylos; a++ ) { do { q = rand() % idks_tab; } while( !sprawdzanie( tab[ q ], wylos, a ) ); wylos[ a ] = tab[ q ]; } } void wyswietl( int tab[], int idks ) { for( int a = 0; a < idks; a++ ) cout << tab[ a ] << ", "; cout << endl; } bool blokada( int indeks, int los, int tab[] )
if( los > indeks ) return false;
for( int a = 0; a < indeks; a++ ) for( int b = 0; b < indeks; b++ ) if( tab[ a ] == tab[ b ] && a != b ) return false;
return true; }
int main() { srand( time( 0 ) ); int los; int indeks; cout << "Podaj ile liczb chcesz wprowadzic:\n"; cin >> indeks; int tablica[ indeks ]; cout << "A ile ma byc wylosowanych?\n"; cin >> los; int wylosowane[ los ]; wpisz( tablica, indeks );
if( blokada( indeks, los, tablica ) ) { losowanie( tablica, wylosowane, indeks, los ); wyswietl( wylosowane, los ); } else cout << "Nie da rady tego zrobic :)\n";
system( "pause" ); return 0; }
|
|
greenhouse Temat założony przez niniejszego użytkownika |
» 2011-04-23 23:55:23 Bardzo Ci dziękuję, nareszcie konkretna pomoc.
Oczywiście przeanalizuję Twój kod, nie potrzebuję go kopiować, na dobrą sprawę przecież z własnej woli robię te wszystkie zadania, więc kompletnie nie widzę powodu, dla którego miałbym tylko skopiować kod:))
Jeszcze raz wielkie dzięki!! |
|
1 2 « 3 » |