Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите решить задачу (http://www.tehnari.ru/f41/t256689/)

Лена12 20.11.2017 15:11

Помогите решить задачу
 
Помогите решить задачу на двумерные массивы: составьте программу нахождения максимального из чисел, встречающихся в заданном
двухмерном массиве более одного раза.
Нужно решить задачу с использованием в двумерном массиве новый массив и выписать все числа, как то так говорили решать....
Заранее спасибо!

Vladimir_S 20.11.2017 16:04

Цитата:

Сообщение от Лена12 (Сообщение 2534167)
как то так говорили решать...

Лена, а Вам, случайно, не говорили, на каком языке программирования следует это решать? А то наши телепаты, знаете ли, опять разбежались кто куда...

Лена12 20.11.2017 16:30

Язык программирования Паскаль ABC... И желательно с подпрограммами

Vladimir_S 20.11.2017 16:54

Извините, не знаю, что Вам там "говорили решать", зачем тут вспомогательные массивы да подпрограммы, но самое простое решение — вот:
Код:

Const
 N=8;
Var
 A:Array [1..N,1..N] of Integer;
 i,j,i1,j1:Byte;
 M:Integer;

Begin
 Randomize;
 for i:=1 to N do
  begin
  for j:=1 to N do
    begin
    A[i,j]:=Random(100);
    write(A[i,j]:5);
    end;
  writeln;
  end;
 Writeln;
 M:=0;
 for i1:=1 to N do
  for j1:=1 to N do
  for i:=1 to N do
    for j:=1 to N do
    if (A[i,j]=A[i1,j1]) and ((i<>i1) or (j<>j1)) and (A[i,j]>M) then M:=A[i,j];
 Writeln('Max = ',M);
 Readln
End.

Это, правда, Free Pascal, но, думаю, сойдёт. Можно последний Readln убрать.

Лена12 20.11.2017 19:02

Спасибо большое за решение!

Лена12 20.11.2017 19:12

Подскажите, пожалуйста, а что обозначает переменная М?

Vladimir_S 20.11.2017 19:16

Цитата:

Сообщение от Лена12 (Сообщение 2534215)
Подскажите, пожалуйста, а что обозначает переменная М?

Она обозначает искомый максимальный элемент.

derba 20.11.2017 21:28

Последние строки, после М:=0 можно упростить. Иначе излишние команды.
Цитата:

M:=0;

for i:=1 to N do
for j:=1 to N do
If M<=A[i,j] then M:=A[i,j];
Writeln('Max = ',M);

AlexZir 21.11.2017 05:08

Цитата:

Сообщение от derba (Сообщение 2534270)
Иначе излишние команды.

Задание внимательно прочитали?
Цитата:

Сообщение от Лена12 (Сообщение 2534167)
составьте программу нахождения максимального из чисел, встречающихся в заданном двухмерном массиве более одного раза.


Vladimir_S 21.11.2017 09:31

Цитата:

Сообщение от AlexZir (Сообщение 2534375)
Цитата:

Сообщение от derba (Сообщение 2534270)
Иначе излишние команды.

Задание внимательно прочитали?
Цитата:

Сообщение от Лена12 (Сообщение 2534167)
составьте программу нахождения максимального из чисел, встречающихся в заданном двухмерном массиве более одного раза.


Абсолютно верно! То, что кажется моему тёзке "излишним", как раз и есть проверка неоднократности.


Часовой пояс GMT +4, время: 13:47.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.