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

funkcja "for" nie dziala w ogole - podstawy

Object Storage Arubacloud
0 głosów
552 wizyt
pytanie zadane 19 lipca 2015 w C i C++ przez Mir000 Nowicjusz (160 p.)
witam,

zaczalem uczyc sie C++ lecz niestety w takcie 3 lekcji utknalem... najgorsze jest to ze nie wiem dlaczego

http://zapodaj.net/41fdf08539968.jpg.html

Przykladowy-podstawowy kod dla "for" ktory nie dziala no i reakcja po nacisnieciu f9

Moze mi ktos napisac co jest nie tak?

6 odpowiedzi

+2 głosów
odpowiedź 19 lipca 2015 przez tede774 Bywalec (2,650 p.)
edycja 19 lipca 2015 przez tede774

Na pierwszym miejscu podajesz wartość początkową, natomiast w środkowym miejscu podajesz warunek. Pętla wykonuje się tylko wtedy kiedy warunek jest spełniony. Podajesz, że i=15, a w warunku masz podany operator przypisania zamiast porównania, czyli zamiast i=0 powinno być i==0 (w tym przykładzie prawidłowym będzie i>=0 jeżeli chcesz by wyświetlało liczby po kolei). Jedno "równa się" zmienia wartość zmiennej, a dwa sprawdza czy te wartości są sobie równe. Jakbyś chciał wyświetlić i poza pętlą to będzie i=0, ale chyba nie zadziała, ponieważ zasięg zmiennej i obejmuje tylko do tej pętli... Musiałbyś stworzyć zmienną "i" przed pętlą i wywołać ją po pętli... To jakbyś chciał sobie sprawdzić działanie, ale nie musisz.

Działający kod (w przypadku wypisywania liczb po kolei):

int main()

{

   for(int i=15; i>=0; i--)

    {

      cout<<i<<" ";

     }

}

Kod do testu:

int main()

{

   int i;

   for(i=15; i=0; i--)

   {

      cout<<i<<" ";

   }

   cout<<i;

}

W tym przykładzie wyświetli tylko jedno "i". Właśnie to za pętlą. Jeśli się nie mylę będzie to i=0 lub i =-1. Bardziej prawdopodobna wydaje mi się ta pierwsza opcja, ponieważ kiedy warunek jest niespełniony pomijana jest dekrementacja.

komentarz 19 lipca 2015 przez tede774 Bywalec (2,650 p.)
Może mi ktoś wyjaśnić za co minus? lol
komentarz 19 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)
Też się dziwię. Człowiek ładnie tłumaczy, a tu minus (?). Jeśli ktoś napiszę dobrą odpowiedź, to nie znaczy, że resztę trzeba minusować...

Czasami można się spotkać z takimi praktykami, ze kilka osób napisze odpowiedź. Wsyzystkie poprawne. I jedna osoba zminusuje wszystkie pozostałe, aby jego była na górze... sam byłem w takiej sytuacji. Gdy zerknąłem na profil tego użytkownika, który zminusował wszystkich zobaczyłem, że wystawił na tym forum ponad 70 łapek w dół i 4 w górę i to Panowi Zelentowi......

Dam plusa, aby Ci wyzerować.
komentarz 19 lipca 2015 przez tede774 Bywalec (2,650 p.)
Ajć... Sorry... Jest błąd... Już poprawiam ;)
komentarz 19 lipca 2015 przez tede774 Bywalec (2,650 p.)
ok. Teraz jest w porządku powiedzmy. Ogólnie zdenerwowało mnie to, że zamiast wyjaśniać co mam nie tak to mi tylko minusa wstawił.
komentarz 20 lipca 2015 przez Mieszko I Stary wyjadacz (10,980 p.)
Jaki ma nick ten user?
+1 głos
odpowiedź 19 lipca 2015 przez Boshi VIP (100,240 p.)
Zły warunek. <=0
komentarz 19 lipca 2015 przez Mir000 Nowicjusz (160 p.)
dzieki. patrzylem na to kilka razy i w dalszym ciagu nie widzialem ze przeoczylem ten znak.

