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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2017, 09:13   #1
Snomens
Новичок
Джуниор
 
Регистрация: 21.11.2017
Сообщений: 1
По умолчанию Разработать программу в делфи

Разработать программу решения задачи, в которой заменить нулями все элементы, расположенные на побочной диагонали матрицы размером 4х4, состоящий из элементов целого типа.
Snomens вне форума Ответить с цитированием
Старый 21.11.2017, 09:40   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

var a: array[1..4,1..4] of Integer;
ну и делай цикл по всем I от 1 до 4 //это строки
в нём ещё один цикл по всем J от 1 до 4 //это столбцы
а уж в нём меняешь все элементы a[I,4-J+1] на 0.
конец цикла J
конец цикла I
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 21.11.2017, 09:46   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
ну и делай цикл по всем I от 1 до 4 //это строки
в нём ещё один цикл по всем J от 1 до 4 //это столбцы
а уж в нём меняешь все элементы a[I,4-J+1] на 0.
это неверно. двух циклов тут не нужно.

главная диагональ - for i:=1 to n do A[i,i] ....
побочная диагональ for i:=1 to n do A[i,n-i+1] ....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2017, 12:02   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

вдруг у товарища студента ещё какие дополнения в программе будут. и тогда придётся в одной строке использовать одну переменную для строк и столбцов и запоминать их каждый раз. поэтому и взял 2 переменные сразу.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 21.11.2017, 13:42   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
и тогда придётся в одной строке использовать одну переменную для строк и столбцов и запоминать их каждый раз.
Вы меня не поняли.
ладно, тогда поясню.

Цитата:
Сообщение от NetSpace Посмотреть сообщение
ну и делай цикл по всем I от 1 до 4 //это строки
в нём ещё один цикл по всем J от 1 до 4 //это столбцы
а уж в нём меняешь все элементы a[I,4-J+1] на 0.
ваша формула a[I,4-J+1] верна только в том случае, когда I и J равны.
в других случая полученный элемент не лежит на побочной диагонали.

тогда уже, если очень хочется два вложенных цикла (хотя тут вложенный цикл не нужен):
Код:
for i:=1 to 4 do
  for j:=1 to 4 do 
   if i=j then  a[I,4-J+1] := 0;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоставить программу с процедурой на задачу: разработать программу "Вокзал" которая выдает сведения Елена Мин Паскаль, Turbo Pascal, PascalABC.NET 0 12.12.2015 20:48
разработать программу на С++ dimitrijiyul Помощь студентам 1 27.12.2012 11:54
Разработать программы на С++, делфи, асамблере Юлія123456 Помощь студентам 0 10.04.2012 16:41
Разработать программу! BaHeK Общие вопросы .NET 3 23.03.2010 15:24