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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2021, 18:56   #1
Barbaraa
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 14
По умолчанию Массивы паскаль

Задан массив x1, x2, …, x15.
Определить номер первого отрицательного xi
и номер последнего отрицательного xi. В паскале
Помогите пожалуйста
Barbaraa вне форума Ответить с цитированием
Старый 12.12.2021, 19:36   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
цикл от 1 до 15
    если x[i] меньше нуля, то
        напечатать i
        выйти из цикла
цикл от 15 до 1
    если x[i] меньше нуля, то
        напечатать i
        выйти из цикла
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 13.12.2021, 10:27   #3
Barbaraa
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 14
По умолчанию

Благодарю ❤️
Barbaraa вне форума Ответить с цитированием
Старый 13.12.2021, 20:50   #4
Barbaraa
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 14
По умолчанию

То есть вот так:
Код:
Program massiv;
Var x:array[1..15]  of integer;
i:integer;
begin
for i:=1 to 15 do
if x[i] >0 then break ;
Write ('i:=')
End
Begin
for i:=15 to 1 do
if x[i] <0 then break ;
Write ('i:=')
End
End.
Или как?

Последний раз редактировалось BDA; 14.12.2021 в 00:21.
Barbaraa вне форума Ответить с цитированием
Старый 13.12.2021, 22:53   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

В древней Мурлындии делали так:
Код:
Program massiv;
Var 
x:array[1..15] of integer;
begin
   i,i_frst,i_lst:integer;
   i_frst := -1 ;
//Здесь вручную или рандомно заполняем массив. Хоть бы так: 
    for i := 1 to 15 do Readln x[i] ;
    Writeln ('The array is full') ;
    for i:=1 to 15 do
      if x[i] < 0 then 
      begin
         i_lst := i ;
         if i_frst <0 then i_frst := i
      end ;
   if i_lst <0 then Writeln ('No negative numbers')
   else Writeln ('First = ', i_frst, 'Last = ', i_lst)
End.

Последний раз редактировалось digitalis; 13.12.2021 в 23:03.
digitalis вне форума Ответить с цитированием
Старый 13.12.2021, 23:56   #6
Barbaraa
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 14
По умолчанию

Почему-то в 7 строке, где Readln x[i] пишет: ожидалось имя процедуры или функции. Что это может быть?
Barbaraa вне форума Ответить с цитированием
Старый 14.12.2021, 00:20   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Это digitalis "сэкономил" скобочек, поставьте их вокруг x[i]. i_lst тоже хорошо бы инициализировать -1. А еще перенес бы объявления переменных в раздел var по старинке.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.12.2021, 11:24   #8
Barbaraa
Пользователь
 
Регистрация: 12.12.2021
Сообщений: 14
По умолчанию

Всё получилось, большое спасибо!
Barbaraa вне форума Ответить с цитированием
Старый 14.12.2021, 11:46   #9
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Да, со скобками маханул. С объявлениями - тоже: begin не туда втулил. Алиба: зима, ночь, холод...
i_lst не обязательно: при первом встреченном отрицательном там всё будет ОК, а если не будет ни одного отрицательного, об этом скажет i_frst, и тогда индекс "где это случилось" не будет иметь значения - бо нигде.
А студеням не нужно давать разжёванные решения: поиск ошибки вынудить их вникнуть в разбор исходника. Надеюсь

Последний раз редактировалось digitalis; 14.12.2021 в 11:50.
digitalis вне форума Ответить с цитированием
Старый 14.12.2021, 20:38   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
а если не будет ни одного отрицательного, об этом скажет i_frst
Согласен, но тогда и нужно проверять i_frst после цикла
Цитата:
Сообщение от digitalis Посмотреть сообщение
А студеням не нужно давать разжёванные решения
Стараюсь.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль,массивы Kate18 Помощь студентам 1 19.04.2016 17:09
Массивы Паскаль! Денис999 Помощь студентам 3 24.05.2010 19:39
паскаль и массивы A.S.W Помощь студентам 3 07.01.2010 18:53
Массивы. Паскаль катя123 Помощь студентам 3 07.01.2010 13:31
Массивы-Паскаль Айдар Помощь студентам 7 23.11.2009 18:49