Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 18] Praca Domowa

Ostatnio zmodyfikowano 2013-06-09 09:35
Autor Wiadomość
arszonto
Temat założony przez niniejszego użytkownika
[Lekcja 18] Praca Domowa
» 2013-06-08 19:09:17
Witam, otóż udało mi się wykonać pracę domową z lekcji 18 drugiego poziomu kursu c++. Przedstawia się ona tak:
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand( time( NULL ) );
    int licznik = 0;
    int liczby[ 999 ];
    int wynik = 0;
    do
    {
        liczby[ licznik ] =(( rand() % 7 ) + 4 );
        wynik = wynik + liczby[ licznik ];
        cout << liczby[ licznik ] << ", ";
        licznik++;
    } while( licznik < 999 );
   
    cout << "\nSuma: " << wynik;
}
Po przejrzeniu forum zauważyłem, że moja wersja jest najkrótsza, jaką znalazłem. Zaintrygował mnie jednak wpis w kolejnej lekcji:

Jeżeli starałeś się intensywnie wcielić w życie plan pisania kodu wykonanego w oparciu o funkcje to z pewnością natrafiłeś na czynny opór kompilatora w chwili gdy chciałeś przekazać tablicę do funkcji. Być może doszedłeś do jednego z możliwych rozwiązań, tj. sposobie przekazywania tablicy jako argument do funkcji bądź znów ktoś podsunął Ci niezbyt trafiony pomysł ze zmiennymi globalnymi.[...] Jeżeli wykazałeś się kreatywnością rozwiązując zadanie z poprzedniego rozdziału to prawdopodobnie wystąpił w nim zapis, który występuje w funkcji

Z fragmentu "jeżeli wykazałeś się kreatywnością", wnioskuję, że przy pomocy funkcji dało się lepiej rozwiązać to zadanie. Dlatego zwracam się do was z prośbą.Czy ktoś mógłby mi pokazać takowe rozwiązanie?


P-85191
pekfos
» 2013-06-08 19:15:14
Już wykazałeś się kreatywnością, bo użyłeś jednej pętli, a zadanie mówiło o dwóch:
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.
P-85192
seprob
» 2013-06-09 07:39:41
C/C++
#include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;

int main() {
    unsigned int minimum = 4;
    unsigned int maximum = 10;
    unsigned int amount = 0;
    int table[ 999 ];
   
    srand( time( NULL ) ); // Inicjalizacja generatora liczb pseudolosowych
   
    for( int iterator = 0; iterator < 999; iterator++ ) {
        table[ iterator ] =( minimum + int(( maximum - minimum + 1 ) * rand() /( RAND_MAX + 1.0 ) ) ); // Losowanie liczby z zadanego przedziału
       
        cout << table[ iterator ] << endl;
    }
   
    for( int iterator = 0; iterator < 999; iterator++ )
         amount += table[ iterator ];
   
    cout << "Suma = " << amount << "." << endl;
   
    system( "pause" );
}
P-85230
arszonto
Temat założony przez niniejszego użytkownika
» 2013-06-09 09:35:44
Wszystko fajnie, ale idę wraz z kursem i jeszcze nie doszedłem do wielu elementów których użyłeś. Nie mniej, dzięki za pomoc. Myślę, że można zamknąć temat.
P-85233
« 1 »
  Strona 1 z 1