Tablice wyjaśnienie kodu.

0

Czy mógłby ktoś wytłumaczyć mi poniższy kod bo nie umiem tego poprawnie zrozumieć. Ja poniższy kod rozumiem następująco, mam funkcję int sumujTablice która przyjmuje dwa argumenty, jednym argumentem jest tablica natomiast druga zmienna rozmiar która jest liczbą całkowitą. Następnie po otwarciu klamerek zadeklarowana jest zmienna suma która przyjmuje wartość 0. I teraz mamy pętlę której nie rozumiem bo pętla ma zacząć iterować od 0 ale przyjmuję warunek że i ma być mniejsze niż rozmiar a następnie ma zwiększać się w każdym kroku o 1 tyle tylko że zmienna int rozmiar nie jest zadeklarowana nie ma żadnej wartości a przynajmniej ja tak to widzę i dalej mamy że jeśli warunek pętli jest spełniony to mamy sumę która przyjmuje wartość 0 więc wygląda ona następująco 0 = 0 + wartosci[i]; a potem ma zwrócić sumę. I tu z tą pętlą mam największy problem zwyczajnie nie rozumiem jej działania. I potem mamy main mamy tam zadeklarowaną tablice o wielkości 10 czyli jej wartości są od 0 do 9 i potem znów mamy pętlę która zaczyna liczyć od 0 a jej warunkiem jest to że będzie się wykonywać jeśli i będzie mniejsze od 10 i ma się zwiększać w każdym kroku o 1. Jeżeli warunek pętli będzie spełniany to znów pojawia się część której nie rozumiem bo potem program ma wypisać podaj wartosc i pobrać od użytkownika i a następnie ma to zapisać do wartości tablicy tylko dlaczego ? Skoro tablica ma już swoje wartości tak ? Chyba że błędnie to pojmuje ja rozumiem to w ten sposób że tablica zaczyna się od 0 i kończy na 9 to w jakim celu użytkownik ma podawać jakieś wartości do tej tablicy ? Uczę się dopiero programowania i jestem też dopiero na rozdziale z tablicami i utknołem na tym przykładzie a nie chcę iśc dalej z materiałem jeśli nie rozumiem już tego kodu.
Prosił bym bardzo o takie jak najbardziej przejrzyste wytłumaczenie tego kodu jeśli jest możliwość.
I z góry bardzo dziękuję za pomoc.

#include <iostream>

using namespace std;

int sumujTablice (int wartosci[], int rozmiar)
{
int suma = 0
for ( int i = 0; i < rozmiar; i++ )
{
suma += wartosci[ i ];
}
return suma;
}

int main ()
{
int wartosci[ 10 ];
for ( int i = 0; i < 10; i++ )
{
cout << "Podaj wartosc " << i << ": ";
cin >> wartosci[ i ];
}
cout << sumujTablice ( wartosci, 10 ) << endl;
}

3

rozmiar jest przesyłany do funkcji, jako parametr, więc ma okreslona wartość; a pętla za każdym obiegiem powieksza zmienną, s o kolejny element tablicy, zaczynając od zerowego, (indeksujemy od zera). Materiałów w internecie tony, np.:
https://technobyte.org/for-loop-c-explanation-examples-tutorials/

2

... ale przyjmuję warunek że i ma być mniejsze niż rozmiar ... - pętla będzie wykonywana dopóki warunek jest spełniony
... tylko że zmienna int rozmiar nie jest zadeklarowana nie ma żadnej wartości ... - ... natomiast druga zmienna rozmiar która jest liczbą całkowitą ...
... więc wygląda ona następująco 0 = 0 + wartosci[i]; ... - nadaj nową wartość zmiennej suma = (wartość zmiennej suma z poprzedniego kroku) + wartosci[i]
... mamy tam zadeklarowaną tablice o wielkości 10 czyli jej wartości są od 0 do 9 ... - nie, ma indeksy 0..9 zaś wartości nie określone, czyli śmiecie jakieś
... mamy pętlę która zaczyna liczyć od 0 ... - nie, pętla sama w sobie niczego nie liczy
... a jej warunkiem jest to że będzie się wykonywać jeśli i będzie mniejsze od 10 ... - będzie wykonywana dopóki ...
... część której nie rozumiem bo potem program ma wypisać podaj wartosc i pobrać od użytkownika i a następnie ma to zapisać do wartości tablicy tylko dlaczego ? - aby nadać te wartości.

1 użytkowników online, w tym zalogowanych: 0, gości: 1