0 / 0 / 0 Регистрация: 14.09.2010 Сообщений: 29 |
|
1 |
|
Найти максимальный элемент каждой строки матрицы28.09.2010, 19:12. Показов 31325. Ответов 4
найти максимальный элемент каждой строки. Результат получить в виде линейного массива размером N.
0 |
Uksus 13 / 13 / 9 Регистрация: 27.09.2010 Сообщений: 53 |
||||
29.09.2010, 11:23 |
2 |
|||
Решение
1 |
1 / 1 / 1 Регистрация: 24.08.2010 Сообщений: 44 |
|
29.11.2010, 11:47 |
3 |
Спасибо огромное!! Uksus а как сделать тоже, только если матрицу нужно вводить в ручную?
0 |
Uksus 13 / 13 / 9 Регистрация: 27.09.2010 Сообщений: 53 |
||||||||
29.11.2010, 13:14 |
4 |
|||||||
Решениезамени
на
0 |
0 / 0 / 0 Регистрация: 15.12.2010 Сообщений: 6 |
|
15.12.2010, 11:54 |
5 |
Ввести матрицу , вывести ее. Возвести в квадрат элементы той строки, где максимальный элемент встречается раньше.. Помогите пожалуйста.
0 |
Uses crt; Var A:array[1..100,1..100] of integer; min,i,k,n,m,j:integer; max:array[1..100] of integer; x:array[1..100,1..2] of integer; Begin ClrScr; Randomize; Write('ввод кол-ва строк = '); Readln(n); Write('ввод кол-ва столбцов = '); Readln(m); For i:=1 to n do Begin For j:=1 to m do Begin A[i,j]:=random(51)-25; Write(A[i,j]:4); End; Writeln; End; For i:=1 to n do Begin a[i,1]:=max[i]; For j:=1 to m do If A[i,j]>max[i] then max[i]:=A[i,j]; End; writeln('Максимумы в строках:'); For i:=1 to n do write(max[i]:4); Readln; End.
Часто встречаются задачи, где необходимо найти максимальный элемент в массиве. Рассмотрим общий алгоритм решения такой задачи.
Первое, что придётся сделать – создать массив. Как нам уже известно, нужно использовать цикл с параметром. Также удобнее будет создать массив случайным образом, если в условии задачи не оговорён способ задания массива.
Алгоритм нахождения максимального элемента массива выполняется следующим образом.
Сначала указываем, что первый элемент массива считается максимальным, иначе говоря – Max = A[i].
Потом начинаем процесс сравнивания последующих элементов массива с максимальным элементом в массиве.
Тут возможно два случая :
- Если максимальный элемент больше следующего, то ничего не меняем.
- Если максимальный элемент меньше следующего, то он становиться максимальным.
После этого выводим на экран максимальный элемент.
Блок-схема максимальный элемент массива
Программа максимальный элемент массива Pascal
Ниже представлен текст программы на языке Pascal, как найти максимальный элемент массива. Как было указанно в алгоритме выше, сначала создается сам массив (в моем случает любые целые числа от 0 до 100 включительно).
Program Max_element_massiva ; Var i, n, max : integer ; A : array [1..100] of integer; Begin Writeln('Введите количество элементов массива') ; Readln(N) ; Randomize; For i := 1 to N do begin A[i] := Random(100); Write(A[i]); end; Max := A[1]; For i := 2 to N do if A[i]>Max then Max := A[i]; Writeln('Максимальный Элемент массива = ',Max) ; Readln ; End.
Программа ввода и вывода элементов массива может выглядеть следующим образом:
program z1;
const nm=10; mm=10;
type mas=array[1..nm,1..mm] of real;
var a:mas;
i,j,n,m:integer;
procedure zap(var a:mas);
var i,j:integer;
begin
assign(input,’input.txt’);
reset(input);
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
close(input);
end;
procedure vyv( a:mas);
var i,j:integer;
begin
assign(output,’output.txt’);
rewrite(output);
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:8:2);
writeln;
end;
close(output);
end;
begin
zap(a);
vyv(a);
end.
Сохраните программу в файл и используйте как шаблон для решения задач с двумерным массивом.
Задания
Задание 1. Найти максимальный элемент массива и его номера. Элементы могут повторяться.
Указание: Поиск максимального элемента в двумерном массиве осуществляется таким же образом, как и в линейном массиве: предполагают, что максимальный — это первый элемент, затем максимальный сравнивается со следующим элементом, и если максимальный окажется меньше, то заменяем его значение.
Формат ввода:
В первой строке вводятся числа n и m — количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке — максимальный элемент
Во второй и следующих строках номер строки и номер столбца максимального элемента
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти минимальный элемент массива и его номера. Элементы могут повторяться.
2. Найти минимальный элемент среди элементов главной и побочной диагоналей.
Задание 2. Найти количество отрицательных элементов в каждой строке.
Указание: количество элементов каждой строки хранить в одномерном массиве соответствующей размерности.
Формат ввода:
В первой строке вводятся числа n и m — количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В строку записаны числа — количества отрицательных элементов в каждой строке
Тесты Посмотреть решение
Экспериментальный раздел
1. Найти количество кратных 5 элементов в каждой строке.
2. Найти количество кратных 5 и 2 элементов в каждой строке.
3. Найти количество кратных 5 или 2 элементов в каждой строке.
4. Найти количество отрицательных элементов в каждом столбце.
Задание 3. Дан двумерный массив А, состоящий из n x m вещественных чисел. Известно, что среди его элементов только два равны между собой. Напечатать их индексы.
Указание: Для просмотра первого элемента использовать циклы по переменным i и j, для просмотра второго элемента использовать циклы по переменным i1 и j1.
Сравниваем a[i,j] c a[i1,j1]. Для исключения просмотра одного и того же элемента проверить условие (not((i=i1) and (j=j1))).
Формат ввода:
В первой строке вводятся числа n и m — количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
В первой строке — индексы первого из равных элементов
Во второй строке — индексы второго из равных элементов
Тесты Посмотреть решение
Задание 4. Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Указание: В задачах подобного типа необходимо увидеть зависимость между индексами элементов массива.
Если массив является симметричным, то для него выполняется равенство
A[i, j]=A[j, i] для всех i=1..n и j=1..n.
Формат ввода:
В первой строке вводится число n — количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
вывести YES или NO
Тесты Посмотреть решение
Экспериментальный раздел
1. Определить, является ли данный квадратный массив симметричным относительно своей побочной диагонали.
Задание 5. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.
Указание: рассматриваем только четные столбцы и к элементу первой строки прибавляем a[1,1], к элементу второй строки прибавляем a[2,1] и т.д.
Формат ввода:
В первой строке вводятся числа n и m — количество строк и столбцов массива
В следующих строках находятся элементы массива построчно
Формат вывода:
Построчно элементы преобразованного массива
Тесты Посмотреть решение
Экспериментальный раздел
1. В массиве размерностью NxM к элементам четных строк прибавить элемент первой строки соответствующего столбца.
2. К нечетным элементам прибавить соответствующие по строке элементы главной диагонали.
Задание 6. Заполнить массив А размером NxM «змейкой» следующим образом:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
Указание: Для того, чтобы заполнить, надо вывести правило заполнения:
· если строка нечетная, то A[i,j]=(i-1)*m+j;
· если строка четная, то A[i,j]=i*m-j+1.
Формат вывода
Вывести построчно элементы массива
Посмотреть решение
Экспериментальный раздел
1. Заполнить массив размером m x n змейкой, начиная с последнего элемента.
22 |
23 |
24 |
25 |
26 |
27 |
28 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Задания для самостоятельного решения
1. Заменить все отрицательные элементы на противоположные.
2. Дан массив D(6,5). Выведите его на экран в виде таблицы. Найдите и выведите количество элементов больших среднего арифметического всех его элементов.
3. Заполнить массив А размером NxM следующим образом:
21 |
20 |
19 |
18 |
17 |
16 |
15 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Тест
CONST N=10; M=3; var A:array[1..N,1..M] of integer; i,j,k,s,max:integer; begin writeln('Дан массив'); s:=0; for i:= 1 to N do begin for j:= 1 to M do begin A[i,j]:=random(10)+1; write(a[i,j]:4); s:=s+A[i,j]; end; write(' Сумма ',i,'-й строки = ',s ); s:=0; writeln; end; max:=a[2,1]; for j:= 1 to M do if A[2,j]>max then max:=a[2,j]; writeln('Максимальный элемент второй строки = ',max); end.
Похожие записи/страницы:
- Дан массив А [8,8]. Найти максимальный элемент среди элементов, расположенных выше побочной диагонали. поменять местами…
- Дан двухмерный массив. Определить номер строки, в которой расположен максимальный элемент второго столбца массива. Если…
- Найти максимальный элемент каждой строки массива и его индексы (всего массива и его индексы) — Pascal(Паскаль)
- Найти сумму всех элементов двумерного массива и сумму элементов каждой строки- Pascal(Паскаль)
- Задан массив X(N,N). Определить максимальный элемент каждой строки массива — Pascal(Паскаль)
- Дан целочисленный двухмерный массив. найти сумму максимальных элементов из каждой строки — Pascal(Паскаль)
- Написала к заданию (задана матница NxN. Найти максимальный по модулю элемент матрицы. Переставить строки и столбцы так,…
- Дан двухмерный массив. Определить сумму квадратов элементов n-й строки массива — Pascal(Паскаль)