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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2011, 19:59   #1
Веселина
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 17
По умолчанию Ошибку не могу найти в программе

не запускается почему-то....


uses Crt;
const pi=3.1415926535897932385;
var x,y,max,no,ko,h,buf:real;
i,j,nkp,ns,kp,ka,kb,ke:byte;
A:array[1..25]of integer;
B:array[1..25]of real;
E:array[1..25,1..25]of real;
begin
clrscr;
no:=-pi;
ko:=pi;
h:=pi/10;
x:=no;
writeln(' x y');
ka:=0;
max:=3*cos(5*no*2)+2*sin(no*5);

{Vivod resultata funkcii i zapolnenie massiva A}
while x<=ko do
begin
y:=3*cos(5*x*2)+2*sin(x*5);
if y>max then max:=y;
ka:=ka+1;
A[ka]:=round(y);
writeln(x:5:2,' ',y:5:2);
x:=x+h;
end;

{Vivod maximalnogo znachenia funkcii}
writeln('max=',max:5:2);
readln;
{Vivod massiva A}
writeln('Massiv A');
for i:=1 to ka do
write(A[i],' ');
writeln;
writeln (‘massiv A posle’);
for i:= to ka do
begin
if (a[i]=0 and (a[i] div 2=0) then a[i]:=1;
writeln (a[i], ‘ ‘);
end;
writeln;
{Zapolnenie i vivod massiva B}
kb:=0;
writeln('Massiv B');
for i:=1 to ka do
if A[i]<(max/2) then begin
kb:=kb+1;
B[kb]:=A[i];
write(B[kb]:5:2,' ');
end;
writeln;
for i:=1 to kb do
for j:=1 to kb do
begin
buf:=b[j];
b[j]:=b[i];
b[i]:=buf;
end;
end;
writeln (‘massiv B posle’);
for i:=1 to kb do
writeln (b[i]:5:2, ‘ ‘);
writeln;
readln;

if kb<ka then ke:=kb else ke:=ka;

writeln('Matrix E');
for i:=1 to ke do begin
for j:=1 to ke do begin
E[i][j]:=3*A[i]-2*B[j];
write(E[i][j]:6:1);end;
writeln;end;

ns:=1;kp:=ke;
for i:=1 to ke do begin
nkp:=0;
for j:=1 to ke do
if E[i][j]>0 then nkp:=nkp+1;
if nkp<kp then begin kp:=nkp;ns:=i;end;
end;
writeln('Stroka ',ns,' soderzhit minimalnoe kol-vo polozhotelnih elementov');

for i:=1 to ke do
E[ns][i]:=0;

writeln('Matrix E');
for i:=1 to ke do begin
for j:=1 to ke do
write(E[i][j]:6:1);
writeln;end;


readln;
end.
Веселина вне форума Ответить с цитированием
Старый 26.05.2011, 20:09   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ошибку-то какую и где пишет?
И используйте тег [CODE] (значок #) для сохранения форматирования\подсветки кода в сообщении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.05.2011, 20:14   #3
Веселина
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 17
По умолчанию

Type mismatch выдает.
В этой строчке

if (a[i]=0 and (a[i] div 2=0) then a[i]:=1;

перед then.

Я не поняла, как выделять.....
Веселина вне форума Ответить с цитированием
Старый 26.05.2011, 20:17   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Закрывающая круглая скобка пропущена перед and.
Son Of Pain вне форума Ответить с цитированием
Старый 26.05.2011, 20:21   #5
Веселина
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 17
По умолчанию

ААААА!! Точно!!!! Спасибо большое!!!!!!)))))))))))))))))
Веселина вне форума Ответить с цитированием
Старый 26.05.2011, 20:26   #6
Веселина
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 17
По умолчанию

можно еще вопрос.....
тут в конце 2 раза end надо??


kb:=0;
writeln('Massiv B');
for i:=1 to ka do
if A[i]<(max/2) then begin
kb:=kb+1;
B[kb]:=A[i];
write(B[kb]:5:2,' ');
end;
writeln;
for i:=1 to kb do
for j:=1 to kb do
begin
buf:=b[j];
b[j]:=b[i];
b[i]:=buf;
end;
end;
Веселина вне форума Ответить с цитированием
Старый 26.05.2011, 20:36   #7
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Это же легко. Просто считаешь бегины и энды. Их должно быть одинаковое количество )
Тут end лишний.
Son Of Pain вне форума Ответить с цитированием
Старый 26.05.2011, 20:44   #8
Веселина
Пользователь
 
Регистрация: 18.05.2011
Сообщений: 17
По умолчанию

Так и думала, что лишний)) Спасибо)
Веселина вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку в программе. Елеша Помощь студентам 0 06.05.2011 23:45
Не могу найти ошибку в программе lioshenka Общие вопросы C/C++ 5 24.08.2009 11:38
Не могу найти ошибку в программе Dawystrik Общие вопросы Delphi 9 19.03.2009 21:19
Паскаль, не могу найти ошибку в программе Julinja Помощь студентам 2 17.11.2008 20:42