Есть ответ 👍

Смассивом c# в одномерном массиве нужно удалить элементы, стоящие между максимальным отрицательным и минимальным положительным.

113
207
Посмотреть ответы 2

Ответы на вопрос:

erisoeun
4,5(84 оценок)

Private static int[] deletesomethinginarray(int[] a)               {                       debug.assert(a.length > 1 & & a.any(x => x > 0) & & a.any(x => x < 0));   // это просто проверка, можно удалить или закоментировать                       if (a.length == 2)                               return a;                       var max_i = -1;                       var min_i = -1;                       for (var i = 0; i < a.length; i++)                       {                               if (a[i] < 0 & & (max_i < 0 || a[max_i] < a[i]))                                       max_i = i;                               if (a[i] > 0 & & (min_i < 0 || a[min_i] > a[i]))                                       min_i = i;                       }                       var result = new int[a.length - math.abs(max_i - min_i) + 1];                       var j = 0;                       for (var i = 0; i < a.length; i++)                       {                               if (i < = math.min(max_i, min_i) || i > = math.max(max_i, min_i))                                       result[j++] = a[i];                       }                       return result;               } на всякий случай в заголовках using system; using system.diagnostics; using system.linq;

A: array[1..10, 1..10] of integer; i, j, m, n: byte; minelem: integer; begin write('m = '); readln(m); write('n = '); readln(n); { формируем и выводим матрицу: } randomize; writeln('случайная матрица ', m, 'x', n, ': '); for i : = 1 to m do begin for j : = 1 to n do begin a[i, j] : = -100 + random(200); write(a[i, j]: 4) end; writeln end; writeln; writeln('минимальный элемент в каждой строке: '); for i : = 1 to m do begin { начальное значение минимального элемента равно первому элементу строки (j = 1): } minelem : = a[i, 1]; for j : = 2 to n do { проверяем остальные элементы строки: j = 2, 3, n } { если a[i,j] меньше минимума, то новым минимумом становится a[i,j] } if a[i, j] < minelem then minelem : = a[i, j]; writeln(i, '-я строка: минимальный элемент = ', minelem) end; readln end.

Популярно: Информатика