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

Minimum i maksimum - zadanko

Object Storage Arubacloud
0 głosów
1,032 wizyt
pytanie zadane 8 lutego 2017 w C i C++ przez cubus Początkujący (430 p.)

Siemka, postanowiłem zrobić sobie zadanko, które wczytuje od użytkownika pięć dowolnych liczb i ustala, która liczba jest najmniejsza, a która największa.Nie wiem czy dobrze je robię, ale gdy chcę skompilować to wyskakuje mi taki błąd: "reference to 'min'  is ambiguous" i to samo dotyczy max. Nie wiem jak ten błąd rozwiązać.

O to kod: 

#include <iostream>
#include <cstdlib>

using namespace std;

int liczba;
int min;
int max;
min=liczba;
max=liczba;
int main()
{
    cout << "Podaj piec liczb: " << endl;
    cout<<endl;

    for(int i=0;i<5;i++)
    {

        cout<<i+1<<" liczba: ";
        cin>>liczba;

        if(min>liczba)
        {
            min=liczba;
        }
        if(max<liczba)
        {
            max=liczba;
        }
    }
    cout<<"Najwieksza liczba to: "<<max;
    cout<<"Najmniejsza liczba to: "<<min;


    return 0;
}

 

6 odpowiedzi

+1 głos
odpowiedź 8 lutego 2017 przez C☺ndzi Stary wyjadacz (12,100 p.)
wybrane 8 lutego 2017
 
Najlepsza
W std są funkcje std::min i std::max - zmień nazwę zmiennych min i max albo usuń using namespace std;.
+2 głosów
odpowiedź 8 lutego 2017 przez Dexterim Dyskutant (8,370 p.)
Problem tkwi najprawdopodobniej w tym, że inicjalizujesz zmienne min i max zmienną liczba która nie ma przypisanej wartości i nie wiadomo co się ma wydarzyć
komentarz 8 lutego 2017 przez cubus Początkujący (430 p.)
czyli co mam zrobić?
+2 głosów
odpowiedź 8 lutego 2017 przez Barus Stary wyjadacz (14,120 p.)

Witaj.

Pamiętaj, że min i max to są słowa zarezerwowane przez C++. Zmień ich nazwy. Poza tym w linii 9 i 10 próbujesz przypisać min i max wartość zmiennej liczba, a w tej zmiennej nie ma jeszcze żadnej wartości bo nic jej nie przypisałeś. 

Pozdrawiam! 

2
komentarz 8 lutego 2017 przez criss Mędrzec (172,590 p.)
edycja 8 lutego 2017 przez criss

Pamiętaj, że min i max to są słowa zarezerwowane przez C++.

A to od kiedy? Lista zarezerwowanych słów: klik  (2.11)

Tzn. oczywiście wiem o co ci chodziło :P, ale min i max nie są słowami zarezerwowanymi przez język. Faktycznie w bibliotece standardowej znajdują się funkcje o takich nazwach, ale też z tego powodu są w namespace-sie. Tutaj kolizja występuje tylko z powodu deklaracji using namespace std;

 

komentarz 8 lutego 2017 przez Barus Stary wyjadacz (14,120 p.)
Dziękuję za rozjaśnienie, codziennie można się czegoś nauczyć :D

Pozdrawiam!
+1 głos
odpowiedź 8 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)

Nie mozesz nazwac zmiennych min i max bo to sa funkcje w c++, chociaz chyba w devie sie da.

http://cpp0x.pl/dokumentacja/standard-C++/max/466

http://cpp0x.pl/dokumentacja/standard-C++/min/465

Poczatkowo najlepiej przypisac 0, a jeszcze lepiej granice przedzialow int, czyli:

Przedzial inta to od -2147483648 do 2147483647, wiec

najmniejsza = 2147483647;

najwieksza = -2147483648;

lub przed petla wczytaj jedna liczbe i przypisz.

0 głosów
odpowiedź 8 lutego 2017 przez Adrian Spora Mądrala (5,100 p.)

To jest bez sensu:

min=liczba;
max=liczba;

W dodatku zmienne w c++ nie mog sie nazywać min oraz max, bo to s słowa kluczowe, majce specjalne znaczenie w c++. Zmień ich nazwy

Pszypisujesz domyśln wartość (0) do zmiennych, które sa już domyślnie zainicjalizowane i maj taka sama wartość.

Po za tym, jeśli użytkownik poda same liczby większe niż 0 to program nie będzie działać poprawnie. Tak samo, jeśli poda same liczby większe niż 0. Bo zmienne min i max, jesli s globalne to domyślnie s inicjalizowane zerem.

komentarz 8 lutego 2017 przez niezalogowany
min i max to nie słowa kluczowe, a jedynie funkcje, których pełne brzmienie jest z przestrzenią nazw std
0 głosów
odpowiedź 8 lutego 2017 przez cubus Początkujący (430 p.)
Dziękuję Wam za pomoc. Problem rozwiązany :D

Podobne pytania

0 głosów
4 odpowiedzi 673 wizyt
pytanie zadane 6 grudnia 2016 w C i C++ przez mateusz0307 Nowicjusz (170 p.)
0 głosów
1 odpowiedź 162 wizyt
pytanie zadane 2 marca 2019 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 541 wizyt
pytanie zadane 17 grudnia 2017 w C i C++ przez CatNet Nowicjusz (220 p.)

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

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

...