Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 195

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты! Не могу найти ошибку в своей программе, решашая задачу: В массиве F(n,m) заменить все положительные элементы их квадратами, а отрицательные – их кубами:

Приложение:
  1. program Pervun5_2;
  2. {$APPTYPE CONSOLE}
  3. uses
  4. SysUtils;
  5.  
  6. const
  7. n=4;
  8.  
  9. type
  10.  
  11. var
  12.  
  13.  
  14. begin
  15.  
  16. WriteLn('Type real elements of array A:');
  17. for i:=1 to n do
  18.  
  19. for i:=1 to n do
  20. for j:=1 to m do
  21. if F[i,j]<0 then F[i,j]:=F[i,j]*F[i,j]*F[i,j];
  22. if F[i,j]>0 then F[i,j]:=SQR(F[i,j]);
  23. Writeln;
  24. for i:=1 to n do
  25. for j:=1 to m do
  26. Write(F[i,j]:10:2);
  27. Writeln;
  28. WriteLn('***** Press <ENTER> to finish *****');
  29.  
  30. Readln;
  31. end.


Pervun Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Pervun (статус: Посетитель)
Вопрос отправлен: 14 апреля 2011, 15:14
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Pervun!
добавил пару begin-end:)

{$APPTYPE CONSOLE}
uses
  SysUtils;
 
const
            n=4;
            m=2;                          // количество строк и столбцов
type
            mas=array[1..n,1..m] of real;           // тип массива
var
            F: mas;                      // массив F
            i,j:integer;                 // счетчики по строкам, столбцам
begin
    // Ввод исходных данных
    WriteLn('Type real elements of array A:');
    for i:=1 to n do
        for j:=1 to m do read(F[i,j]);      // поэлементное чтение массива
 
    for i:=1 to n do
        for j:=1 to m do begin
            if F[i,j]<0 then F[i,j]:=F[i,j]*F[i,j]*F[i,j];
            if F[i,j]>0 then F[i,j]:=SQR(F[i,j]);
        end;
    Writeln;
    for i:=1 to n do begin
        for j:=1 to m do
            Write(F[i,j]:10:2);
        Writeln;
    end;
    WriteLn('***** Press <ENTER> to finish *****');
    Readln;                    // задержка экрана
    Readln;
end.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 14 апреля 2011, 15:21


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 14 апреля 2011, 16:01; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 14 апреля 2011, 15:18 [#1]:

А в чем заключается ошибка?
- не компилируется
- выводит неверный результат
- выскакивает синий экран.

Визуально код похож на правду.
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 14 апреля 2011, 16:01 [#2]:

Цитата (Вадим К):

А в чем заключается ошибка? - не компилируется - выводит неверный результат - выскакивает синий экран.

Зря спрашиваешь! Это ж наш БП... :(
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 27 марта 2023, 04:02
Выполнено за 0.02 сек.
Рейтинг@Mail.ru