Wątek przeniesiony 2019-03-15 23:07 z przez ŁF.

znajdowanie min

2019-03-14 22:29
0

Napisz program, który wczyta ze standardowego wejścia ciąg liczb całkowitych X1, X2, ..., a następnie wydrukuje na standardowe wyjście najmniejszą liczbe.

Prosze o pomoc brak mi pomysłow...

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int liczby[20];
    int i=0;
    int min;
    for(int i=0; i<20; i++)
        liczby[i]=0;
    while(cin>>liczby[i++])
    {
        if(getchar() == '\n')
        {
            break;
        }
    }
 min=liczby[0];
    for(int i=0; i<20; i++)
        if(min>liczby[i])
            min = liczby[i];

    cout<<"min: "<<min<<endl;
    return 0;
}

Pozostało 580 znaków

2019-03-14 22:31
kq
1

Nie potrzebujesz tablicy w ogóle. Na początek za najmniejszą liczbę przyjmij pierwszą napotkaną, a potem każdą od niej mniejszą. I tyle.


Pozostało 580 znaków

2019-03-14 22:41
0

tak bedzie ok ?

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

int main()
{
    int n, min, pom;
    cin>>min;
    for( ;; )
    {
        if(getchar() == '\n')
        {
            break;
        }
        cin >> pom;
        if( min > pom )
             min = pom;
    }
   cout << "Najmniejsza wczytana liczba jest " << min << endl;
    return 0;
}

Pozostało 580 znaków

2019-03-14 22:43
kq

To chyba już powinno działać dla odpowiednio sformatowanego inputu, ale zobacz to:

int main()
{
    int min;
    std::cin >> min;
    int temp;
    while(std::cin >> temp) {
        if(temp < min) {
            min = temp;
        }
    }
    std::cout << "Min: " << min << '\n';
}

Pozostało 580 znaków

2019-03-14 22:45
0

Twoj kod nie działa

Pozostało 580 znaków

2019-03-14 22:46
kq
1

U mnie działa.


Pozostało 580 znaków

2019-03-14 22:51
0

dziwne bo w code blocks moge wpisywac liczby w nieskonczonosc i nie wypisuje minimum

Pozostało 580 znaków

2019-03-14 22:52
kq
2

musisz zakończyć wejście. Ctrl+D na linuksie, Ctrl+Z na windowsie. Albo wywołać z przekierowaniem wejścia w konsoli.


Pozostało 580 znaków

2019-03-14 23:14
0

hm a jezeli chciałbym znalezc dodatkowo max? cos napisalem ale nie dziala

#include<iostream>
int main()
{
    int min,max;
    std::cin >> min;
    int temp;
    while(std::cin >> temp)
    {
        if(temp < min)
        {
            {
                min = temp;
            }
            if(temp > max)
            {
                max = temp;
            }
        }
    }
     std::cout << "Min: " << min << '\n';
        std::cout << "Max: " << max << '\n';
}

Pozostało 580 znaków

2019-03-14 23:18
kq
2

Bo zagnieździłeś sobie ify zbędnie. I nie ustawiasz początkowej wartości max


edytowany 1x, ostatnio: kq, 2019-03-14 23:19

Pozostało 580 znaków

2019-03-14 23:34
0

okej dziękuję, jeszcze jedno pytanie jak w cods blocks zrobic abym nie musial konczyc wejscia ctrl+z tylko po enterze mi wypisywalo te liczby ?

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0