Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem i pytanie biblijne[c++]


ciapsik11

Rekomendowane odpowiedzi

Opublikowano

#include <iostream>
using namespace std;
void tablica(int b[], int ile)
{
   int indeks = 0;
   if(indeks < ile)
do
{
   cout << b[indeks] << endl;
   indeks++;
}while (indeks < ile);
}

int sumuj_liczby(int c[], int ile)
{
   int oblicz = 0;
   int indeks = 0;
   if(indeks < ile)
   do
{
   oblicz += c[indeks];
   indeks++;
}while(indeks < ile);
}

int main()
{
   int a[5];
   a[0] = 5;
   a[1] = 3;
   a[2] = 76;
   a[3] = 54;
   a[4] = 22;
   tablica(a, 5);
   cout << "Suma liczb wynosi:" << sumuj_liczby(a, 5) << endl;
}

 

Mam oto ten kod i mam następujący problem gdyż jak się skomplikuje program, to suma liczb wynosi 0 i już niemam pomysłu co zrobić. ;/

Wiem ,że mogłem napisać to za pomocą pętli {for} ,ale o to chodzi aby bylo do.... while ;]

Teraz 2 pytanie. Czy za zmienne globalne pali się czarownice na stosie?

Opublikowano

Zapomniałeś zwrócić wartość w funkcji sumuj_liczby():

int sumuj_liczby(int c[], int ile)
{
       int oblicz = 0;
       int indeks = 0;
       if(indeks < ile)
       do
{
       oblicz += c[indeks];
       indeks++;
}while(indeks < ile);
       return oblicz; //<--------------
}

 

Nie ma większego znaczenia jakiej pętli użyjesz, for wcale nie musi być najlepszą ;)

YOU MUST DIE

- Ganon, Koridai

Opublikowano

Aha, dzięki nie zauważyłem ;/ fajnie by było jakby komplikator wywalał error jak się nic nie zwróci.

Wiem ,że for nie jest najlepszą ,ale w tym wypadku było by szybciej ;] z tą pętlą to jest moje zdanie ;p ,ale co ja tam wiem.

A do 2 pytania?

Opublikowano

powinien wywalać warninga

coś jak

...warning: no return statement in function returning non-void

jakiego kompilatora używasz?

ps.

KOMPILATOR

i

SKOMPILOWANY

Opublikowano

to przyjrzyj się dokładniej w logi w czasie trwania kompilacji (najlepiej daj samo build, bez run, bo przy uruchamianiu logi się resetują, przynajmniej w code::blocks)

Opublikowano

Kwestia ustawień.

Polecam zaznaczyć:

Settings > Compiler > Global Compiler Settings > Compiler Settings > Compiler Flags > Enable all compiler warnings. [-Wall]

 

Czy za zmienne globalne pali się czarownice na stosie?

Tak, chyba, że ma to sens.

Jeśli zmienna faktycznie jest używana na przestrzeni CAŁEJ aplikacji - wtedy powinna być globalna.

W przeciwnym razie, tworzymy ją w odpowiedniej funkcji, klasie lub namespace'ie.

Ta sygnatura jest pusta.

Opublikowano

Prędzej spalą cię na stosie za przekazanie wartości funkcji przez zmienną globalną :).

 

PS. W Biblii nie palono na stosie ;).

 

@DOWN: Ty chyba nigdy Bibli nie czytałeś! Albo jakąś sekciarską! :| Od kiedy to Jezus był spalony na stosie?


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...