|
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(Паскаль)

Сообщение было отмечено Памирыч как решение
