Как найти максимальный элемент строки паскаль

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

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

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
const n=10;
      m=10;
var a:array[1..n,1..m]of integer;
    b:array[1..n]of integer;
    i,j:byte;
    max:integer;
begin
clrscr;
writeln('Dannai matrica:');
writeln;
randomize;
for i:=1 to n do
    begin
    for j:=1 to m do
        begin
        a[i,j]:=random(10)-5;
        write(a[i,j]:5);
        end;
    writeln;
    end;
writeln;
writeln('Massiv,elementi kotorogo aivlaiuitsai malsimalnie elementi matrici:');
writeln;
for i:=1 to n do
    begin
    max:=a[1,1];
    for j:=1 to m do
        if a[i,j]>max then max:=a[i,j];
    b[i]:=max;
    end;
for i:=1 to n do write(b[i]:5);
readln;
end.



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

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

Решение

замени

Pascal
1
2
3
4
5
6
7
8
9
10
randomize;
for i:=1 to n do
    begin
    for j:=1 to m do
        begin
        a[i,j]:=random(10)-5;
        write(a[i,j]:5);
        end;
    writeln;
    end;

на

Pascal
1
2
3
4
5
6
7
8
9
10
for i:=1 to n do
    for j:=1 to m do read(a[i,j]);
    readln;
clrscr;
writeln('Dannai matrica:');
for i:=1 to n do
begin
    for j:=1 to m do write(a[i,j]:3);
writeln;
end;



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].

Потом начинаем процесс сравнивания последующих элементов массива с максимальным элементом в массиве.

Тут возможно два случая :

  1. Если максимальный элемент больше следующего, то ничего не меняем.
  2. Если максимальный элемент меньше следующего, то он становиться максимальным.

После этого выводим на экран максимальный элемент.

Блок-схема максимальный элемент массива

Программа максимальный элемент массива 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(Паскаль)

Понравилась статья? Поделить с друзьями:
  • Как найти работу онлайн отзывы
  • Как найти судака зимой на озере
  • Как составить предложение по английски с вопросительным словом
  • Как найти программу лояльности в сбербанке
  • Как составить жалобу в суд на протокол гибдд