Zadání:
Sestavte program, který v poli čísel (max. 100) nalezne maximum a minimum a jejich pozici.
Řešení:
Na začátku programu načteme počet čísel v poli. Poté pomocí prvního cyklu FOR zadáme všechna čísla do pole.
Pomocí dalších čtyř řádků prohlásíme první prvek za maximum i minimum (min=pole(0); max=pole(0);) a uložíme
jeho pozici do pozice maxima a minima (pozmin=0; pozmax=0;). Dalším cyklem FOR otestujeme všechny ostatní
prvky pole, zda nejsou menší či větší než minimum a maximum. Pokud ano, uložíme jejich hodnoty a pozice
do příslušných proměnných. Na konci programu hodnoty a jejich pozice vytiskneme.
Module Module1
Sub Main()
Dim pole(99), min, max As Double
Dim n, i, pozmin, pozmax As Integer
Console.Write("Zadejte pocet cisel: ")
n = Console.ReadLine
For i = 0 To n - 1
Console.Write("Zadejte {0}.cislo: ", i + 1)
pole(i) = Console.ReadLine
Next
min = pole(0)
max = pole(0)
pozmin = 0
pozmax = 0
For i = 0 To n - 1
If min > pole(i) Then
min = pole(i)
pozmin = i
End If
If max < pole(i) Then
max = pole(i)
pozmax = i
End If
Next
Console.WriteLine("Minimalni hodnota: {0}, pozice: {1}", min, pozmin + 1)
Console.WriteLine("Maximalni hodnota: {0}, pozice: {1}", max, pozmax + 1)
Console.ReadLine()
End Sub
End Module
program ke stažení
Pro studenty
Zamyslete se nad tím, jak se bude program chovat v situaci, kdy budou v poli dvě shodné minimální nebo maximální hodnoty.