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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2016, 22:42   #11
powerking11
Пользователь
 
Регистрация: 28.04.2016
Сообщений: 19
По умолчанию

я культурно попросил,так как для вас это не сложно и этот форум и существует для помощи по таким вопросам.
А утрировать на форуме по таким мелочам и пытаться унизить незнающего человека последнее дело.
С рядами и фактариалами,а также простыми функциями я разобрался.
А с матрицами проблема,можете просто объяснить алгоритм ?
powerking11 вне форума Ответить с цитированием
Старый 03.05.2016, 12:32   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А с матрицами проблема,можете просто объяснить алгоритм ?
Там, где используется Label.Caption - это вывод данных на форму.
Если у Вас консоль, то пишите вместо этого Write или WriteLn // по обстоятельствам.

Алгорим простой.
заполнить матрицу C
потом найти максимальное значение перебором.
для этого изначально считаем, что самый большой элемент в матрице - первый.
его и заносим в переменную max
потом берём следующий элемент массива, сравниваем его с max, если он больше, то его сохраняем в max, иначе ничего не делаем.
Как только дойдём до конца массива, в переменной max будет максимальное значение из тех, что мы перебрали.
всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.05.2016, 14:01   #13
powerking11
Пользователь
 
Регистрация: 28.04.2016
Сообщений: 19
По умолчанию

спасибо тебе,адекватный человек))
powerking11 вне форума Ответить с цитированием
Старый 04.05.2016, 15:26   #14
powerking11
Пользователь
 
Регистрация: 28.04.2016
Сообщений: 19
По умолчанию

Подскажите как в конце сделать цикл,нужно перемножить a на b, т.е. каждый a[i][j] на b[i][j]

Код:
program p_matrix;
{$APPTYPE CONSOLE}
uses
  SysUtils;
const
 MAX_INDEX = 4;
type
 arr_type = array[1..MAX_INDEX,1..MAX_INDEX] of integer;
var
 a,b,c : arr_type;
 
procedure input_matrix(var m : arr_type);
var
  i,j : integer;
begin
  for i:=1 to MAX_INDEX do
    begin
     write('row ' + IntToStr(i) + ': ');
     for j:=1 to MAX_INDEX do read(m[i][j]);
    end;
end;
 
begin
input_matrix(a);
input_matrix(b);

 
readln; 
 
end.
powerking11 вне форума Ответить с цитированием
Старый 04.05.2016, 15:51   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если в рамках ваших названий переменных, то
Код:
for i:=1 to MAX_INDEX do
  for j:=1 to MAX_INDEX do
     c[i,j] := a[i,j]*b[i,j];
p.s. это если C[1,1] равно A[1,1]*B[1,1]
C[2,3] = A[2,3] * B[2,3] и т.д.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2016, 19:09   #16
powerking11
Пользователь
 
Регистрация: 28.04.2016
Сообщений: 19
По умолчанию

Код:
const
 MAX_INDEX = 4;
type
 arr_type = array[1..MAX_INDEX,1..MAX_INDEX] of integer;
var
 a,b,c : arr_type;
 
// процедура построчного ввода матрицы
// числа разделяются пробелами
// по окнчании ввода строки давить Enter
procedure input_matrix(var m : arr_type);
var
  i,j : integer;
begin
  for i:=1 to MAX_INDEX do
    begin
     write('row ' + IntToStr(i) + ': ');
     for j:=1 to MAX_INDEX do read(m[i][j]);
    end;
end;
 
begin
input_matrix(a);
input_matrix(b);
// и вот сдесь нужен двойной цикл?
 
readln; // ожидание нажатия Enter
 
end.
Но если так,то не могу вогнать его туда. Ругаеться какая то несовместимость
Код:
const
 MAX_INDEX = 4;
type
 arr_type = array[1..MAX_INDEX,1..MAX_INDEX] of integer;
var
 a,b,c : arr_type;
procedure input_matrix(var m : arr_type);
var
  i,j : integer;
begin
  for i:=1 to MAX_INDEX do
    begin
     write('row ' + IntToStr(i) + ': ');
     for j:=1 to MAX_INDEX do read(m[i][j]);
    end;
end;

begin
input_matrix(a);
input_matrix(b);
for i:=1 to MAX_INDEX do
  for j:=1 to MAX_INDEX do
     c[i,j] := a[i,j]*b[i,j];
 end;
readln;

end.
powerking11 вне форума Ответить с цитированием
Старый 04.05.2016, 22:15   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
program Project19;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  MAX_INDEX = 2;
type
  arr_type = array[1..MAX_INDEX, 1..MAX_INDEX] of integer;

procedure input_matrix(var m: arr_type);
var
  i, j: integer;
begin
  for i := 1 to MAX_INDEX do
  begin
    write('row ' + IntToStr(i) + ': ');
    for j := 1 to MAX_INDEX do read(m[i][j]);
  end;
end;

procedure multiply_matrix(const a, b: arr_type; var m: arr_type);
var
  i, j: integer;
begin
  for i := 1 to MAX_INDEX do
    for j := 1 to MAX_INDEX do
      m[i, j] := a[i, j] * b[i, j];
end;

procedure print_matrix(const m: arr_type; const titul: string);
var
  i, j: integer;
begin
  WriteLn(titul);
  for i := 1 to MAX_INDEX do
  begin
    for j := 1 to MAX_INDEX do
      Write(m[i, j]: 4, ' ');
    WriteLn;
  end;
end;


var
  a, b, c: arr_type;

begin
  input_matrix(a);
  input_matrix(b);
  Readln;
  multiply_matrix(a, b, c);
  print_matrix(c, 'Matrix C:');
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2016, 23:47   #18
powerking11
Пользователь
 
Регистрация: 28.04.2016
Сообщений: 19
По умолчанию

Теперь буду знать как писать такой цикл)
Вяликае спасибо!
powerking11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простенькие курсовые задачи (Delphi) Frustration Фриланс 4 14.05.2013 21:54
Простенькие задачи на мнемокодах Amet13 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 03.11.2012 15:26
Рeшить простенькие задачи на с++ за 1 семестр за денежку. Andrew85252 Фриланс 3 20.04.2011 18:46
Простенькие задачки на С Katerina90 Общие вопросы C/C++ 4 29.05.2009 00:59