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

sprawdzenie liczb największej i najmniejszej sprawdzenie

Object Storage Arubacloud
0 głosów
226 wizyt
pytanie zadane 9 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

Witam 

Jestem na studiach informatycznych na pierwszym roku. Ostatnio na laboratoriach dostałem zadanie o treści:
Wczytuj liczby podane z klawiatury tak długo aż nie zostanie wprowadzone 0. Znajdź minimalną i maksymalną liczbę spośród wprowadzonych z klawiatury i wyświetl je.

Wymyśliłem sobie , że zrobie to zadanie tak:

zadeklaruje zmienną int a

zadeklaruje zmienną b

zadeklaruje zmienną max i min

odzczytam zmienną a do momętu aż wpisze zero 

przypisze te liczby do max i min jednocześnie

wprowadzę liczbę b

będe porównywał b z max i min 

Wykładowca podpowiedział mi żeby zrobić to za pomocą pętli do while.Napisałem następujący kod ale nie działa prawidłowo (jak podaje 0 dalej mogę podawać liczby w nieskończoność).Czy ktoś może mi wytłumaczyć co robię

źle i pomóc mi  to poprawić?.

Pozdrawiam

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a=0;
    int b;
    int max;
    int min;
    printf("Podaj liczbe: ");
    scanf("%d",&a);

    do
    {
        printf("Podaj liczbe: ");
        scanf("%d",&a);
        printf("Podaj 2 liczbe ");
        scanf("%d",&b);

    max=a;
    min=a;
    }
    while(a!=0);
    return (0);
}

 
 

komentarz 9 listopada 2017 przez Munvik Dyskutant (9,350 p.)
Że tak zapytam, po co zmienna b ? To nawet nie ma prawa działać poprawnie

2 odpowiedzi

0 głosów
odpowiedź 9 listopada 2017 przez Dexterim Dyskutant (8,370 p.)
Zauważ, że pętla do while zawsze wykona się chociaż raz. Nie musisz przed pętla dawać wczytywania zmiennej do a. Gdybyś dwa razy podał zero pętla by się zamknęła. Bo zauważ podajesz 0 a nastepnie znowu przypisujesz zmienna do a.

Warunek zostaje sparwdzony dopiero po wykonaniu bloku kodu w bloczku do
0 głosów
odpowiedź 9 listopada 2017 przez Munvik Dyskutant (9,350 p.)
Zmienna b jest nie potrzebna

Zobacz, przypisujesz za każdym razem a do max i min. Wpiszesz 30, max i min = 30, wpiszesz 123456 max i min = 123456. To raczej nie jest efekt, który chcesz uzyskać.

Podobne pytania

0 głosów
2 odpowiedzi 5,589 wizyt
0 głosów
2 odpowiedzi 208 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

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

...