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

Minimum i maksimum - zadanko

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,544 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 1,238 wizyt
pytanie zadane 6 grudnia 2016 w C i C++ przez mateusz0307 Nowicjusz (170 p.)
0 głosów
1 odpowiedź 204 wizyt
pytanie zadane 2 marca 2019 w Java przez mn130496 Gaduła (3,530 p.)
0 głosów
1 odpowiedź 672 wizyt
pytanie zadane 17 grudnia 2017 w C i C++ przez CatNet Nowicjusz (220 p.)

93,188 zapytań

142,204 odpowiedzi

322,027 komentarzy

62,516 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2704p. - Tomasz Bielak
  5. 2678p. - Łukasz Siedlecki
  6. 2666p. - rucin93
  7. 2627p. - CC PL
  8. 2485p. - Marcin Putra
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2156p. - Anonim 3619784
  13. 2127p. - Michał Telesz
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...