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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 12:40   #1
Avvakymova
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 49
Восклицание Goto

Помогите,пожалуйста.
Дано n вещественных чисел.Определить,сколько из них больше своих соседей,т.е предыдущего и последующего.Через оператор Goto.
Avvakymova вне форума Ответить с цитированием
Старый 09.05.2011, 14:26   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Это кто вам задал задачу на оператор GOTO?
Насколько мне известно, он имеет дурную славу. вам точно надо через него? Можно же обойтись обычным IF
Вадим Мошев вне форума Ответить с цитированием
Старый 09.05.2011, 15:02   #3
Avvakymova
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 49
По умолчанию

Это в универе нам задали.И делать её нужно именно через GOTO
Avvakymova вне форума Ответить с цитированием
Старый 09.05.2011, 16:08   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Насколько мне известно, он имеет дурную славу.
Из-за того, что, как правило, его использование ухудшает читаемость кода т.е. практически любой алгоритм с goto можно реализовать с использованием других операторов вместо goto, и этот код скорее всего будет более понятным.

Числа, кстати, в каком виде даны?) Массив, файл? Что делать с 1 и последним числом? Где ваши наработки?

Если все-таки действительно надо с использованием goto, то наверно как-то так. Надеюсь, остальное сами допишете.
Код:
i:=1;  //если без первого и последнего числа и числа хранятся в массиве
1:
i:=i+1;
if ( arr[i-1 > arr[i] ) and ( arr[i+1] > arr[i] ) then c:=c+1;
if ( i<n ) then goto 1;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 09.05.2011 в 16:13.
Alex11223 вне форума Ответить с цитированием
Старый 09.05.2011, 16:25   #5
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Код:
i:=1;  //если без первого и последнего числа и числа хранятся в массиве
Скорее без массива:
Код:
label
metka;
var n,i,k:integer;
  a,b,c:real;
begin
repeat
write('kollichestvo chisel ne menee  3 n=');readln(n);{запрашиваем количество вводимых чисел}
until n>=3;
writeln('vvedite ',n,' veschestvenih chisel');
k:=0;
i:=2;
readln(a);
readln(b);
metka:
i:=i+1;
begin
readln(c);
  if (b>a)and(b>c) then k:=k+1;
  a:=b;
  b:=c;
end;
 if i<>n then goto metka;
write('chisel bolshe svoih sosedei=',k);
readln
end.
Если помог напиши одобрение(иконка весов слева под ником)

Последний раз редактировалось rus12; 09.05.2011 в 16:36.
rus12 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оператор Goto Avvakymova Паскаль, Turbo Pascal, PascalABC.NET 0 09.05.2011 12:36
goto Serg12 Помощь студентам 12 14.06.2010 17:31
goto gagen Общие вопросы C/C++ 18 05.04.2010 13:24
GoTo Diego__ Microsoft Office Word 3 13.03.2010 19:55
php goto TDrive PHP 10 28.07.2009 00:04