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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2008, 23:05   #1
UberStas
 
Аватар для UberStas
 
Регистрация: 12.06.2008
Сообщений: 7
По умолчанию Использование обьектов

Я написал программу, она работает. Но изменили условие, мне необходимо использовать объекты, а я незнаю как это сделать.
Вот задача:
Заданы 2 матрицы действительных чисел размером 5х6 и 8х7. В матрице поменять местами строки с максимальной и минимальной суммой элементов. Сравнить как изменилась позиция минимального элемента матрицы.
Вот программа:
Код:
program ZZ;
uses crt;
var
a:array[1..5,1..6] of real;
b:array[1..8,1..7] of real;
a1:array[1..5] of real;
b2:array[1..8] of real;
i,j,index_max,index_min:byte;
s,smax,smin,byfer:real;

procedure mas_a;
begin
randomize;
writeln('cozdanui massiv a');
for i:=1 to 5 do
   begin
   writeln;
   s:=0;
   for j:=1 to 6 do
      begin
        a[i,j]:=random(100);
        write(a[i,j]:5:2,' ');
        s:=s+a[i,j];
      end;
   a1[i]:=s;
   end;
{vuscislenie max min}
writeln;
smax:=a1[1];index_max:=1;
smin:=a1[1];index_min:=1;
for i:=2 to 5 do
  begin
   if a1[i]>smax then begin smax:=a1[i];index_max:=i;end;
   if a1[i]<smin then begin smin:=a1[i];index_min:=i;end;
  end;
writeln('max summa elementov stroki =',smax:5:2,' c indeksom =',index_max);
writeln('min summa elementov stroki =',smin:5:2,' c indeksom =',index_min);

{smena strok mestami}
for i:=1 to 6 do
  begin
    byfer:=a[index_max,i];
    a[index_max,i]:=a[index_min,i];
    a[index_min,i]:=byfer;
  end;
{vuvod izmenennogo massiva}
writeln('vuvod izmenennogo massiva a');
for i:=1 to 5 do
   begin
   writeln;
   for j:=1 to 6 do write(a[i,j]:5:2,' ');
   end;
end;

procedure mas_b;
begin
randomize;
writeln('cozdanui massiv b');
for i:=1 to 8 do
   begin
   writeln;
   s:=0;
   for j:=1 to 7 do
      begin
        b[i,j]:=random(100);
        write(a[i,j]:5:2,' ');
        s:=s+b[i,j];
      end;
   a1[i]:=s;
   end;
{vuscislenie max min}
writeln;
smax:=a1[1];index_max:=1;
smin:=a1[1];index_min:=1;
for i:=2 to 8 do
  begin
   if a1[i]>smax then begin smax:=a1[i];index_max:=i;end;
   if a1[i]<smin then begin smin:=a1[i];index_min:=i;end;
  end;

writeln('max summa elementov stroki =',smax:5:2,' c indeksom =',index_max);
writeln('min summa elementov stroki =',smin:5:2,' c indeksom =',index_min);

{smena strok mestami}
for i:=1 to 8 do
  begin
    byfer:=a[index_max,i];
    a[index_max,i]:=a[index_min,i];
    a[index_min,i]:=byfer;
  end;
{vuvod izmenennogo massiva}
writeln('vuvod izmenennogo massiva b');
for i:=1 to 8 do
   begin
   writeln;
   for j:=1 to 7 do write(a[i,j]:5:2,' ');
   end;

end;
BEGIN
clrscr;
mas_a;
readln;
clrscr;
mas_b;
readln;
END.
Программа на паскале.
Кто может, подскажите.
Ubermensch!
UberStas вне форума Ответить с цитированием
Старый 13.06.2008, 08:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Давно уж Обьектный паскаль не рулил. Вот... Memory Remains...
Код:
program ZZ;
uses crt;
type Tmy=Object
 a:array[1..5,1..6] of real;
 b:array[1..8,1..7] of real;
 a1:array[1..5] of real;
 b2:array[1..8] of real;
 index_max,index_min:byte;
 s,smax,smin,byfer:real;
 procedure mas_a;
 procedure mas_b;
 constructor con;
