KrayteR Temat założony przez niniejszego użytkownika |
Tablice jednowymiarowe - Praca domowa | Oraz, treść przykładu z Przekazywania tablic jednowymiarowych do funkcji » 2016-07-02 18:35:16 Witam! Mam problem z zadaniem z lekcji Tablice jednowymiarowe o treści: Napisz program, który wylosuje 999 liczb całkowitych z zakresu od 4 do 10 włącznie, wypisze te wartości na ekran, po czym zsumuje je i wynik wypisze na ekran. Program ma wykorzystywać tablicę, która zostanie najpierw wypełniona liczbami losowymi z określonego przedziału, a następnie wynik zostanie obliczony na podstawie zawartości całej tablicy. A szczególnie z ostatnią częścią zadania. Nie mam pojęcia co zrobić, żeby zsumowało mi całą tablicę. Napisałem taki kod: #include <dos.h> #include <iostream> #include <stdlib.h> #include <ctime>
int losowanie() { return( std::rand() % 7 ) + 4; }
int main() { srand( time( NULL ) ); int liczba[ 999 ]; int ilerazy = 0; do { liczba[ ilerazy ] = losowanie(); ilerazy++; } while( ilerazy < 999 ); std::cout << "Podane liczby to: "; ilerazy = 0; do { std::cout << liczba[ ilerazy ] << ", "; ilerazy++; } while( ilerazy < 999 ); std::cout << std::endl << std::endl << std::endl; ilerazy = 0; int ilerazy1 = 1; int kolejna = 0; do { kolejna = kolejna + liczba[ ilerazy ] + liczba[ ilerazy1 ]; ilerazy++; ilerazy++; ilerazy1++; ilerazy1++; } while( ilerazy1 < 999 ); sleep( 12 ); return 0; }
Te biblioteki dodane z tego względu, że używam rad studio, a nie code::blocks :p Sleep na końcu, bo jak nie ma to program sam się od razu zamyka, a nie jak w code blocks zostaje. Ogólnie chciałem te sumę zrobić jakoś tak, sam nie wiem co z tego wyszło, ale w każdym razie jakoś coś tam sumuje. Aczkolwiek nie mam pojęcia, czy to zrobiłem poprawnie, i czy sumuje dobrze :p Drugi problem leży w przykładzie z następnego tematu, a dokładniej to #include <iostream>
void wypelnijTablice( int t[], int iRozmiar ) { std::cout << "Podaj " << iRozmiar << " liczb:" << std::endl; int i = 0; do { std::cin >> t[ i ]; i++; } while( i < iRozmiar ); }
int main() { int moja_tablica[ 5 ]; wypelnijTablice( moja_tablica, 5 ); int i = 0; do { std::cout << moja_tablica[ i ] << ", "; i++; } while( i < 5 ); return 0; }
Nie do końca rozumiem, co oznaczają te zapisy: void wypelnijTablice( int t[], int iRozmiar )
wypelnijTablice( moja_tablica, 5 );
Czy w tym przypadku moja_tablica w int main() odpowiada po prostu tablicy int t[] w void wypelnijtablice? |
|
carlosmay |
» 2016-07-02 18:55:22 Sleep na końcu, bo jak nie ma to program sam się od razu zamyka |
To wybierz dobre środowisko, które potrafi zatrzymać konsolę przed zamknięciem. Sumowanie elementów tablicy: constexpr int rozmiar = 999; int tablica[ rozmiar ];
int suma = 0; for( int i = 0; i < rozmiar; ++i ) { suma += tablica[ i ]; }
std::cout << suma << '\n';
|
|
KrayteR Temat założony przez niniejszego użytkownika |
» 2016-07-02 19:04:45 For, no właśnie, ten temat jest dalej, i chciałem ominąć ten sposób :3 |
|
carlosmay |
» 2016-07-02 19:23:15 For, no właśnie, ten temat jest dalej |
Zaprezentowałem sposób. Można użyć dowolnej pętli. Głównie chodzi o ciało pętli (cała idea sumowania). |
|
KrayteR Temat założony przez niniejszego użytkownika |
» 2016-07-02 19:40:06 Rozumiem. Ja zastosowałem pętle do...while, nie wiem tylko czy w dobry sposób, głownie chodzi mi o sprawdzenie, czy nie popełniłem jakichś błędów. Trochę niezrozumiale pisze, przepraszam :| |
|
carlosmay |
» 2016-07-02 21:30:45 ilerazy = 0; int ilerazy1 = 1; int kolejna = 0; do { kolejna = kolejna + liczba[ ilerazy ] + liczba[ ilerazy1 ]; ilerazy++; ilerazy++; ilerazy1++; ilerazy1++; } while( ilerazy1 < 999 );
Wyjaśnij co tutaj chcesz zrobić. |
|
« 1 » |