• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekazywanie tablic jednowymiarowych do funkcji

Object Storage Arubacloud
+1 głos
397 wizyt
pytanie zadane 18 czerwca 2015 w C i C++ przez szymonn7 Początkujący (350 p.)
Mógłby mi ktoś w skrócie przedstawić działanie tego 'programu' od linijki nr 34?

http://pastebin.com/iMZ2KJrL

Wydaje sie to strasznie zagmatwane i nie jest mi do konca zrozumiale :/

2 odpowiedzi

+1 głos
odpowiedź 22 czerwca 2015 przez Michał Kołodziejski Użytkownik (520 p.)
edycja 22 czerwca 2015 przez Michał Kołodziejski

 34:  liczbaElementow = dopisz( 123, tablicaLiczb, liczbaElementow );

Wywołana zostaje funkcja dopisz, która zwraca liczbę elementów tablicy zwiększoną o jeden. Funkcja dopisz dodaje do tablicy (określoną parametrem drugim) liczbę (parametr pierwszy) oraz aktualną liczbę elementów tablicy (parametr trzeci).

Funkcja wyświetl, wyświetla zawartość tablicy od pierwszego elementu [0] do liczbyElementow. Na początku sprawdza, czy przekazana liczba elementów nie jest mniejsza lub równa 0, co oznaczałoby, że nie ma żadnego elementu w tablicy. Następnie deklaruje zmienną i = 0 i rozpoczyna wykonywanie pętli do...while, która wykonuje się do momentu aż i < ile. std::cout<<std::endl; jest znakiem końca linii i oznacza przejście do następnej linijki w konsoli. 

 

P.S.

Zamiast pętli do... while, zgrabniejszym rozwiązaniem, będzie sama pętla

while(i<ile){
        std::cout << tablica[ i ] << ", ";
        i++;
}

 

komentarz 22 czerwca 2015 przez draghan VIP (106,230 p.)

PS

Zamiast pętli while() zgrabniejszym rozwiązaniem będzie pętla for:

for(int i = 0; i < ile; ++i)
   std::cout << tablica[ i ] << ", ";

Masz wszystkie instrukcje sterujące pętlą w jednej linii, co dla iteracji po tablicach jest bardzo wygodne. ;)

komentarz 22 czerwca 2015 przez Michał Kołodziejski Użytkownik (520 p.)
Oczywiście, że for jest najwygodniejsze, jednak kod źródłowy podawał do..while'a, więc starałem się nie zmieniać go drastycznie ;)
0 głosów
odpowiedź 19 czerwca 2015 przez Axotion Obywatel (1,000 p.)
Czego dokładnie nie rozumiesz?

Ktoś przesyła parametry, operuje na nich i zwraca wynik do liczbaElementow (w 1 przypadku zwróci 1, w drugim 2 itd bo to niezbędne z tego co widzę by zapisywać po kolei do tej tablicy)
komentarz 19 czerwca 2015 przez szymonn7 Początkujący (350 p.)
Dokladnie nie rozumiem tego, na jakiej zasadzie funkcja wyswietla to co wyswietla...

Co np. oznacza std::cout << std::endl; ? Co wychodzi? Bo nie lapie..
komentarz 20 czerwca 2015 przez szymonn7 Początkujący (350 p.)
hmmm? nic? :(
komentarz 22 czerwca 2015 przez Surykat Stary wyjadacz (14,780 p.)
std::cout << std::endl; 

Oznacza to dodanie znaku nowej linii. Natomiast zauważ, że na początku nie dodano instrukcji:

using namespace std;

A strumień wyjścia cout należy do tej przestrzeni, tak samo jak znak nowej lini endl. Dlatego, przed obojgiem, trzeba było dopisać std::  aby kompilator wiedział, gdzie się ma odwołać.

Podobne pytania

–2 głosów
5 odpowiedzi 486 wizyt
pytanie zadane 18 czerwca 2015 w C i C++ przez szymonn7 Początkujący (350 p.)
0 głosów
2 odpowiedzi 614 wizyt
pytanie zadane 17 czerwca 2015 w C i C++ przez szymonn7 Początkujący (350 p.)
0 głosów
2 odpowiedzi 896 wizyt
pytanie zadane 1 października 2017 w C i C++ przez qlucha Obywatel (1,790 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...