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

Tablice jednowymiarowe - Praca domowa | Oraz, treść przykładu z Przekazywania tablic jednowymiarowych do funkcji

Ostatnio zmodyfikowano 2016-07-02 21:30
Autor Wiadomość
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:
C/C++
#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
C/C++
#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:

C/C++
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?
P-149614
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:
C/C++
constexpr int rozmiar = 999;
int tablica[ rozmiar ];

// tutaj wypełnienie tablicy

int suma = 0;
for( int i = 0; i < rozmiar; ++i ) {
    suma += tablica[ i ];
}

std::cout << suma << '\n';
P-149617
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
P-149619
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).
P-149623
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 :|
P-149624
carlosmay
» 2016-07-02 21:30:45
C/C++
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ć.
P-149628
« 1 »
  Strona 1 z 1