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

Tablice jednowymiarowe - zadanie domowe

Ostatnio zmodyfikowano 2017-07-30 21:59
Autor Wiadomość
rav89lodz
Temat założony przez niniejszego użytkownika
Tablice jednowymiarowe - zadanie domowe
» 2017-07-30 12:54:07
Dzień dobry,
do pracy domowej z rozdziału 18. napisałem taki kod


#include <iostream>
#include<cstdlib>
#include<time.h>


using namespace std;

int main()
{
    int tab[100];
    int x=0;
    int i=0;

    srand(time(NULL));
    tab[x]=(rand()%7)+4;

    do{

    x++; i++;
    cout<<"Nr liczby: "<<i<<". Wylosowana liczba to: "<<tab[x]<<endl;
    }while (x<100);

    int suma=0;
    x=0;
    do
    {
    suma=suma + tab[x];
    x++;

    }while (x<100);

    cout<<"Suma to: "<<suma;
    return 0;
}



dlaczego losuje mi jakieś liczby z kosmosu (np. 2002989884), a nie z zadanego przedziału? No chyba, że mam jakieś problemy z komputerem i u Was będzie działało dobrze :P
P-163714
Kinexity
» 2017-07-30 12:59:47
Nie działa prawidłowo i nie będzie, ponieważ losujesz liczbę tylko dla elementu tablicy o indeksie 0, a potem go nawet nie wyświetlasz.

C/C++
#include <iostream>
#include<cstdlib>
#include<time.h>
using namespace std;

int main() {
    const int rozmiar = 100;
    int tab[ rozmiar ], suma = 0;
    srand( time( NULL ) );
    for( int x = 0; x < rozmiar; x++ ) {
        cout << "Nr liczby: " << x << ". Wylosowana liczba to: " <<( tab[ x ] =( rand() % 7 ) + 4 ) << endl;
        suma += tab[ x ];
    }
    cout << "Suma to: " << suma << endl;
    return 0;
}
P-163715
rav89lodz
Temat założony przez niniejszego użytkownika
» 2017-07-30 13:40:53
Poprawiłem i działa, dziękuję :)


#include <iostream>
#include<cstdlib>
#include<time.h>


using namespace std;

int main()
{
    int tab[100];
    int x=0;
    int suma=0;
    srand(time(NULL));

    do{
    cout<<(tab[x] = (rand()%7) +4)<<endl;
    x++;

    }while (x<100);

    x=0; // tutaj zeruję licznik w tablicy bo był zapisany jako wartość 100 po inkrementacji?
    do{

    suma=suma +tab[x];
    x++;
    }while (x<100);
    cout<<"Suma to: "<<suma;

    return 0;
}

i jeszcze taki małe pytanko w opisie, czy jest tak jak napisałem?
P-163717
Kinexity
» 2017-07-30 16:00:42
Odp: tak.

I tak w ogóle - to:

C/C++
cout <<( tab[ x ] =( rand() % 7 ) + 4 ) << endl;
x++;

można skrócić do takiej postaci:

cout <<( tab[ x++ ] =( rand() % 7 ) + 4 ) << endl;
P-163718
karambaHZP
» 2017-07-30 18:33:49
Po co skracać i pisać linijki, w nad którymi trzeba się chwilę wgryźć i zastanowić co robi,
zamiast zostawić każdą akcję w osobnej czytelnej linijce?
P-163719
Kinexity
» 2017-07-30 18:40:03
Ja tam wolę mieć wszystko w jak najmniejszej liczbie linii - to pozwala mi mieć więcej operacji na mniejszej powierzchni ekranu, który nie ma potwornego rozmiaru (15,6 cala).
P-163720
karambaHZP
» 2017-07-30 19:51:18
to pozwala mi mieć więcej operacji na mniejszej powierzchni ekranu,
Po to są funkcje. Można napisać jedną na góra pięć linijek i też będzie czytelnie ;)
Osobiście wolę każdą operację mieć w osobnej linii (wyjątkiem jest postinkrementacja tab[i++], której też staram się tak nie używać).

Kwestia gustu :P
P-163721
rav89lodz
Temat założony przez niniejszego użytkownika
» 2017-07-30 21:59:26
Dziękuję za pomoc i wyjaśnienia :)
P-163722
« 1 »
  Strona 1 z 1