dwie minimalne liczby

dwie minimalne liczby
R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Mam problem jak znalezc dwie minimalne wartosci bez korzystania z tablic, potrafie znalezc jedna. Prosze o pomoc.

Kopiuj
#include<iostream>
#include<cstdlib>
using namespace std;

int main()
{
    int n, min, pom;
   
    cout << "Ile liczb chcesz wczytać? ";
    cin >> n;
   
    cin >> min;
   
    for( int i = 1; i < n; i++ )
    {
        cin >> pom;
        if( min > pom )
             min = pom;
       
    }
   
    cout << "Najmniejszą wczytaną liczbą jest " << min << endl;
   
    system( "pause" );
    return 0;
}
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Wystarczy, że będziesz trzymał minimalną (powiedzmy min[0]) oraz drugą minimalną w kolejności (min[1], przy czym min[0] <= min[1]) i jeśli użytkownik poda liczbę, która jest większa od min[0], to robisz:

Kopiuj
min[1] = min[0]
min[0] = nowaLiczba
macias_98
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
1
Kopiuj
#include<iostream>
using namespace std;


int main()
{
    int n, min, prawieMin, pom;

    cout << "Ile liczb chcesz wczytać? ";
    cin >> n >> min >> prawieMin;
    if(prawieMin<min)
        {
            int x = min;
            min = prawieMin;
            prawieMin = x;
        }

    for( int i = 2; i < n; i++ )
    {
        cin >> pom;
        if(pom < prawieMin)
        {
            pom < min ? prawieMin = min, min = pom : prawieMin = pom;
        }

    }

    cout << "Najmniejszą wczytaną liczbą jest " << min << endl;
    cout << "Kolejna " << prawieMin << endl;
    return 0;
}





R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

wow dzięki sporo kodu, jakos sobie juz poradziłem ale ten kod tez wart popatrzenia :)

R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Mam prośbę mogłbys zamienić mi te operatory zamienic na zwykłe instrukcje?

Kopiuj
if(pom < min2)
        {
            pom < min ? min2 = min, min = pom : min2 = pom;
        }
atmal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 913
0

Tu wersja z ifami:

Kopiuj
if (pom < min2)
{
	if (pom < min)
	{
		min2 = min;
		min = pom;
	}
	else
	{
		min2 = pom;
	}
}
R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0
atmal napisał(a):

Tu wersja z ifami:

Kopiuj
if (pom < min2)
{
	if (pom < min)
	{
		min2 = min;
		min = pom;
	}
	else
	{
		min2 = pom;
	}
}

wielkie dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.