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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2013, 20:09   #1
waxwing
Новичок
Джуниор
 
Регистрация: 24.05.2013
Сообщений: 2
По умолчанию Задача с матрицей.

Условие задачи такое:
В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент. Получить квадратную матрицу порядка n-1 путем отбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением.
Программу нужно представить в таком виде, чтобы она данные матрицы брала из файлов(их у нас несколько, к примеру 2 или 3) в начале работы она спрашивает "из какого файла берем данные?", после мы пишем имя файла и она начинает работать.
Нахождение наибольшего по модулю элемента нужно сделать с помощью подпрограммы функции, а отбрасывание строки и столбца с помощью процедуры. Спасибо за помощь!!!
waxwing вне форума Ответить с цитированием
Старый 24.05.2013, 20:39   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Что Вы уже сделали в направлении решения задачи?
Какие-либо наработки?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 24.05.2013, 20:54   #3
waxwing
Новичок
Джуниор
 
Регистрация: 24.05.2013
Сообщений: 2
По умолчанию

Есть текст программы. Общий. Но здесь ввод массива с клавиатуры, а не из файла. Не понимаю, как сделать так чтобы программа брала данные из файла...
var
i, j, n, m_i, m_j, maxmod: integer;
matrix: array[1..50,1..50] of integer;
begin
writeln('Введите размер матрицы:');
readln(n);
for i:=1 to n do
for j:=1 to n do matrix[i,j]:=-100+random(200);
maxmod:=abs(matrix[1,1]);
m_i:=1;
m_j:=1;
for i:=1 to n do
for j:=1 to n do
if abs(matrix[i,j])>maxmod then
begin
maxmod:=abs(matrix[i,j]);
m_i:=i; m_j:=j;
end;

writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to n do write(matrix[i,j]:6);
writeln;
end;
writeln('Максимальный по модулю элемент матрицы,[',m_i,';',m_j,'] = ', matrix[m_i, m_j]:6);
for i:=1 to n do
if (i<>m_i) then
begin
for j:=1 to n do
if (j<>m_j) then write(matrix[i,j]:6);
writeln;
end;
end.
waxwing вне форума Ответить с цитированием
Старый 24.05.2013, 21:05   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Здесь ввод не с клавиатуры, а заполнение случайными числами (только размер задается пользователем).
Код для считывания:
Код:
var
  s :string;
  f: text;
begin
  writeln('Введите имя файла');
  readln(s);
  assign(f, s);
  reset(f);
  readln(f, n);
  for i := 1 to n do
    for j := 1 to n do
      read(f, matrix[i,j]);
  close(f);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с матрицей Сергей124 Паскаль, Turbo Pascal, PascalABC.NET 1 25.11.2012 20:30
Задача с матрицей coolplayer Общие вопросы C/C++ 0 18.01.2012 12:23
Задача с матрицей fightclub Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 15.01.2010 10:31
Задача с матрицей bonys91 Помощь студентам 1 02.04.2009 20:02