Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2020, 06:08   #1
kabargak
Новичок
Джуниор
 
Регистрация: 12.05.2020
Сообщений: 3
По умолчанию Задача на массивы 10 класс.

Помогите пожалуйста решить задачу


11. Дан целочисленный двумерный массив, размерности n х m. Массив вывести на экран. Найти произведение и сумму первого и последнего элемента массива
kabargak вне форума Ответить с цитированием
Старый 12.05.2020, 07:17   #2
kabargak
Новичок
Джуниор
 
Регистрация: 12.05.2020
Сообщений: 3
По умолчанию

или хотя бы разобраться в этом, прошу
kabargak вне форума Ответить с цитированием
Старый 12.05.2020, 09:22   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

1. Опиши две константы: n, m целого типа. Это число строк и столбцов в твоём массиве.
2. Опиши две переменные, которые будут индексами массива и двумерный массив с элементами целого типа. В описании массива используй константы.
3. Опиши две переменные, которые будут хранить сумму и произведение заданных элементов массива.
Эта операция необязательная, так как формулы для суммы и произведения можно вставить в процедуре вывода. Например,
Код:
writeln(M[1,1]+M[n,m]);
3. Сформируй целочисленный массив используя процедуру randomize() и функцию random()
Это надо выполнить через вложенный цикл:
Код:
for i := 1 to n do
   for j := 1 to m do
      M[i,j] := random(<тут что то>);
Ну и Сеть тебе в помощь.

PS: При написании части кода проанализируй, какой индекс отвечает за строки, а какой за столбцы.
Я этого не помню.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 12.05.2020, 09:52   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
При написании части кода проанализируй, какой индекс отвечает за строки, а какой за столбцы.
А это вообще, по-моему - достаточно условная вещь. Что безусловно - так это то, что при изменении самого правого индекса мы перемещаемся подряд по выделенному участку памяти без "прыжков".
Код:
type
TMas = record
case byte of
1: a = array [0..99] of integer ;
2: b = array [0..9,0..9] of integer
end ;
Тут a[1] = b[0,1], a[2] = b[0,2] и т.д.
А как они распишутся по экрану - вдоль или поперёк - как захотим, так и сделаем. Понятия "строка", "столбец" в синтаксисе языка не определены, есть "1-й, 2-й индекс". Во всяком случае, в сети я встречал оба варианта. В отличие от grid, где это определено.
Я так думаю.

Последний раз редактировалось digitalis; 12.05.2020 в 09:59.
digitalis вне форума Ответить с цитированием
Старый 13.05.2020, 15:46   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Цитата:
А это вообще, по-моему - достаточно условная вещь.
Да, это так. Это имеет отношение только к способу хранения данных в ОЗУ.
Тут имелось ввиду, что однажды выбранная последовательность индексов не должна меняться.
С другой стороны, принято строить циклы перебирая столбцы (внутренний цикл), а затем строки.
Несложно перепутать эти элементы, например, при выполнении операций с матрицами.
Можно неправильно написать алгоритм ...

PS: И конечно же я обратил на это внимание ТС, так как у меня под рукой всегда есть Сеть
ТС мог бы просто поискать нужную информацию, но плохо видимо этим владеет.
Возможно, что просто лень.
Для поиска в Сети нужно время, включить мозг, а его нет - он музыку слушает, да и мозг напрягать ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 14.05.2020, 16:17   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const n=5;
      m=6;
var p:array[1..n,1..m] of integer;
    i,j,z:integer;
begin
   Randomize;
   For i:=1 to n do
   begin
      For j:=1 to m do
      begin
         p[i,j]:=Random(21);
         Write(p[i,j]:3,'  ');
      end;
      Writeln;
   end;
   Writeln;
   z:=p[1,1]+p[n,m];
   Writeln(z);
   z:=p[1,1]*p[n,m];
   Writeln(z);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по математике за 5 класс Qaliti Помощь студентам 3 20.03.2016 01:13
Задача по информатике 9 класс. solovey.kurskiy Помощь студентам 18 28.10.2012 19:01
задача - определить Класс Andrew_s Visual C++ 2 13.12.2011 22:58
Класс vector и сложносоставные массивы. вопрос к спецам в STL haruhi Общие вопросы C/C++ 1 19.11.2011 16:32