Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.02.2012, 12:43   #1 (permalink)
scorpius
Member
 
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Работа с двумерными массивами

aacuiyiiue.png

io.png


вообще ничего не понятно((((((
scorpius вне форума   Ответить с цитированием

Старый 27.02.2012, 12:43
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка в этих темах есть интересующий вас ответ

Pascal. Работа с одномерными массивами
Паскаль, работа с матрицами
Помогите, пожалуйста. Работа с одномерными массивами, Паскаль

Старый 27.02.2012, 14:33   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Здесь, прежде всего, в условии задачи содержится ГРУБЕЙШАЯ ошибка, а именно - диагонали (главная и побочная) бывают ТОЛЬКО у квадратных матриц, понятие "диагональ" к неквадратным (прямоугольным) матрицам НЕПРИЛОЖИМО в принципе, а в условии фигурирует матрица 5х6. Бред и абсурд - так можете преподу и сказать.
Задача может быть решена для произвольной КВАДРАТНОЙ матрицы NxN. В программе N=6, но можно поменять, изменив значение константы.
Код:
Const
 N=6;
Var
 M:Array[1..N,1..N] of Integer;
 Sum:Integer;
 i,j:byte;
Begin
 Randomize;
 writeln('Matrix:');
 for i:=1 to N do
  begin
   for j:=1 to N do
    begin
     M[i,j]:=50-Random(100);
     write(M[i,j]:4);
    end;
   writeln;
  end;
 writeln;
 Sum:=0;
 for i:=1 to N-1 do
  for j:=i+1 to N do
   Sum:=Sum+M[i,j];
 writeln('Sum = ',Sum);
 readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.02.2012, 20:11   #3 (permalink)
scorpius
Member
 
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое за всё!!!!!
scorpius вне форума   Ответить с цитированием
Старый 08.04.2012, 12:22   #4 (permalink)
scorpius
Member
 
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А можно еще спросить по поводу этой программы.
Есть несколько строк, которые хотелось бы понять А если быть честным и точнее, то это практически весь код , начиная со строки:
writeln('Matrix:')
scorpius вне форума   Ответить с цитированием
Старый 08.04.2012, 14:02   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от scorpius Посмотреть сообщение
А можно еще спросить по поводу этой программы.
Есть несколько строк, которые хотелось бы понять А если быть честным и точнее, то это практически весь код , начиная со строки:
writeln('Matrix:')
Ну не знаю, сколь подробно Вам надо. Вообще-то там так:
1. В цикле по строкам (i) и столбцам (j) методом генерации случайных чисел формируется массив значений элементов матрицы. Диапазон взят от -50 до +50. Одновременно элементы матрицы построчно выводятся на экран.
2. Считается сумма элементов матрицы. Диапазон изменений номеров строк (от 1 до N-1) и номеров столбцов (от i+1 до N) выбран так, что перебираются и, соответственно, суммируются только те элементы матрицы, которые находятся над главной диагональю.
3. На экран выводится результат (найденная сумма).

Вообще-то там еще требуется найти количество членов матрицы над главной диагональю, если очень надо - можно вставить и это, но в принципе глупость полнейшая: это количество всегда есть
(N² - N)/2. И что тут считать, спрашивается?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 10.04.2012, 14:56   #6 (permalink)
scorpius
Member
 
Регистрация: 20.02.2012
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Понятно, спасибо!
scorpius вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
паскаль; турбо; паскаль


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.