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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 14:01   #1
Polarbear
Новичок
Джуниор
 
Регистрация: 12.12.2009
Сообщений: 2
По умолчанию Возведение в квадрат

У меня проблема, только не смейтесь, с возведением в квадрат. Мне задали идз по информатике в паскале, в нем несколько заданий и одно из них все отрицательные члены массива возвести в квадрат, из положительных извлечь корень, а к равным нулю прибавить единицу.И вроде все работает, но то число, которое должно было возвестись в квадрат просто меняет знак.Например, -2 в квадрате становится не четверкой, а двойкой.Я выложил всю программу, т.к не знаю, где проблема.Помогите пожалуйста.
Код:
Program pr3;
uses crt;
var m:array[1..7] of real; v,i:integer; s,min,max:real;
begin
     clrscr;
     writeln('Vvod kolichestva elementov');
     read(v);
     for i:=1 to v do
     begin
          writeln('Vvod elementov massiva');
          read(m[i]);
     end;
     s:=0;
     for i:=1 to v do
     s:=s+m[i];
     writeln('Summa vsex elementov ravna', s);
     max:=m[1];
     for i:=1 to v do
     if m[i]>max then max:=m[i];
     writeln('max=', max);
     min:=m[1];
     for i:=1 to v do
     if m[i]<min then min:=m[i];
     writeln('min=', min);
     for i:=1 to v do
     writeln('Vvedennii element massiva', m[i]);
     for i:=1 to v do
     begin
     if m[i]<0 then m[i]:=sqr(m[i]);
     if m[i]>0 then m[i]:=sqrt(m[i]);
     if m[i]=0 then m[i]:=m[i]+1;
     writeln('m[i]=', m[i]);
     end;
     end.

Последний раз редактировалось Polarbear; 12.12.2009 в 14:03.
Polarbear вне форума Ответить с цитированием
Старый 12.12.2009, 14:03   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
 if m[i]<0 then m[i]:=sqr(m[i]);
     if m[i]>0 then m[i]:=sqrt(m[i]);
     if m[i]=0 then m[i]:=m[i]+1;
исправь на

Код:
if m[i]<0 then m[i]:=sqr(m[i]) else
     if m[i]>0 then m[i]:=sqrt(m[i]) else
      m[i]:=m[i]+1;
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 12.12.2009, 14:05   #3
Polarbear
Новичок
Джуниор
 
Регистрация: 12.12.2009
Сообщений: 2
По умолчанию

Спасибо большое, а то я в этом не шибко разбираюсь =)
Polarbear вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возведение в квадрат элементов главной диагонали матрицы. Паскаль hardrace Помощь студентам 7 14.11.2009 22:54
возведение в степень ILNARM Паскаль, Turbo Pascal, PascalABC.NET 16 16.10.2009 23:04
возведение в степень Lissisa Помощь студентам 1 21.03.2009 22:34
Возведение в степень Stanislav Общие вопросы Delphi 10 05.12.2007 23:34
Возведение в степень... Sota Общие вопросы C/C++ 7 18.07.2007 17:05