Отчеты / Отчет по лабе №5
.docxЛабораторная работа №5
Программирование циклов обработки одномерных массивов Задание (9)
Даны действительные числа а1, …., а30 .
а) Получить: max(a1+a30, a2+a29, …, a15 +a16).
б) Упорядочить элементы исходного массива по невозрастанию.
Алгоритм
нач.
ввод a, b, S, max, k;
нц.
пока (n<15)
k= 28 - n ;
S = a[n] + a[k];
b[n] = S;
кц.
нц.
пока (j<15)
нв.
max = b[j];
кв.
кц.
нц.
пока (i<14)
нв.
max = b[i];
b[i] = b[n+1];
b[i+1] = max;
кв.
кц.
нц.
пока(i<15)
вывод b[i];
кц.
кон.
Код
double S, max;
max = 0;
int[] a = new int[30];
double[] b = new double[15];
Random rand = new Random();
for (int i = 0; i < 15; i++)
{
int k;
a[i] = rand.Next(-100, 100);
k = 29 - i;
S = a[i]+a[k];
b[i] = S;
Console.Write("{0} ", S);
}
Console.WriteLine();
for (int j = 0; j < 15; j++)
if (max < b[j])
max = b[j];
Console.WriteLine("max={0}", max);
for (int j = 0; j < 15; j++)
{
for (int i = 0; i < 14 - j; i++)
if (b[i] > b[i + 1])
{
max = b[i];
b[i] = b[i + 1];
b[i + 1] = max;
}
}
for (int i = 0; i < 15; i++)
Console.Write("{0} ", b[i]);
Console.ReadLine();