Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Najmniejsza wartość w tablicy

Ostatnio zmodyfikowano 2018-07-03 14:23
Autor Wiadomość
piteros
Temat założony przez niniejszego użytkownika
Najmniejsza wartość w tablicy
» 2018-07-03 11:19:57
Witam serdecznie,

Mam pewien problem z ogarnięciem zadania które już tutaj na forum znalazłem ale niestety próżno szukać tam rozwiązania. Jednak skorzystałem z zawartej tam wskazówki i poszło.
W teorii program działa jak powinien ale strona, która ma zweryfikować jego działanie niestety go odrzuca. I tutaj prośba o pomoc- czy ktoś mógłby rzucić okiem i podpowiedzieć
co ewentualnie można zmienić w tym programie żeby algorytm go przepuścił? Może ktoś już miał podobny problem i jakoś temu sprostał? Poniżej wklejam treść zadania a jeszcze nizej kod :)

Jeśli admin uzna, że temat został wcześniej wyczerpany proszę o zamknięcie tego lub usunięcie wątku.

TREŚĆ ZADANIA:
Napisz program, który znajdzie minimalny element w ciągu liczb całkowitych (typu int), zakończonych zerem.
Nie wiadomo, ile liczb jest podanych na taśmie wejściowej. Ważne jest to, że za ostatnią liczbą znajduje się zero. Musisz więc wczytywać tak długo, dopóki nie wczytasz zera.
Twoim zadaniem jest wypisanie minimalnej liczby spośród wszystkich podanych na taśmie wyjściowej (oprócz zera).

Przykład:
Dla danych wejściowych
4 5 -10 17 -2 9 0
poprawną odpowiedzią jest
-10


C/C++
#include <iostream>

using namespace std;

int main()
{
    int tab[ 20 ];
    int najmniejszy;
    int i = 0;
   
    najmniejszy = tab[ 0 ];
   
    for(; i <= 20; i++ )
    {
        cin >> tab[ i ];
        if( tab[ i ] < najmniejszy && tab[ i ] != 0 )
             najmniejszy = tab[ i ];
        else if( tab[ i ] == 0 )
             break;
       
    }
   
    cout << najmniejszy;
   
   
    return 0;
   
}
P-171738
pekfos
» 2018-07-03 12:37:44
Nie wiadomo, ile liczb jest podanych na taśmie wejściowej.
..więc możesz być pewien że więcej niż 20. Masz znaleźć minimum w ciągu, nie w tablicy. Sam sobie tą tablicę wymyśliłeś i całkowicie błędnie. Napisz program bez żadnych tablic. Do wykonania zadania potrzeba tylko dwie zmienne typu int.
P-171739
piteros
Temat założony przez niniejszego użytkownika
» 2018-07-03 14:02:15
OK przerobiłem wedle wytycznych. Dalej algorytm nie przepuszcza a program jako tako działa.

C/C++
#include <iostream>

using namespace std;

int main()
{
    int liczba;
    int najmniejsza;
    cin >> najmniejsza; //DODANE W EDITCIE
   
    do
    {
        cin >> liczba;
        if( najmniejsza > liczba && liczba != 0 )
             najmniejsza = liczba;
       
    } while( liczba != 0 );
   
    cout << najmniejsza;
    return 0;
}

====================EDIT=========================

Problem rozwiązany- wystarczyło pobrać najmniejszą wartość z konsoli na początku programu.
Dzięki za odpowiedź- pomgła ruszyć głową :D

POWYŻSZY PROGRAM DZIAŁA( może kiedyś komuś się przyda)
P-171740
pekfos
» 2018-07-03 14:21:08
C/C++
int liczba;
int najmniejsza;

najmniejsza = liczba;
Jakie tu są wartości?
P-171741
piteros
Temat założony przez niniejszego użytkownika
» 2018-07-03 14:23:33
No właśnie to wzbudziło też moje wątpliwości :) Zedytowałem chwile wcześniej program powyżej i wywaliłem te bzdurę także mam nadzieję, że jest poprawny już w 100 % :)
P-171742
« 1 »
  Strona 1 z 1