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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 20:23   #1
DaRus
Новичок
Джуниор
 
Регистрация: 17.12.2009
Сообщений: 4
По умолчанию Паскаль. Первый отрицательный элемент.

Паскаль.
Задание: Ввести первый отрицательный элемент,если такой элемент есть.

Попытки решения:

Function Controll (m: myarray): Boolean;
Var i : Integer;
Begin
i := 1;
While (i<=n) And (m |i|>0) Do Inc(i);
Control1:=(i<=n)
End;

Что неправильно? Заранее спс
DaRus вне форума Ответить с цитированием
Старый 17.12.2009, 20:44   #2
DaRus
Новичок
Джуниор
 
Регистрация: 17.12.2009
Сообщений: 4
По умолчанию

Кажется не правильно у мну всё.
P.S. одномерный массив.
DaRus вне форума Ответить с цитированием
Старый 18.12.2009, 08:22   #3
DaRus
Новичок
Джуниор
 
Регистрация: 17.12.2009
Сообщений: 4
По умолчанию

Всем спасибо за помощь.
DaRus вне форума Ответить с цитированием
Старый 18.12.2009, 10:20   #4
Анатоль
Пользователь
 
Регистрация: 17.12.2009
Сообщений: 74
По умолчанию

у тебя функция boolean возвращает.
надо integer.
Сделай присваивание в функции после цикла Controll := i;
А в теле головной прогрыммы проверь чтобы этот элемент был отрицательным. Просто может не оказаться в массиве отрицательных элементов. и удали бесполезную Control1 := (i<=n).
Анатоль вне форума Ответить с цитированием
Старый 18.12.2009, 20:44   #5
DaRus
Новичок
Джуниор
 
Регистрация: 17.12.2009
Сообщений: 4
По умолчанию

Чёт не догоняю %) Как это будет выглядить?
DaRus вне форума Ответить с цитированием
Старый 18.12.2009, 21:20   #6
Seil_29
Пользователь
 
Аватар для Seil_29
 
Регистрация: 18.12.2009
Сообщений: 17
По умолчанию

program smt;
var a:array[1..100] of integer;
k,i,n:integer;
begin
read(n); //кол-во элементов массива
k:=0; //флаг
for i:=1 to n do
begin
read(a[i]);
if (k=0) and (a[i]<0) then //если флаг еще опущен и элемент отрицателен,пишем его и поднимаем флаг)
begin
write(a[i]);
k:=1;
end;
end;
end.
Seil_29 вне форума Ответить с цитированием
Старый 18.12.2009, 21:23   #7
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
for i:=1 to n do
if a[i]<0 then begin writeln(a[i]);break;end;
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 18.12.2009, 21:26   #8
Seil_29
Пользователь
 
Аватар для Seil_29
 
Регистрация: 18.12.2009
Сообщений: 17
По умолчанию

IT-man,

Ну собственно да хд)
Как-то я шумно опростался =D
Seil_29 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
первый нулевой элемент массива shelest Помощь студентам 2 15.11.2009 12:38
Удалить первый положительный элемент после максимального pavel42 Помощь студентам 3 25.05.2009 15:30
Удалить первый элемент с заданным значением. Сдвинуть массив циклически на К элементов в право GydZu Паскаль, Turbo Pascal, PascalABC.NET 10 17.05.2009 16:38
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 4 03.12.2008 12:13