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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2008, 10:56   #1
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию Одномерные массивы(Pascal)

Элементы массива A(N) упорядочены: A(1)<A(2)<...<A(N). Определить номер К такой, чтобы для заданного числа Х выполнялось условие:
А(К)<X<A(K+1). Если нет такого номера напечатать "НЕТ".

Код:
Program Lab4;
Uses crt;
Const N=10;
Var A:array[1..N] of real;
    X,K:real;
    J,M:integer;
Begin
Clrscr;
Write('BBedute 4uclo elementov macciva <=10: ');
Readln(m);
For J:=1 to M do begin
Begin
Write('A[',J,']=');
Readln(A[J]);
End;
Write ('X=');
Readln(X);
End;
Begin
For J:=1 to M do
Begin
A(K)<X<A(K+1) //здесь должно быть, скорее всего другой код 
Write(K:4,'');
if ioresult<>0 then begin //здесь я хотел показать, что если нет такого номера, то выводит это...
write('Net nomera');
readln;
end;
end;
Readkey;
End.
Помогите подправить программу...

Последний раз редактировалось Дима82; 07.06.2008 в 13:35.
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 13:28   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

1. Нормальто отфарматируйте код. Разбейте на блоки и добавте комнтарии. Основные блоки отделяете пустой строкой.
2. Опишите что конкретно ненравится в работе написаной программы.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 07.06.2008, 13:49   #3
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

k:=-1;
for i:=1 to m do
if (x>a[i] and x<a[i+1]
then
k:=i;
if k=-1 then writeln('такого нет')
else writeln (k);
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Старый 07.06.2008, 13:49   #4
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

#
# A(K)<X<A(K+1) //здесь должно быть, скорее всего другой код

Конечно - это запись того, что должно делаться
код примерно такой должен быть

if A(J) < X) and (X < A(J + 1) then
Write(K:4,'');
Olympian вне форума Ответить с цитированием
Старый 07.06.2008, 13:59   #5
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Код:
Program Lab4;
Uses crt;
Const N=10;
Var A:array[1..N] of real;
    X,K:real;
    J,M:integer;
Begin
Clrscr;
Write('BBedute 4uclo elementov macciva <=10: ');
Readln(m);
For J:=1 to M do begin
Begin
Write('A[',J,']=');
Readln(A[J]);
End;
Write ('X=');
Readln(X);
End;
K:=-1;
For J:=1 to M do
If (X>A[J] and X<A[J+1] then //типы операндов не соответствуют оператору(попробовал менять не получается) 
K:=I;
If K=-1 then writeln('net nomera') else
Writeln(K:4,'');
Readln
End.
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 14:32   #6
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

во первых скобки расставить в ифе
k:=-1;
for i:=1 to m do
if (x>a[i]) and (x<a[i+1])
then
k:=i;
if k=-1 then writeln('такого нет')
else writeln (k);
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Старый 07.06.2008, 15:23   #7
Дима82
Форумчанин
 
Аватар для Дима82
 
Регистрация: 09.05.2008
Сообщений: 108
По умолчанию

Код:
Program Lab4;
Uses crt;
Const N=10;
Var A:array[1..N] of real;
    X:real;
    J,M,K:integer;
Begin
Clrscr;
Write('BBedute 4uclo elementov macciva <=10: ');
Readln(m);
Begin
For J:=1 to M do
Begin
Write('A[',J,']=');
Readln(A[J]);
End;
Write ('X=');
Readln(X);
End;
K:=-1;
For J:=1 to M do
If (X>A[K]) and (X<A[K+1]) then
K:=J;
If K=-1 then writeln('net nomera') else
Write('K=',K:4);
Readln
End.
Всё время выходит нет номера, хотя я всё правильно писал...
Дима82 вне форума Ответить с цитированием
Старый 07.06.2008, 15:33   #8
ryton
Пользователь
 
Аватар для ryton
 
Регистрация: 23.05.2008
Сообщений: 97
По умолчанию

а ты пошагово выполни и посмотри,или К выводи постоянно.Должна работать вроде
я не для этого мира и это так
ryton вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы в Turbo Pascal W_P Помощь студентам 10 18.12.2009 19:14
Одномерные массивы 2 (Pascal) Дима82 Помощь студентам 4 16.02.2009 21:21
Одномерные массивы - Pascal W_P Помощь студентам 8 27.02.2008 19:24
Одномерные массивы и строки Magnit Паскаль, Turbo Pascal, PascalABC.NET 4 12.04.2007 15:04