Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
daromanchester
Przyjaciel Forum
Przyjaciel Forum
Posty: 2300
Rejestracja: 02 maja 2009, 12:48
Lokalizacja: Manchester
Kontakt:

Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: daromanchester » 01 cze 2011, 20:17

Postanowiłem założyć temat żeby za każdym razem zadając proste pytanie w tym dziale nie trzeba było zakładać nowego topica.
Potem one lądują w koszu lub czasówkach i rozwiązania przepadają.

Przypominam tez że zanim zadasz pytanie użyj funkcji szukaj żeby nie zadawać pytania po raz n-ty.

Pozdrawiam i zapraszam do zadawania pytań.
Darek
"Ekspert to taki człowiek, który popełnił wszystkie możliwe błędy w bardzo wąskiej dziedzinie" - Niels Bohr
"Każdy głupi może wiedzieć. Sedno to zrozumieć" - Albert Einstein

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31
Lokalizacja: Litwini wracają?

Nieprzeczytany post autor: siersciuch » 01 cze 2011, 20:34

Czy pętla for może zwracać wartość po zakończeniu? czy działa jak warunek if? ze na bieżąco wartości zmiennych wyższego rzędu są modyfikowane?
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

Awatar użytkownika
Tymek
Pasjonat
Pasjonat
Posty: 648
Rejestracja: 20 mar 2006, 13:39
Lokalizacja: Daleko od tego co złe
Kontakt:

Nieprzeczytany post autor: Tymek » 01 cze 2011, 20:36

siersciuch Nie myślałeś kiedyś o przeczytaniu książki o podstawach C++ ?
Twoje pytania są naprawdę ...... hmmmm ... zaskakujące ;)
Śledzę twoje pytania od dłuższego czasu i takiego podejścia do programowania
dawno nie widziałem.
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego ;)

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31
Lokalizacja: Litwini wracają?

Nieprzeczytany post autor: siersciuch » 01 cze 2011, 20:39

hmmm czytałem, ale nie pamietam, no widze, ze moze, ale dopiero ją zwróci jak cała pętla zostanie wykonana? i drugie pytanie, czy działa jak warunek if? ze na bieżąco wartości zmiennych wyższego rzędu są modyfikowane?

a tak pozatym "Wszystkie pytytania dozwolone początkujących programistów" :D
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

Awatar użytkownika
Tymek
Pasjonat
Pasjonat
Posty: 648
Rejestracja: 20 mar 2006, 13:39
Lokalizacja: Daleko od tego co złe
Kontakt:

Nieprzeczytany post autor: Tymek » 01 cze 2011, 20:59

Masz naprawdę specyficzne podejście, strasznie nie informatyczne, więc
będzie bardzo trudno podążać za twoim tokiem rozumowania.
Łatwiej jak powiesz jaki masz problem i przykład kodu. Wtedy łatwiej
jest komuś wyjaśnić.

for(kod1;warunek;kod3)
{
kod pętli
}


Po natrafieniu na taką składnię zaczyna się wykonywanie kodu "kod1". Tylko
raz na samym początku. Potem wykonywany jest kod "warunek" i jego wartość
zamieniana jest na wartość bool. I jak jest prawda to wykonuje się kod "kod pętli"
Po wykonaniu kodu "kod pętli" wykonywany jest kod "kod3". A następnie
kod "Warunek" i tak jak poprzednio jak true to "kod pętli"

I tak to wygląda.
Ostatnio zmieniony 01 cze 2011, 21:06 przez Tymek, łącznie zmieniany 1 raz.
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego ;)

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31
Lokalizacja: Litwini wracają?

Nieprzeczytany post autor: siersciuch » 01 cze 2011, 21:04

Kod: Zaznacz cały

for(i=1;i<51;i++)
{
   suma = tablica[i] + tablica[i]+i;
}

double suma
kce żeby pętla policzyła mi sumę wszystkich argumentów i po wyliczeniu miał wartość tego obliczenia, trzeba dawać retrun? zeby for mi zwróciło po wszystkim wartość, czy poprostu jak mam ponizej pętli 'suma' to wartosc z petli zostanie tam przekazana po zakończeniu jej?!
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

