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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2014, 00:25   #1
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
Восклицание Найти ошибку. abc

Создать и вывести массив У(8), с элементами уk = ln(k) - 3k, где k = 1,2…. Сколько в массиве элементов с минимальным значением среди положительных?.
Код:
program zadacha9;
var x,y:array[1..8] of real; i,k,m,min,count:integer;  sum:real;
begin
sum := 0;
m:=0;
writeln('y:');
for k:=1 to 8 do begin
y[k]:=ln(k)-3*k;
if (y[k]>0) then begin
m:=m+1;
x[m]:=y[k];
end;
writeln('y(' , k,')=',y[k]:7:2);
if m = 0 then writeln('')
else
for k := 1 to m do
writeln('x[' , m , ']= ' , x[m]:7:2);
end;
min:=1;
for i:=1 to 8 do
if x>0 and y>0 then
if (min<0) or (y[i]<min) then begin
count:=1;
min:=y[i];
end else
if min<0 then writeln('Положительных элементов нет')
else writeln(count,' минимальных положительных элементов со значением ',min:8:3);
end.

Последний раз редактировалось Stilet; 26.04.2014 в 09:47.
Алькер вне форума Ответить с цитированием
Старый 26.04.2014, 00:30   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Вопрос: а вы вообще проверяли сами программу? Что вам компилятор сказал?
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 26.04.2014, 19:36   #3
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
По умолчанию

операнды имеют не проводимые типы.. Всю голову сломала
Алькер вне форума Ответить с цитированием
Старый 26.04.2014, 19:53   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Программа явно написана без попытки ее понять.
Синтаксические ошибки исправляю:
Код:
var x,y:array[1..8] of real; i,k,m,count:integer;  sum,min:real;
begin
sum := 0;
m:=0;
writeln('y:');
for i:=1 to 8 do begin
    y[i]:=ln(i)-3*i;
    if (y[i]>0) then begin
       m:=m+1;
       x[m]:=y[i];
    end;
    writeln('y(' , i,')=',y[i]:7:2);
    if m = 0 then writeln('') else
    for k := 1 to m do
        writeln('x[' , k , ']= ' , x[k]:7:2);
end;

min:=1;
for i:=1 to 8 do
    if (x[i]>0) and (y[i]>0) then
       if (min<0) or (y[i]<min) then begin
          count:=1;
          min:=y[i];
       end else
       if min<0 then writeln('Положительных элементов нет')
       else writeln(count,' минимальных положительных элементов со значением ',min:8:3);

end.
Логику оставляю нетронутой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль abc- найти ошибку Алькер Паскаль, Turbo Pascal, PascalABC.NET 3 24.04.2014 23:10
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) Artsiom Помощь студентам 10 18.12.2013 14:10
Найти ошибку в коде (Для данной целочисленной матрицы размером n*m найти матрицу из 0 и 1...) код на C camel5 Помощь студентам 1 26.11.2013 06:11
Найти сумму квадратов цифр целого числа. Pascal ABC lyulka Помощь студентам 1 14.12.2011 08:06
Самоучитель Pascal ABC, где найти? Будующий программи Помощь студентам 3 09.01.2009 23:23