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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2012, 17:46   #1
Camelot_2012
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 90
Печаль Записи. Программа готово нужно подредактировать

Приняв способ изображения рационального числа в виде записи с двумя полями: числ, знам : integer, написать программу, позволяющую, во-первых, определить, есть ли среди 3 рациональных чисел равные и, во-вторых, вычислить наибольшее из данных рациональных чисел.
Код:
Program zapisi;
uses crt;
const n=3;
type
      Q=record
      ch:integer;
      zn:integer;
      end;
var
 a:array[1..n] of Q;
 i,j,k,max:integer;
 f:boolean;
 mx:Q;
begin  ClrScr;
for i:=1 to n do
 begin
  writeln('drob',i);
  write('ch=');
  readln(a[i].ch);
  repeat
  write('zn=');
  readln(a[i].zn);
  until a[i].zn>0;
 end;
clrscr;
writeln('Vvedennie drobi:');
for i:=1 to n do
write(a[i].ch,'/',a[i].zn,'   ');
writeln;
f:=false;
i:=1;
while(i<n)and not f do
 begin
  j:=i+1;
  while(j<=n) and not f do
  if(a[i].ch*a[j].zn=a[i].zn*a[j].ch) then f:=true
  else j:=j+1;
  if not f then i:=i+1;
 end;
if f then writeln('est ravnie')
else write('net ravnih');
mx:=a[1];
for i:=2 to n do
if a[i].ch/a[i].zn>mx.ch/mx.zn then mx:=a[i];
writeln('max = ',mx.ch,'/',mx.zn);
readln
end.
Помогите пожалуйста, написать без Булеевского типа.
Camelot_2012 вне форума Ответить с цитированием
Старый 20.04.2012, 20:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примерно так:
Код:
while((i+j)<n) do
 begin
  j:=i+1;
  while((i+j)<=n) do
   if(a[i].ch*a[j].zn=a[i].zn*a[j].ch) then i:=i+1
   else j:=j+1;
 end;
if i>0 then writeln('est ravnie')
P.S. не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2012, 13:09   #3
Camelot_2012
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 90
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Примерно так:
Код:
while((i+j)<n) do
 begin
  j:=i+1;
  while((i+j)<=n) do
   if(a[i].ch*a[j].zn=a[i].zn*a[j].ch) then i:=i+1
   else j:=j+1;
 end;
if i>0 then writeln('est ravnie')
P.S. не проверял.
А можешь полностью написать программу с заменой? пожалуйста!
Camelot_2012 вне форума Ответить с цитированием
Старый 22.04.2012, 11:52   #4
Camelot_2012
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 90
По умолчанию

У меня как-то так получилось!
Код:
Program zapisi;
uses crt;
const n=3;
type
      Q=record
      ch:integer;
      zn:integer;
      end;
var
 a:array[1..n] of Q;
 i,j,k,max:integer;
 mx:Q;
begin  ClrScr;
for i:=1 to n do
 begin
  writeln('drob',i);
  write('ch=');
  readln(a[i].ch);
  repeat
  write('zn=');
  readln(a[i].zn);
  until a[i].zn>0;
 end;
clrscr;
writeln('Vvedennie drobi:');
for i:=1 to n do
write(a[i].ch,'/',a[i].zn,'   ');
writeln;
i:=1;
while((i+j)<n) do
 begin
  j:=i+1;
  while((i+j)<=n) do
   if(a[i].ch*a[j].zn=a[i].zn*a[j].ch) then i:=i+1
   else j:=j+1;
 end;
if i>0 then writeln('est ravnie')
else write('net ravnih');
mx:=a[1];
for i:=2 to n do
if a[i].ch/a[i].zn>mx.ch/mx.zn then mx:=a[i];
writeln('max = ',mx.ch,'/',mx.zn);
readln
end.
Camelot_2012 вне форума Ответить с цитированием
Старый 22.04.2012, 12:51   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Результ правильный дало?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файл с текстом( почти готово) Чуччи Паскаль, Turbo Pascal, PascalABC.NET 0 22.03.2011 20:56
Необходимо подредактировать код. 603vvn Общие вопросы Delphi 5 17.06.2010 15:37
Подредактировать процедуру поиска файлов... Человек_Борща Общие вопросы Delphi 1 21.05.2010 23:55
подредактировать . Двухмерные массивы lilia2121 Помощь студентам 2 18.05.2010 09:40
C++ Динамический массив, почти готово pakupalos Помощь студентам 0 28.06.2009 12:41