Awatar użytkownika
Tymek
Pasjonat
Pasjonat
Posty: 648
Rejestracja: 20 mar 2006, 13:39
Lokalizacja: Daleko od tego co złe
Kontakt:

Nieprzeczytany post autor: Tymek » 01 cze 2011, 21:09

double suma; musi być przed pętlą, wtedy wartość tej zmiennej będzie widoczna
po pętli.
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego ;)

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31
Lokalizacja: Litwini wracają?

Nieprzeczytany post autor: siersciuch » 01 cze 2011, 21:10

no mam ją juz wyzej zdefiniowaną, no pod petla jest bez double normalnie wkodzie, ale dalej mi chodzi ooooo czy poprostu jak mam ponizej pętli 'suma' to wartosc z petli zostanie tam przekazana po zakończeniu jej?!
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

Awatar użytkownika
Tymek
Pasjonat
Pasjonat
Posty: 648
Rejestracja: 20 mar 2006, 13:39
Lokalizacja: Daleko od tego co złe
Kontakt:

Nieprzeczytany post autor: Tymek » 01 cze 2011, 21:18

po pętli możesz zrobić np. to:
double dupa = suma + (sierciuch*20);
lub bez deklaracji zmiennej o ile miałeś ją wcześniej zapowiedzianą ;)
Każdy chce mieć pieniądze, ale pieniądze nie zawsze chcą każdego ;)

LowcaG
Pasjonat
Pasjonat
Posty: 1014
Rejestracja: 05 paź 2007, 15:39
Lokalizacja: Południe

Nieprzeczytany post autor: LowcaG » 02 cze 2011, 09:51

hm..co to ma robic? Liczyc sume elementow tablicy?

Kod: Zaznacz cały

for(i=1;i<51;i++) 
{ 
   suma = tablica[i] + tablica[i]+i; 
} 

double suma
Napisze Ci tak.
Masz 2 rozwiazania.
1. Bez zadnych returnow itd. czyli wpisujesz Twojego fora(no nie do konca Twojego, bo Twoj jest bledny) po prostu w kodzie.
2. Mozesz napisac funkcje ktora bedzie Ci sumowala cala (dowolna) tablice i zwracala wynik.

Pomine pkt. pierwszy, bo jestem przeciwnikiem ladowania wszystkiego do funkcji start() jak to duza czesc robi.

wiec zaczynamy...(jak dla poczatkujacych do od podstaw)
1. musimy stworzyc cialo funkcji i w ktorym deifniujemy co ma byc na wejsciu a co na wyjsciu. My na wejsciu chcemy podac tablice jednowymiarow typu Double a na wyjsciu sume.

Kod: Zaznacz cały

double sumujTablice(double tablica[]){
   //Tu bedzie kod.
}
2. Wiemy juz ze bedziemy sumowac ja "forem", nie wiemy ile tablica ma elementow, no ale nie problem sie dowiedziec ile ma od tego jest funkcja
"ArraySize". Mozemy od razu wrzucic to do "fora" , ale zeby bylo czytelniej napisze kroczek po kroczku...

Kod: Zaznacz cały

double sumujTablice(double tablica[]){
   double suma = 0; //do tej zmiennej bedziemy sumowac
   int rozmiarTablicy = ArraySize(tablica); //pobieramy rozmiar tablicy
   for(int i=0;i<rozmiarTablicy;i++){       //lecimy w petli po kazdym elemencie
      suma+= tablica[i]; //zwiekszamy wartosc sumy o wartosc kolejnego elementu tablicy
   }
   return(suma); //zwracamy sume
}
No i mamy funkcje, od teraz mozemy jej uzywac gdzie chcemy w funkcji start.

przykladowo:

Kod: Zaznacz cały

int start()
  {
//----
   double jakas_tablica[200];
   //tu ja wypelniamy  np. kwadrami kolejnych liczb
   for(int i=0;i<200;i++){
      jakas_tablica[i]=i*i;   
   }
   
   //a teraz obliczamy sume kwadratow liczba od 0(bez sensu;) ) do 199;
   
   double moja_suma = sumujTablice(jakas_tablica);
   Print("moj wynik:"+moja_suma);
//----
   return(0);
  }

ODPOWIEDZ