Решить . необходимо использовать одномерный массив. даны действительные числа a1, n. поменять местами первый наибольший элемент с последним наименьшим элементом.
Const n = 20; var a: array[1..n] of real; i, imax, imin: integer; r, rmax, rmin: real; begin randomize; writeln('элементы массива'); rmax: =-1; { заведомо меньше меньшего } rmin: =100; { заведомо больше большего } for i : = 1 to n do begin r: =random(10); a[i]: =r; write(r,' '); if rmax< r then begin rmax: =r; imax: =i end; if rmin> =r then begin rmin: =r; imin: =i end end; writeln; { меняем местами и выводим результат } a[imax]: =rmin; a[imin]: =rmax; writeln('конечное состояние массива'); for i : = 1 to n do write(a[i],' '); writeln end. тестовое решение: элементы массива 4 1 2 8 6 3 7 5 5 1 4 4 3 3 6 8 5 4 7 6 конечное состояние массива 4 1 2 1 6 3 7 5 5 8 4 4 3 3 6 8 5 4 7 6 видно, что первая восьмерка поменялась местами с последней единицей.
mtcover
06.05.2020
// pascalabc.net 3.3, сборка 1573 от 04.11.2017 // внимание! если программа не работает, обновите версию! begin var n: =readinteger('количество строк/столбцов в матрице: '); writeln('введите элементы матрицы построчно'); var a: =readmatrinteger(n,n); writeln('исходная матрица'); a.println(4); writeln(4*a.colcount*'-'); var s: =a.elementswithindexes; var imin: =s.minby(t-> t[0])[1]; var imax: =s.maxby(t-> t[0])[1]; if imin< > imax then a.swaprows(imin,imax); writeln('матрица-результат'); a.println(4); end. пример количество строк/столбцов в матрице: 5 введите элементы матрицы построчно 51 -74 -22 -83 -89 87 66 -61 -16 -32 -82 -17 -7 -26 -10 91 5 45 0 25 -47 -44 24 -19 75 исходная матрица 51 -74 -22 -83 -89 87 66 -61 -16 -32 -82 -17 -7 -26 -10 91 5 45 0 25 -47 -44 24 -19 75 матрица-результат 91 5 45 0 25 87 66 -61 -16 -32 -82 -17 -7 -26 -10 51 -74 -22 -83 -89 -47 -44 24 -19 75
ritckshulga20112
06.05.2020
Хром жрет переносы строк - сейчас поправлю \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ using system; using system.collections.generic; using system.linq; using system.text; namespace replacethis{ class main{ static void main(){ int n = 10; int[] arr = new int[n]; random rand = new random(); console.write("исходный массив: "); for (int i = 0; i < n; ++i){ arr[i] = rand.next(1, 9); console.write("{0} ", arr[i]); } console.writeline(""); int maxi, mini; maxi = mini = 0; for(int i = 1; i< n; ++i){ if (arr[maxi] < arr[i]) maxi = i; if (arr[mini] > arr[i]) mini = i; } int temp = arr[mini]; arr[mini] = arr[maxi]; arr[maxi] = temp; console.writeline("индекс максимального - {0}. индекс минимального - {1}.", maxi, mini); console.write("измененный массив: "); for (int i = 0; i < n; ++i) console.write("{0} ", arr[i]); console.readkey(); } } }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Решить . необходимо использовать одномерный массив. даны действительные числа a1, n. поменять местами первый наибольший элемент с последним наименьшим элементом.