tak na marginesie to ma byc >=0 gdyz <=0 nie daje efektu
komentarz 19 lipca 2015 przez makoso Mądrala (7,380 p.)
ew zadziałałoby i==0? moja odpowiedź do kosza :)
komentarz 19 lipca 2015 przez Mir000 Nowicjusz (160 p.)
tylko i wylacznie i>=0 dziala, po i==0 nic sie nie dzieje. ok przechodze do dalszej nauki ;D
komentarz 19 lipca 2015 przez Boshi VIP (100,240 p.)
Tak ma być >= z rozmachu napisałem odwrotny warunek.
+1 głos
odpowiedź 19 lipca 2015 przez Sebastian Fojcik Nałogowiec (43,040 p.)

Dopiero zaczynasz, ale moja przyjacielska uwaga do Ciebie.

for() - to pętla, nie funkcja
main() - funkcja

I na przyszłość:

if(warunek) - instrukcja warunkowa
warunek ? wartosc1 : wartosc2 - to całe, to wyrażenie warunkowe

i tak nabierzesz wprawy, ale jeśli będziesz w przyszłości o coś pytał, to albo pisz, że dopiero zaczynasz, albo nazywaj rzeczy po imieniu. Żeby Ci zaraz jakieś trolle nie wytykały.
Ja nie wytykam, to tylko przyjacielska rada :-)

komentarz 20 lipca 2015 przez Mir000 Nowicjusz (160 p.)
rozumiem no i jak widac to moje drugie slowo to to iz zaczynam :)

ale dzieki za rade, kazda sie przyda no i tak na marginesie to nie wiem poki co jak sie nazywa :)
0 głosów
odpowiedź 19 lipca 2015 przez Dorion300 Szeryf (90,250 p.)
edycja 19 lipca 2015 przez Dorion300
Edit: powinno być w for dwa razy >= a nie jeden.
komentarz 19 lipca 2015 przez Wiktor Stary wyjadacz (11,120 p.)

Nie pisz bzdur, a jeżeli nie jesteś czegoś pewien to to zaznacz. To tylko tak na przyszłość.

Pozdrawiam. smiley

komentarz 19 lipca 2015 przez Dorion300 Szeryf (90,250 p.)
A boże ale chamsko się pomyliłem, dzieki za info.

już poprawiłem i przepraszam za ten bład.
komentarz 19 lipca 2015 przez Wiktor Stary wyjadacz (11,120 p.)

Dlatego napisałem, że na przyszłość. Także luz. smiley

0 głosów
odpowiedź 21 lipca 2015 przez Dorian Bajorek Dyskutant (7,920 p.)
Myślę że nie będę odpowiadał już na to pytanie ale sam nie dawno zaczynałem zabawe z programowaniem,miałem problemy ale zaczełem robić sobie notatki z każdej lekcji .Polecam zrobić to także tobie .Jeżeli chcesz moje notatki napisz priv.Pozdrawiam :)
–2 głosów
odpowiedź 19 lipca 2015 przez makoso Mądrala (7,380 p.)
nie widać kodu.
komentarz 19 lipca 2015 przez Mir000 Nowicjusz (160 p.)
juz poprawilem
komentarz 19 lipca 2015 przez makoso Mądrala (7,380 p.)

ja się w c++ bawiłem może jeden dzień ale albo mi się wydaje albo powinieneś sobie zdefiniować to jakoś tak:
 

int i;
int main()
{
   for(i=15; i=0; i--) 
    {
      wykonanie
     }
}

tylko ja prewien nie jestem :)

komentarz 19 lipca 2015 przez Boshi VIP (100,240 p.)
Poducz się podstaw.
komentarz 20 lipca 2015 przez makoso Mądrala (7,380 p.)
drobna wpadka :)

Podobne pytania

0 głosów
2 odpowiedzi 989 wizyt
pytanie zadane 9 lutego 2017 w C i C++ przez rejuspl Nowicjusz (210 p.)
–2 głosów
3 odpowiedzi 520 wizyt
pytanie zadane 4 czerwca 2017 w C i C++ przez Andrzej Sojka Użytkownik (510 p.)

92,595 zapytań

141,444 odpowiedzi

319,716 komentarzy

61,980 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!

...