end;
var my:tmy;
constructor tmy.con;
begin

end;
procedure tmy.mas_a;
var i,j:integer;
begin
randomize;
writeln('cozdanui massiv a');
for i:=1 to 5 do
   begin
   writeln;
   s:=0;
   for j:=1 to 6 do
      begin
        a[i,j]:=random(100);
        write(a[i,j]:5:2,' ');
        s:=s+a[i,j];
      end;
   a1[i]:=s;
   end;
{vuscislenie max min}
writeln;
smax:=a1[1];index_max:=1;
smin:=a1[1];index_min:=1;
for i:=2 to 5 do
  begin
   if a1[i]>smax then begin smax:=a1[i];index_max:=i;end;
   if a1[i]<smin then begin smin:=a1[i];index_min:=i;end;
  end;
writeln('max summa elementov stroki =',smax:5:2,' c indeksom =',index_max);
writeln('min summa elementov stroki =',smin:5:2,' c indeksom =',index_min);

{smena strok mestami}
for i:=1 to 6 do
  begin
    byfer:=a[index_max,i];
    a[index_max,i]:=a[index_min,i];
    a[index_min,i]:=byfer;
  end;
{vuvod izmenennogo massiva}
writeln('vuvod izmenennogo massiva a');
for i:=1 to 5 do
   begin
   writeln;
   for j:=1 to 6 do write(a[i,j]:5:2,' ');
   end;
end;

procedure tmy.mas_b;
var i,j:integer;
begin
randomize;
writeln('cozdanui massiv b');
for i:=1 to 8 do
   begin
   writeln;
   s:=0;
   for j:=1 to 7 do
      begin
        b[i,j]:=random(100);
        write(a[i,j]:5:2,' ');
        s:=s+b[i,j];
      end;
   a1[i]:=s;
   end;
{vuscislenie max min}
writeln;
smax:=a1[1];index_max:=1;
smin:=a1[1];index_min:=1;
for i:=2 to 8 do
  begin
   if a1[i]>smax then begin smax:=a1[i];index_max:=i;end;
   if a1[i]<smin then begin smin:=a1[i];index_min:=i;end;
  end;

writeln('max summa elementov stroki =',smax:5:2,' c indeksom =',index_max);
writeln('min summa elementov stroki =',smin:5:2,' c indeksom =',index_min);

{smena strok mestami}
for i:=1 to 8 do
  begin
    byfer:=a[index_max,i];
    a[index_max,i]:=a[index_min,i];
    a[index_min,i]:=byfer;
  end;
{vuvod izmenennogo massiva}
writeln('vuvod izmenennogo massiva b');
for i:=1 to 8 do
   begin
   writeln;
   for j:=1 to 7 do write(a[i,j]:5:2,' ');
   end;

end;
BEGIN
my.con;
clrscr;
my.mas_a;
readln;
clrscr;
my.mas_b;
readln;
END.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.06.2008, 18:55   #3
UberStas
 
Аватар для UberStas
 
Регистрация: 12.06.2008
Сообщений: 7
По умолчанию

Большое спасибо. Очень помог.
Ubermensch!
UberStas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование *.swf Романнн Мультимедиа в Delphi 14 02.04.2010 09:27
Создание обьектов во время работы программы Rusl92 Общие вопросы Delphi 4 11.08.2008 17:03
Перетаскивание обьектов Witaliy Общие вопросы Delphi 6 27.04.2008 19:22
Форма как "Инспектор обьектов" Dj_smart Общие вопросы Delphi 2 09.04.2008 21:01
Создание обьектов файловой системы через делфи BETONOMESHALKA Общие вопросы Delphi 2 26.12.2007 22:17