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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2016, 23:14   #1
weh
 
Регистрация: 05.06.2016
Сообщений: 6
Восклицание Ошибка сортировки

Вот код программы, нужно значение С сортировать в порядке возрастания, подскажите, что я делаю не так...
Код:
Program 1;
Var                              {объявление переменных}
  i,j,pr,pr2,pr1,n:integer; 
  st, st2,st1,l:string; 
  mas:array[1..1000,1..1000] of real; 
  err:array[1..1000] of string; 
  z,s,x,p,a,b,c,t,y,v,w,e,f,g:real; 
Begin
e:= 2.71828182846;
  repeat
  repeat
    writeln('Введите количество пар чисел для подсчёта вычислений');
    readln(st1);
    val(st1,n,pr1);    {проверка: является ли число вычислений числом}
    if pr1 <> 0 then writeln('Это не число, введите число')
    until pr1 = 0;
    Writeln('Введите числа');
    for i:=1 to n do
    begin 
      repeat
        writeln('Введите x',i);
        readln(st);
        val(st, w, pr);      {проверка: является ли х числом} 
        if pr <> 0 then writeln('Это не число, введите число')
        else mas[i,1]:= w;
      until pr = 0;
       repeat
        writeln('Введите p',i);
        readln(st2);
        val(st2, v, pr2);    {проверка: является ли p числом} 
        if pr2 <> 0 then writeln('Это не число, введите число')
        else mas[i,2]:= v;
      until pr2 = 0;
    end;
    for i:=1 to n-1 do//смотрим элементы массива с первого
     for j:=i+1 to n do//сравниваем с элементами, которые впереди
     if mas[i,3]>mas[j,3] then//если нашли впереди меньше,
      begin
       z:=mas[i,3];//то с помощью переменной-буфера
       mas[i,3]:=mas[j,3];//меняем элементы местами
       mas[j,3]:=z;
      end;
     for i:=1 to n do
    begin
      x:=mas[i,1];  {присвоение значения элемента массива x}
      p:=mas[i,2];  {присвоение значения элемента массива p}
      mas[i,3]:=0;
  
   f:= (sqrt(power(x,3)) + (power(x,2)) + 4.5); {присвоение значению f функции логарифма}
   g:= (ln(power(x,3))+abs(power(x,4)-(2*p))); {присвоение значению g функцию подкоренного выражения}
   
   if p <> 0  {проверка значения p под степенью -2}
   then
    begin
    if f > 0 {проверка логарифма}
     then
     begin
      if g > 0 {проверка корня}
       then
       begin
     a:= sin(sqrt(power(x,3)) + (power(x,2)) + 4.5);  {нахождение функции а}
     b:= power(x,2) - exp(ln(power(x,3))+abs(power(x,4)-(2*p)));           {нахождение функции b}
       if b<>0    {проверка знаменателя}
        then
         begin
                c:=a/b;                   {вычисление искомой функции с}
                mas[i,3]:=c;              {присвоение значения элемента массива c} 
         end
             else err[i]:='На 0 делить нельзя'
       end
        else err[i]:='Корень не можеть быть отрицательным';
     end
      else err[i]:='Логарифм не можеть быть отрицательным';
    end
     else err[i]:='0 не возводится в степень -2';
     end;
    writeln('|   ','X','     |    ', 'P', '   |    ','C', '       |       ', 'ПРИМЕЧАНИЕ'); {вывод шапки таблицы}
    for i:=1 to n do
    begin
      write('|',mas[i,1]:4,'     | ',mas[i,2]:4,'   | ',mas[i,3],' | ', err[i]);{вывод результатов}
      writeln;
    end;
  repeat
   writeln('Повторить? ДА - 1, НЕТ - 0');  {вопроc к пользователю на повторный запуск программы}
   readln(l);
  until (l='0') or (l='1');
  until l='0';
  end.
weh вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка.Алгоритмы сортировки.Язык си. East Undia Trading Помощь студентам 6 14.05.2014 22:42
Ошибка в работе сортировки массива bnoazx005 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 28.04.2013 14:36
C++ Односв. список, ошибка сортировки NinjaNoob Помощь студентам 5 19.01.2013 20:05
ошибка при сортировки пузырьком(Delphi) maksat-15 Помощь студентам 2 22.04.2012 16:05
ошибка в процедуре сортировки строк массива halfpenny Паскаль, Turbo Pascal, PascalABC.NET 1 17.06.2009 00:36