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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 19:34   #1
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию Paskal real в матрице

Подскажите как сделать так, что бы в конечной матрице были вещественные числа? к примеру: 7 делим на 2 получается 3.5, а в программе будет выдавать просто число 3. Так как сделать так,чтобы в итоге выдавало 3.5??
Вот код программы с оформлением:
Код:
program lab4;
uses  crt;
Label
   L1,L2;
var
A : array [1..100,1..100] of integer;
j : array [1..100,1..100] of integer;
ch:char;
x, y, q, error:integer;
begin
clrscr;
   window(3,4,70,14);
    writeln('Вашему вниманию представляется программа');
    writeln('которая находит в столбцах матрицы положительные >0 элементы,');
    writeln('подсчета их количества и сумм.);
    writeln('Затем получает новую матрицу, в которой элементы’);
    writeln('будут представлены числами, полученные от деления ');
    writeln('положительных элементов по столбцу на значение конкретного элемента.');
    writeln('Требования:');
    writeln('Элементы матрицы должны быть целыми числами!');
    writeln('Размерность матрицы должна быть не меньше двух,');
    writeln('но и не более ста элементов');
    window(42,15,75,23);
    writeln(‘Программу составил студент’);
    writeln('*************');
    window(1,1,75,25);
    gotoxy(20,24);
    writeln('для продолжении нажмите любую клавишу ');
    Ch:=readkey;
    L1:Clrscr;
repeat
    write('Введите размерность матрицы: ');
    {$I-}
    readln(q);
    error:=IOResult;
    {$I+}
    If(error<>0) or (q>100) or (q<2) then
    writeln('Ошибка ввода размерности’);
    until(error=0) and (q<=100) and (q>=2);
    writeln('Введите матрицу:',q,' столбца(ов) и ',q,' строк(и)');

for y:=1 to q do
begin
for x:=1 to q do
 begin
{$I-}
repeat
 read (A[y,x]);
         error:=ioresult;
         {$I+}
         If ( A[y,x] > 99) or (A[y,x] < -99) or (Error <> 0)  then
          writeln('ошибка ввода элемента матрицы’);
      until ( A[y,x] <=99) and ((A[y,x] >=-99) and (Error = 0));
     Readln;
     end;
     end;
     clrscr;
   writeln(‘Исходная матрица’);
     y:=0;
   while y < q do
    begin
       x:=1;
       j[y+1,1]:=0;
       j[y+1,2]:=0;
      repeat
     if A[y+1,x]>0 then
        begin
     j[y+1,1]:=j[y+1,1]+ A[y+1,x];
     j[Y+1,2]:=  j[Y+1,2]+1;
        end;
      inc(x);
      until x>q;
     y:=y+1;
    end;
    writeln('');
   y:=1;
   repeat
     for x:=1 to q do
       begin
   if  (y=1)  then
        write('_____')
       else
   if  (y>q+1)  then
        write('-----')
         else
        begin
           if A[x,y-1] > -1 then
                write(' ');
        write(A[x,y-1]);
        write(' | ');
         end;
        end;
       writeln;
       inc(y,1);
    until (q+2<y);

    for x:=1 to q do
      begin
      write(' ');
 write(j[x,1]);
        write(' | ');
      end;
 writeln(' сумма элементов >0');
     for x:=1 to q do
      begin
   write(' ');
 write(j[x,2]);
        write(' | ');
      end;
 writeln(' количество элементов >0');

for x:=1 to q do
for y:=1 to q do
if A[x,y]<>0 then
A[x,y]:= j[x,1] div A[x,y];
 writeln;

   writeln(‘Полученная матрица’);
   x:=0;
   repeat
     inc(x,1);
     for y:=1 to q do
     begin
       if  (x=1)  then
         write('_____')
         else
   if  (x>q+1)  then
        write('-----')
         else
        begin
     if A[y,x-1] > -1 then
                write(' ');
     write(A[y,x-1]);
     write(' | ');
        end;
     end;
     writeln;
   until q<(x-1);
begin
  writeln;
  writeln('Хотите повторить? <Y/N)');
       L2:
           Case Readkey of
           #89: Goto L1;
           #121: Goto L1;
           #78: Exit;
           #110: Exit;
       End;
       Goto L2;
readln;
readln;
end;
end.

Последний раз редактировалось Fromki; 24.12.2010 в 19:36.
Fromki вне форума Ответить с цитированием
Старый 24.12.2010, 19:46   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var
A : array [1..100,1..100] of real;
j : array [1..100,1..100] of real;
и div замените на /
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 24.12.2010 в 20:17.
Mad_Cat вне форума Ответить с цитированием
Старый 24.12.2010, 20:06   #3
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию

Ошибка 96 и указывает на j : array [1..100,1..100] of real;
Fromki вне форума Ответить с цитированием
Старый 24.12.2010, 20:14   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Ошибка 96 и указывает на j : array [1..100,1..100] of real;
а у меня не ругается)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 24.12.2010, 20:30   #5
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию

все равно не работает
Fromki вне форума Ответить с цитированием
Старый 24.12.2010, 21:38   #6
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию

кто-нибудь может помочь?
Fromki вне форума Ответить с цитированием
Старый 24.12.2010, 23:33   #7
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию

ошибка и все
Fromki вне форума Ответить с цитированием
Старый 03.01.2011, 19:33   #8
Fromki
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 60
По умолчанию

Все я разобрался, просто надо было задать новую матрицу
Fromki вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с real ! BuTeK1 Паскаль, Turbo Pascal, PascalABC.NET 2 13.01.2009 19:08
Переменные REAL Terabit Паскаль, Turbo Pascal, PascalABC.NET 9 03.11.2008 21:26
Форматировние real MasterofCDM Общие вопросы Delphi 2 23.09.2008 10:02
real to string terminadoor Помощь студентам 6 28.07.2008 09:27
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13