Untitled
unknown
plain_text
3 years ago
2.6 kB
11
Indexable
class Program
{
static double Metoda1(double[] t1)
{
double minimum1 = t1[0], indeksminimum1 = 0;
for (int i = 1; i < t1.Length; i++)
{
if (minimum1 >= t1[i])
{
minimum1 = t1[i]; //szukamy najmniejszej liczby
indeksminimum1 = i;
i++;
}
else
i++;
}//mamy znalezione minimum, więc szukamy teraz drugiego pod względem wielkości minimum
double minimum2 = t1[0], indeksminimum2 = 0;
for (int j = 0; j < t1.Length; j++)
{
if (indeksminimum1 != j)
{
if (minimum2 >= t1[j])
{
minimum2 = t1[j]; //szukamy drugiej najmniejszej liczby
indeksminimum2 = j;
j++;
}
else
j++;
}
}
double trzeciawartosc = t1[0];
for (int k = 0; k < t1.Length; k++)
{
if ((k != indeksminimum1) && (k != indeksminimum2))
{
if (trzeciawartosc >= t1[k])
{
t1[k] = trzeciawartosc;
k++;
}
else
k++;
}
}
return trzeciawartosc;
}
static void Main(string[] args)
{ /* Napisz metodę double Metoda1(double[] tablica) zwracającą trzecią pod względem wielkości wartość
* z tablicy liczb typu double (wartość taką, że tylko dwie wartości w tablicy są od niej mniejsze równe).
* Nie należy sortować tablicy. Zademonstruj działanie metody w programie ilustrującym.
* Uwaga. Zwracamy trzecią wartość czyli wartość taką, że tylko dwie wartości w tablicy są
* od nie mniejsze równe przykładowo: dla tablicy double[] d={4.4, 2.2, 1.1, 3.3} trzecia wartość to 2.2. */
double[] t1 = new double[] { 1.1, 2.2, 4.4, 3.3 };
for (int i = 0; i < t1.Length; i++)
Console.Write(t1[i] + " "); //wyświetlenie całej tablicy - wszystkie wartości
Console.WriteLine("Trzecia pod względem wielkości wartość to: " + Metoda1(t1));
Console.ReadKey();
}
}
}Editor is loading...