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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2010, 13:03   #1
integral4
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 1
По умолчанию одномерный массив Паскаль

Народ, подскажите ошибку в тексте программы, пожалуйста. Сообразить никак не могу

Задача такова. Нахождение номера наименьшего элемента в массиве заданной длины среди всех положительных элементов. Длина массива вводится с клавиатуры. Печатать элементы массива по 5 штук, по формату :11. Тип обрабатываемых данных: вещественные.

Вот мой текст программы.
VAR
A :array[1..50] of integer;
N,m,i,min :integer;
Fout :text;
LABEL vvod;
BEGIN
vvod: writeln('Vvedi dlinu massiva');
readln(m);
if m<1 then
begin
writeln('Nelzya rassmatrivat menshe odnogo 4isla');
goto vvod;
end;
min:=32767;
N:=0;
repeat
writeln('Vvedi o4erednoi element');
N :=N+1;
readln(A[N]);
if (A[N]>0) and (A[N]<min) then
min:=A[N];
Num:=N;
until (N=m);
if A[N]<0 then writeln('podxodyas4ix 4isel ne bylo')
else
writeln('nomer naimenshego elementa',' N');
begin
Assign(Fout,'MASSIV.RES');
ReWrite(Fout);
writeln(Fout,'Isxodnyi massiv iz ',n,' elementov');
for i:=1 to N do
begin
write(Fout,A[i]:11);
if i mod 5 = 0 then writeln(Fout);
end;
end;
Close(Fout);
END.
integral4 вне форума Ответить с цитированием
Старый 14.03.2010, 13:18   #2
.Phoenix
Форумчанин
 
Регистрация: 02.04.2009
Сообщений: 235
По умолчанию

Честно говоря запутанный код. Сама задача понятна, но то что ты написал...после repeat жел-но добавить begin, как бы начало цикла, перед until - end- знаменует конец цикла.
Всё гениальное - просто!
.Phoenix вне форума Ответить с цитированием
Старый 14.03.2010, 14:01   #3
Dimazess
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 6
По умолчанию

Учись писать без меток!!!!!! Это первое правило!!! Можно сказать этикет!! В такой элементарной задаче метками пользоваться...

Num - где ты взял этот идентификатор, ты его не объявлял!!!
Num : integer...
во writeln('nomer naimenshego elementa',' N'); N - это переменная, она должна быть без ковычек! и вообще причем тут N если ты её значение в Num передаешь... В общем учись...
Dimazess вне форума Ответить с цитированием
Старый 14.03.2010, 14:28   #4
Dimazess
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 6
По умолчанию

так он будет искать минимальный из всех положительных, но и отрацительные получат свой номер в массиве хоть и не будут учавствовать в поиске минимального... А если тебе нужно чтобы отрицательные вообще не учитывались, то сделай счетчик еще, после проверки на положительность... Дерзай))


VAR
A :array[1..50] of integer;
m,i,min,Num :integer;
Fout :text;
BEGIN
repeat
writeln('Введите длину массива');
readln(m);
if m<=1 then
writeln('В массиве должно быть как минимум, больше одного элемента');
until m>1;
min:=32767;
For i:=1 to m do
begin
writeln('Введите текущий эллемент массива');
readln(a[i]);
if (A[i]>0) then begin
if(a[i])<min then begin
min:=A[i];
Num:=i;
end;
end
Else writeln('Элементы должны быть положительные');
end;
writeln('Номер наименьшего',Num);
begin
Assign(Fout,'MASSIV.RES');
ReWrite(Fout);
writeln(Fout,'Isxodnyi massiv iz ',m,' elementov');
for i:=1 to m do
begin
write(Fout,A[i]:11);
if i mod 5 = 0 then writeln(Fout);
end;
end;
Close(Fout);
END.
Dimazess вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Одномерный массив. HaTyCuk Помощь студентам 5 30.12.2009 21:30
Одномерный массив, паскаль. ene21 Помощь студентам 1 02.10.2009 14:39
паскаль!одномерный массив игорек фролоff Помощь студентам 1 30.05.2009 18:28
Паскаль. Одномерный массив deceiver Помощь студентам 7 21.03.2009 15:12
ПАСКАЛЬ, одномерный массив (Kate) Помощь студентам 2 23.11.2008 15:06