Дан массив вещественных чисел Z(n) при n<20. Найти среди его элементов наибольшее отрицательное число. Поменять местами это число с наибольшим числом данного массива.
(Нужно вручную вводить массивы)
Нужен код на С# или хотя бы С++. Будет использоваться в window.forms
Answers & Comments
Ответ:
вот на с#
using System;
class Program
{
static void Main(string[] args)
{
const int n = 20;
double[] Z = new double[n];
// Ввод массива
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
{
Console.Write("Z[{0}] = ", i);
Z[i] = double.Parse(Console.ReadLine());
}
// Поиск наибольшего отрицательного числа
double maxNegative = double.MinValue;
int maxNegativeIndex = -1;
for (int i = 0; i < n; i++)
{
if (Z[i] < 0 && Z[i] > maxNegative)
{
maxNegative = Z[i];
maxNegativeIndex = i;
}
}
// Поиск наибольшего числа
double maxNumber = double.MinValue;
int maxNumberIndex = -1;
for (int i = 0; i < n; i++)
{
if (Z[i] > maxNumber)
{
maxNumber = Z[i];
maxNumberIndex = i;
}
}
// Меняем местами элементы
Z[maxNegativeIndex] = maxNumber;
Z[maxNumberIndex] = maxNegative;
// Вывод измененного массива
Console.WriteLine("Измененный массив:");
for (int i = 0; i < n; i++)
{
Console.WriteLine("Z[{0}] = {1}", i, Z[i]);
}
}
}