IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Матрица, задача.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Ещё одна..Последняя зачётная задачка...Решить подробно и полностью.Расцелую всех.

Ввести размерность матрицы и значения ее элементов. Построить вектор В, где В(i) - максимальное значение в i-ом столбце.

Задание второе....(сперва решить,а потом это)

Сделать в виде МЕНЮ.(очень нужно)

1. Ввод данных
2. Ввод массива
3. <задание по лабе>
4. ....
0. Выход

после нажатия цифры на клавиатуре я должна перейти к указанному действию, после выполнения которого вернуться в меню.

Сообщение отредактировано: Carola -


--------------------
°in the game of seduction, there is only one rule:never fall in love°
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ты хоть начни делать .. поможем, не принято у нас полные решения давать ... rolleyes.gif

Задача твоя решалась неоднократно, поищи по форуму... с меню тоже все просто, попробуй сдеалть сама, не получится поправим.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


Цитата(klem4 @ 14.12.2005 22:31) *

Ты хоть начни делать .. поможем, не принято у нас полные решения давать ... rolleyes.gif

Задача твоя решалась неоднократно, поищи по форуму... с меню тоже все просто, попробуй сдеалть сама, не получится поправим.


Мммм.как я сделаю сама,если даже не знаю что такое Паскаль....Объясняла...Из больницы я...Знала бы и правдда сама сделала..Зачёт уже сдавать надо....Я не успею даже прочитать что и как делать.


--------------------
°in the game of seduction, there is only one rule:never fall in love°
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


вот посмотри, набросал, далеко не идеально, но думаю поможет тебе разобраться что к чему ...

uses crt;
const
n=3;
type
TVector = array[1..n] of integer;
TMatrix = array[1..n] of TVector;
var
vector : TVector;
matrix : TMatrix;
quit : boolean;

procedure InputMatrix(var x : TMatrix);
var
i,j : byte;
begin
for i := 1 to n do
for j := 1 to n do begin
write('x[',i,',',j,']=');
readln(x[i,j]);
end;

writeln;
writeln('Input Done');
readln;
end;

procedure PrintMatrix(x : TMatrix);
var
i,j : byte;
begin
clrscr;
for i := 1 to n do begin
writeln;
for j := 1 to n do
write(x[i,j]:3,' ');
end;

writeln;
writeln('Print Done');
readln;
end;

function GetMax(var x : TMatrix; col : byte) : integer;
var
i : byte;
max : integer;
begin
max := 1;
for i := 2 to n do
if x[i,col] > x[max, col] then
max := i;
GetMax := x[max,col];

end;

procedure GetVector(var v : TVector; x : TMatrix);
var
j : byte;
begin
for j := 1 to n do
v[j] := GetMax(x,j);

writeln;
writeln('Get Vector Done');
readln;
end;

procedure PrintVector(v : TVector);
var
i : byte;
begin
clrscr;
for i := 1 to n do
writeln('v[',i,']=',v[i]);

writeln;
writeln('Print Vector Done');
readln;
end;

procedure Menu(var q : boolean);
var
choice : char;
begin
clrscr;
writeln('1 -> Input Matrix');
writeln('2 -> Print Matrix');
writeln('3 -> Get Vector');
writeln('4 -> Print Vector');
writeln;
writeln('0 -> Quit');

repeat
choice := readkey;
until choice in ['0'..'4'];

case choice of
'1' : InputMatrix(matrix);
'2' : PrintMatrix(matrix);
'3' : GetVector(vector, matrix);
'4' : PrintVector(vector);
'0' : quit := true;
end;

exit;
end;

begin
clrscr;
quit := false;
while not(quit) do Menu(quit);
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Еще один, раз уж сделал...
uses crt;

Const
max_n = 10; // rows
max_m = 10; // cols
Type
Vector = Array[1 .. max_m] Of Integer;
Matrix = Array[1 .. max_n, 1 .. max_m] of Integer;

Procedure Read_Dimension(var n, m: Integer);
Begin
Repeat
Write('Enter the rows count: [1 .. ', max_n, '] ');
ReadLn(n);
Until (n > 0) and (n <= max_n);

Repeat
Write('Enter the columns count: [1 .. ', max_m, '] ');
ReadLn(m);
Until (m > 0) and (m <= max_m);
End;

Procedure Read_Matrix(Var A: matrix; n, m: Integer);
Var
i, j: Integer;
Begin

For i := 1 To n Do
For j := 1 To m Do Begin
Write('A[', i:2, ',', j, '] = '); ReadLn(A[i,j]);
End

End;


Procedure Calculate(A: matrix; n, m: Integer;
Var B: vector);
Var
i, j, max: Integer;
Begin

For j := 1 To m Do Begin

max := a[1, j];
For i := 2 To n Do
If a[i, j] > max Then max := a[i, j];
B[j] := max;

End;
WriteLn('Done');

End;

Procedure Show_Array(B: Vector; m: integer);
Var
i: integer;
Begin
For i := 1 To m Do
Write(B[i]:4);
Writeln;
End;


var
A: Matrix;
B: Vector;
i, m, n: integer;

menu: char;

const
menu_size = 5;
menu_str: array[1 .. menu_size] of string =
('1. Enter dimensions',
'2. Enter the matrix',
'3. Calculate ',
'4. Show an array ',
'0. Exit ');

begin
repeat
clrscr;
for i := 1 to menu_size do begin
gotoxy(10, 10+i); write(menu_str[i]);
end;

repeat
menu := readkey;
until menu in ['0' .. '4'];

ClrScr;
case menu of
'1': Read_Dimension(n, m);
'2': Read_Matrix(A, n, m);
'3': Calculate(A, n, m, B);
'4': Show_Array(B, m);
'0': WriteLn('Halting...');
end;
WriteLn;
WriteLn('Press ENTER to continue...');
ReadLn;

until menu = '0';
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


give_rose.gif


--------------------
°in the game of seduction, there is only one rule:never fall in love°
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 5:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name