funkcja w C++

marcin9408
Użytkownik
Użytkownik
Posty: 29
Rejestracja: 24 paź 2010, o 14:37
Płeć: Mężczyzna
Podziękował: 10 razy

funkcja w C++

Post autor: marcin9408 »

Polecenie: Napisz funkcje, ktora zwraca minimum z dwoch liczb, i uzyj jej w programie,
ktory wylicza najmniejsza z 10 podanych liczb.

Kod: Zaznacz cały

#include <iostream>
#include <cstdio>
using namespace std;



int minimum(int a, int b)
{
    if(a<b) return a;
    else return b;
}
int main()
{
    int a,b;
    int ilosc,liczba;
    ilosc=10;
    while(ilosc>1)
    {
                  cout << "Podaj liczbe: ";
                  cin >> liczba;
                  ilosc--;
                  cout << minimum(a,b);
                  
}

system("PAUSE");
return 0;

}
Tyle zrobiłem ale nie działa poprawnie
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

funkcja w C++

Post autor: miki999 »

Proponuję nieco zmodyfikować.

Kod: Zaznacz cały

cout << "Podaj liczbe: ";
cin >> a;
while(ilosc>1)
    {
                  cout << "Podaj liczbe: ";
                  cin >> liczba;
                  a=minimum(a,liczba);
                  ilosc--;             
}
cout << a;
A teraz o co chodzi:
1. Najpierw poza pętlą wczytujemy jedną liczbę 'a'.
2. Wchodzimy do pętli:
2.1. Podajemy liczbę.
2.2. Zmiennej 'a' przypisujemy minimalną wartość spośród wcześniej podanej wartości 'a' oraz 'liczby'.
2.3. Zmniejszamy 'ilosc' i jedziemy od nowa pętelkę dla kolejnej liczby aż 'ilosc' nie będzie równa 1.
3. Wypisujemy najmniejsza spośród podanych.

(sprawdź czy wczytuje odpowiednią liczbę liczb)

Błąd u Ciebie:
- w pętli wprowadzasz zmienną 'liczba', natomiast argumentami funkcji są 'a' oraz 'b', których nie podajesz
- w każdym obiegu pętli masz napis

Przeanalizowałem jedynie algorytm a nie składnię języka, ponieważ dawno w C++ nie pisałem.


Pozdrawiam.
ODPOWIEDZ