Turbo Pascal

Пух

كنت بلهاء
Модератор
Ответ: Turbo Pascal

Помгите решить такую задачу:

Задана прямоугольная цілочисельна таблица А розмірности N x M.Знайти найменше число К, яке має таку властивість: хоча б в одному рядку таблиці всі елементи не перевищують К.
Халявная задачка. найди в каждой строке наибольшее число, а потом из найденных выбери наименьшее, это и будет К. не хочется время тратить на написание, слишком простое и не интересное задание.
была у меня задача: в двухмерном массиве, заполненом случайными числами найти максимальный элемент в каждой строке, а потом минимальный из них. Задачи одинаковые, вот код проги: (только таблица 5*5)
Код:
program massiv1;
uses crt;
var a:array[0..5,0..5] of integer;
b:array[0..5] of integer;
y,x,i,g,j,max,min:integer;
ch:char;
begin
clrscr; randomize;
for i:=1 to 5 do
for j:=1 to 5 do
begin
g:=random(100);
a[i,j]:=45-g;
end;
y:=1;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
case j of
1:x:=27;
2:x:=34;
3:x:=41;
4:x:=48;
5:x:=55;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,4);
end;
writeln('');
for i:=1 to 5 do
begin
max:=a[i,1];
for j:=2 to 5 do
if max<a[i,j]
then
max:=a[i,j];
gotoxy(1,45);
b[i]:=max;
end;
min:=b[1];
for i:=2 to 5 do
if b[i]<min
then
min:=b[i];
gotoxy(1,46);
writeln('');
writeln('K=',min);
ch:=readkey;
end.
 

Vadim

Member
Ответ: Turbo Pascal

была у меня задача: в двухмерном массиве, заполненом случайными числами найти максимальный элемент в каждой строке, а потом минимальный из них. Задачи одинаковые, вот код проги: (только таблица 5*5)
Код:
program massiv1;
uses crt;
var a:array[0..5,0..5] of integer;
b:array[0..5] of integer;
y,x,i,g,j,max,min:integer;
ch:char;
begin
clrscr; randomize;
for i:=1 to 5 do
for j:=1 to 5 do
begin
g:=random(100);
a[i,j]:=45-g;
end;
y:=1;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
case j of
1:x:=27;
2:x:=34;
3:x:=41;
4:x:=48;
5:x:=55;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,4);
end;
writeln('');
for i:=1 to 5 do
begin
max:=a[i,1];
for j:=2 to 5 do
if max<a[i,j]
then
max:=a[i,j];
gotoxy(1,45);
b[i]:=max;
end;
min:=b[1];
for i:=2 to 5 do
if b[i]<min
then
min:=b[i];
gotoxy(1,46);
writeln('');
writeln('K=',min);
ch:=readkey;
end.
спосибо
 

Cris

Member
Ответ: Turbo Pascal

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

FEOFAN

http://feofan.com
Ответ: Turbo Pascal

Драйвер мыши нужно подключать. Просто не советую этим заморачиваться.
 

ViRT

куда хочу - туда лечу :)
Ответ: Turbo Pascal

люди подскажите как можно зделать чтоб можнобыло использовать мышку в паскаль, я имею ввиду то что как написать прогу чтоб еси кликнуть дето кнопкой мышы то будут возврашатся кординаты курсора ..... чтоб можна было в прогах использовать типа кнопки делать ...
именно на тп7
Если ты про ДОСовский Паскаль, то когда-то давно я делал так:

Код:
procedure showmouse;
assembler;
asm
mov ax,1
int 33h
end;

procedure hidemouse;
assembler;
asm
mov ax,2
int 33h
end;

procedure resetmouse;
assembler;
asm
mov ax,0
int 33h
end;

procedure setmxy(x,y:byte);
var
  x1,y1:integer;
begin
if (x>=1) and (x<=80) then x1:=(x-1)*8 else x1:=0;
if (y>=1) and (y<=25) then y1:=(y-1)*8 else y1:=0;
asm
mov ax,4
mov cx,x1
mov dx,y1
int 33h
end;
end;

function pressmbut(buttion:integer):boolean;
label n1,n2;
var
 s:byte;
begin
s:=0;
asm
mov ax,5
mov bx,buttion
int 33h
cmp bx,0
jne n1
jmp n2
n1:mov s,1
n2:
end;
if s<>0 then pressmbut:=true else pressmbut:=false;
end;

function wheremx:byte;
var
  s:integer;
begin
asm
mov ax,3
int 33h
mov s,cx
end;
s:=round(s/8+1);
wheremx:=s;
end;

function wheremy:byte;
var
 s:integer;
begin
asm
mov ax,3
int 33h
mov s,dx
end;
s:=round(s/8+1);
wheremy:=s;
end;
 

Cris

Member
Ответ: Turbo Pascal

спс,
да досовский)
как я понял то функции wheremx и wheremy
возврашают положении курсора міши7


посмотрел я на все єто и действительно с емим морочится .....
а так можна когдато попробивать))))
когда прогу без мыши зделаю так потом и с мышкой буду пробывать)
 

Cris

Member
Ответ: Turbo Pascal

show - єт я понял как показать курсор, hide спрятать
reset - єт я несовсем понял но кажется обновить местоположение.
сетиху ет установить курсор міши там де надо))

а как зделать чтоб еше шото реагировало на клики а тотока ты меня водить мышкой научил а клаца не))(
 
Останнє редагування:

ViRT

куда хочу - туда лечу :)
Ответ: Turbo Pascal

а как зделать чтоб еше шото реагировало на клики а тотока ты меня водить мышкой научил а клаца не))(
Например, для реакции на нажатие левой клавиши мыши для меню, расположенного на последней (25-й) строке экрана (как в far'е):

Код:
if pressmbut(0) then begin
  if wheremy=25 then
   case wheremx of
     3..15: mdcode;
    23..37: chcode;
    45..59: rdcode;
    67..76: exitprm;
end;
 

Cris

Member
Ответ: Turbo Pascal

а ты незнаеш как делать проверку сушествует файл или нет
и как вывести файлы которые находятся в той или иной папке?
или зделать дерево каталогов и чтоб клацаеш и выбираеш какой нужно?
 
Останнє редагування:
Зверху