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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2012, 10:50   #1
Danti4
Новичок
Джуниор
 
Регистрация: 02.07.2012
Сообщений: 1
По умолчанию Массив(Delphi)

Помогите с задачей.
Дана таблица a(n:m). Умножить каждый элемент первой строки на a[1,1](в том числе и элемент a[1,1]), а каждый элемент второй строки на a[2,2] и т.д.
Помогите пожалуйста
Danti4 вне форума Ответить с цитированием
Старый 02.07.2012, 11:27   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Ну раз нет даже попыток решить самому, то сколько платите?
p51x вне форума Ответить с цитированием
Старый 02.07.2012, 11:37   #3
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Код:
const
  rows = 7;
  cols = 8;
var
  matrix: array[1..rows, 1..cols] of integer;
  i, j: integer;
begin
  randomize;
  // Заполнение
  for i := 1 to rows do
    for j := 1 to cols do
      matrix[i, j] := random(10);
  // Умножение каждого элемента строки на
  // первый элемент в строке
  for i := 1 to rows do
    for j := 1 to cols do
      matrix[i, j] := matrix[i, j] * matrix[i, 1];
end;
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 02.07.2012, 11:43   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Петррр, неверно.
Цитата:
Код:
    for j := 1 to cols do
      matrix[i, j] := matrix[i, j] * matrix[i, 1];
после первого же умножения в matrix[i, 1] запишется ПРОИЗВЕДЕНИЕ.
все последующие умножения будут идти не на значение 1-го элемента строки, а на его квадрат.

методы решения - либо завести дополнительную переменную (это просто, но не очень элегантно), либо крутить цикл от последного элемента строки к первому.
вот так, примерно:
Код:
    for j := cols downto 1 do
      matrix[i, j] := matrix[i, j] * matrix[i, 1];
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянный массив указателей на постоянный массив Delphi Kreadlling Общие вопросы Delphi 2 16.04.2012 15:28
массив, delphi azat94krg Помощь студентам 6 28.03.2012 00:59
массив (delphi) konj Помощь студентам 2 19.12.2011 18:29
Массив, Delphi Melissa Помощь студентам 2 19.03.2009 09:26
Массив (Delphi) stasig Помощь студентам 2 28.02.2009 21:43