Консультация № 175970
10.01.2010, 13:01
0.00 руб.
0 4 1
Помогите сделать матрицу, надо чтобы при нажатии клавиши CTRL+F9 на экране появилась матрица в ней было 7строк и 4 столбца. а потом ввести i(5) и отобразилась 5строка. Ввести матрицу m*n и вывести на печать i,j-ый элемент, i-ю строку или j-ый столбец.
m n i Пожалуйста помогите решить, очень прошу. заранее огромное спасибо.
7 4 5

Обсуждение

давно
Профессор
401888
1232
10.01.2010, 13:35
общий
это ответ
Здравствуйте, Елена Николаевна!
Судя по условию, это 2 разные задачи. Решение в приложении.

Приложение:
1.
uses crt;
const m=7;{размеры матрицы}
n=4;
var a:array[1..m,1..n] of integer;{тип матрицы-целые числа}
i,j,k:byte;
begin
clrscr;
randomize;{генерация псевдослучайных чисел}
writeln('Исходная матрица:');
for k:=1 to m do
begin
for j:=1 to n do
begin
a[k,j]:=random(20);{заполним матрицу случайными числами от 0 до 19}
write(a[k,j]:4);{выведем построчно на экран}
end;
writeln;{переход на новую строку}
end;
repeat
write('Введите номер строки от 1 до ',m,' i=');
readln(i);
until i in [1..m];{проверяем чтоб номер строки был в диапазоне}
writeln('Строка ',i);
for k:=1 to n do
write(a[i,k]:4);{выводим строку}
readln
end.
2.
uses crt;
const nmax=20;{максимальный размер матрицы, можете поменять}
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,k:byte;
begin
clrscr;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(20);
write(a[i,j]:4);
end;
writeln;
end;
repeat
write('Введите координаты элемента:');
readln(i,j);
until(i in [1..m])and(j in [1..n]);
writeln('Элемент [',i,',',j,']=',a[i,j]);
repeat
write('Введите номер строки от 1 до ',m,' i=');
readln(i);
until i in [1..m];
writeln('Строка ',i);
for k:=1 to n do
write(a[i,k]:4);
writeln;
repeat
write('Введите номер столбца от 1 до ',n,' j=');
readln(j);
until j in [1..n];
writeln('Столбец ',j);
for k:=1 to m do
write(a[k,j]:4);
readln
end.
давно
Профессионал
304622
583
11.01.2010, 21:09
общий
Елена Николаевна:
Зачем писать лишнее? Зачем нам объяснять, как BP программа на выполнение запускается? Я как прочитал про "нажатие CTRL+F9", сразу начал прикидывать, как в паскалевской программе клавишу Ctrl перехватить без перехода на системные прерывания. Я ж поначалу подумал, что в _программе_ надо на них нажимать.
давно
Старший Модератор
31795
6196
12.01.2010, 18:22
общий
Сергей Бендер:
Цитата: Сергей Бендер
Я как прочитал про "нажатие CTRL+F9", сразу начал прикидывать, как в паскалевской программе клавишу Ctrl перехватить без перехода на системные прерывания.

Помоему просто:
Код:
uses
crt;
var
a,b:char;
begin
writeln('Begin');
b:=' ';
repeat
if KeyPressed then
begin
b:=a;
a:=Readkey;
end;
if (ord(b)=0)and(ord(a)=102)then writeln('Stop');
until (ord(b)=0)and(ord(a)=102);
write('End');
readKey;
end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Профессионал
304622
583
12.01.2010, 20:12
общий
Зенченко Константин Николаевич:
Цитата: Зенченко Константин Николаевич

Помоему просто:


В-вах-х! Ничего себе! Чего узнаешь, после двадцати-то лет пользования!
Спасибо большое.

ЗЫ Казалось бы чего проще. Надо другой смайлик поставить -- .
Форма ответа