Co wydrukuje program z języka C?

Człowiek przez całe życie przecież się uczy !

Co wydrukuje program z języka C?

Postprzez raval » 2006-11-26, 18:17:25

Co wydrukuje program. Chodzi mi oto jak do tego dojść przy użyciu kartki i długopisu. Tylko mam jeszcze jedną prośbę aby wytłumaczyć mi to krok po kroku.
Wielkie dzieki!!!!
#include <stdio.h>
int main ()
{
int x,y ;
x=4;
y=16;
while (x<y)
{
printf ("X: %d, Y: %d\n", x, y);
switch (x%3)
{
case 0:
x=2*x-1;
break;
case 1:
x--;
y--;
break ;
case 2:
x++;
break;
}
}
return 0;
}
Avatar użytkownika
ravalNone specified
Podglądacz
Podglądacz
 
Posty: 3
Dołączył(a): 2006-11-26, 18:13:11
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez BlueMan » 2006-11-26, 18:54:48

Na ekranie pojawi się:

X: 4, Y: 16
X: 3, Y: 15
X: 5, Y: 15
X: 6, Y: 15
X: 11, Y: 15
X: 12, Y: 15


Której linijki nie rozumiesz ?
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19108
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Co wydrukuje program z języka C?

Postprzez raval » 2006-11-26, 19:53:06

wielkie dzięki ze odpowiedziałeś!!!
napisz mi jak do tego doszedłeś
co to znaczy case 0: case 1: x--; y--;
Avatar użytkownika
ravalNone specified
Podglądacz
Podglądacz
 
Posty: 3
Dołączył(a): 2006-11-26, 18:13:11
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez BlueMan » 2006-11-26, 20:01:19

raval napisał(a):napisz mi jak do tego doszedłeś
Uruchomiłem ten program po prostu :D

raval napisał(a):case 0: case 1: x--; y--;

case odnosi się do tego, co jest argumentem w switch() a tam mamy switch(x%3) czyli x%3 daje nam reszte z dzielenia x przez 3, i zaogrągla to do całości. I w zależności jaka wyjdzie reszta, to ten wybór case się wywoła

x-- i y-- to jest to samo co x=x-1 i y=y-1
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19108
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Co wydrukuje program z języka C?

Postprzez raval » 2006-11-27, 16:00:11

dzięki za odp.
Avatar użytkownika
ravalNone specified
Podglądacz
Podglądacz
 
Posty: 3
Dołączył(a): 2006-11-26, 18:13:11
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez thalcave » 2006-11-27, 23:01:46

BlueMan napisał(a):i zaogrągla to do całości

x i y są całkowite. Jakim cudem reszta miała by być ułamkiem?
"It's great to be here. It's great to be anywhere"
Keith Richards
Avatar użytkownika
thalcaveNone specified
Weteran
Weteran
 
Posty: 4328
Dołączył(a): 2005-12-28, 20:02:55
Lokalizacja: odległa galaktyka
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez BlueMan » 2006-11-27, 23:07:27

raval napisał(a):int x,y ;
x=4;
raval napisał(a):switch (x%3)


thalcave, no to thalcave - matematyka się kłania

Co da wynik 4/3 ?? = 1,3333 ? a %3 to jest właśnie dzielenie przez 3 z zaokrąglaniem do całości :D
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19108
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Co wydrukuje program z języka C?

Postprzez thalcave » 2006-11-27, 23:49:44

BlueMan napisał(a):Co da wynik 4/3 ?? = 1,3333 ? a %3 to jest właśnie dzielenie przez 3 z zaokrąglaniem do całości :D

czyli 101/5=20.2 czyli 101%5 = 20, tak?
101%5=1 bo 5*20 +1 =101 - to tak jak uczyli na początku podstawówki

[ Dodano: 2006-11-27, 22:50 ]
+ dodawanie
- odejmowanie
* mnożenie
/ dzielenie
% modulo - daje reszte z dzielenia
"It's great to be here. It's great to be anywhere"
Keith Richards
Avatar użytkownika
thalcaveNone specified
Weteran
Weteran
 
Posty: 4328
Dołączył(a): 2005-12-28, 20:02:55
Lokalizacja: odległa galaktyka
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez Meth » 2006-11-28, 00:29:30

Thalcave ma rację - % to symbol modulo. Dzielenie całkowite (zaokrąglanie do całości ;)) występuje, gdy dzielimy przez siebie liczby całkowite, ewentualnie jak się zrobi rzutowanie typów. W przypadku opisanym na górze występuje operator reszty - dzielenia w ogóle tam nie ma.
Meth.
Avatar użytkownika
MethNone specified
BOSSu
BOSSu
 
Posty: 824
Dołączył(a): 2004-10-31, 13:22:13
Lokalizacja: z Daleka
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Co wydrukuje program z języka C?

Postprzez BlueMan » 2006-11-28, 00:50:28

Przyznaję honor :zawstydzony:
Jakoś pomerdało mi się to po prostu... wiedziałem, że modulto to wynik reszty z dzielenia. Ale jakoś słowa przelewałem na klawiaturę inaczej :pudlo:
Przepraszam !!
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19108
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon


  • Inne

Powrót do Szkoła, nauka

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 173 gości

cron