sector Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 (edytowane) poniewaz w szkole dopiero zaczynam jezyk C a wczesniej mialem delphi mam maly problem. ( odrazu zaznaczam ze nie chce zeby ktos za mnie zrobil zadanie !!!) mam do zrobienia zadanie ze wczytyje z klawiatury 3 liczby typu double i potem za pomoca if lub if-else wyznaczam najmniejsza liczbe. program kompiluje sie i dopuki jest typ double to program pokazuje zawsze ze liczba najmniejsza to liczba A ! natomiast jesli zmienie na integer to program smiga jak zloto. w sumie nie wiem czemu :-P ten sam program napisany "tak samo" (te same warunki) w delphi smiga i wyniki zawsze sa dobre. wiec moje pytanie co jest zle ? moze mi ktos pomoc? normalnie zapytalbym wykladowcy ale wiecej czasu go nie ma niz jest :-P #include <stdio.h>#include <conio.h>#include <math.h> using namespace std;int main(){ int a,b,c,d;printf("Zadanie nr. 10 (b)\n");printf("Podaj A:\n");scanf("%d",&a);printf("Podaj B: \n");scanf("%d",&b);printf("Podaj C: \n");scanf("%d",&c);if (a < b){ if (a < c) printf("najmniejsza %d",a); else printf("najmniejsza %d",c); } if (b < a){ if (b < c) printf("najmniejsza %d",b); else printf("najmniejsza %d",c); } getch();} chodzi oto ze z typem double to nie dziala ale jesli zmienie to na integer to smiga jak zloto :-P aha moze to tez wazne bo nie wiem, uzywam programu dev-cpp Edytowane 5 Października 2005 przez sector Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 (edytowane) %d w stdio (printf scanf itd) to DECIMAL a nie DOUBLE masz 2 rozwiazania: 1. uzywaj floatow i %f 2. uzywaj double i %.16f Edytowane 5 Października 2005 przez Nargil Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sector Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 %d w stdio (printf scanf itd) to DECIMAL a nie DOUBLE masz 2 rozwiazania: 1. uzywaj floatow i %f 2. uzywaj double i %.16f 1683921[/snapback] probowalem uzyc tego %.16f ale program sie wysypuje jakies liczby wyskakuja nie wiadomo skad i moge wpisac tylko dana "a". nie moge uzywac floatow bo mam konkretnie uzyc typu double. jesli uzyje typu int to program smiga jak zloto i wlasnie nie wiem co sie dzieje :-P tutaj masz tresc Wczytać z klawiatury 3 zmienne typu double. Wyznaczyć liczbę minimalną stosując: a) tylko operator warunkowy (?). B) tylko instrukcje warunkowe (if lub if-else potem juz sobie pogradze z tym "?" bo to nie jest trudne ale nie wiem czemu akurat typ double mi nie dziala :-P a integer smiga. cyrk istny Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
CiCi Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 Do wczytywania typu double zawsze używałem %lf (long float?). %d używa się tylko do liczb całkowitych więc w tym jest problem. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sector Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 dzieki dziala! :-) big thx Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Nargil Opublikowano 5 Października 2005 Zgłoś Opublikowano 5 Października 2005 (edytowane) fakt do wczytania lepiej uzywac %lf , a do wyswietlania %.#f gdzie #to liczba okreslajaca ilosc liczb po przecinku Edytowane 5 Października 2005 przez Nargil Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
sector Opublikowano 10 Października 2005 Zgłoś Opublikowano 10 Października 2005 teraz to juz wszystko wiem bo juz po 2gim wykloadzie ! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...