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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2012, 09:13   #1
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию задача на паскаль

С клавиатуры вводим массив B(10) содержащей большое количество нулевых элементов. Заменить все группы подряд встречающихся нулей на один нуль
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 08.02.2012, 10:10   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

И чего тут не получается??
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.02.2012, 10:48   #3
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

вот написал:
Код:
program z1;
var A: array[1..10] of integer;
begin
дальше не смог..
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 08.02.2012, 10:51   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А язык именно паскаль??
могу написать на си.
в принципе они похожи
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.02.2012, 10:57   #5
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

я вот первый курс и только начали на паскале...
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 08.02.2012, 11:06   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Код:
var index: integer;
      A: array[1..10] of integer;
begin
  for i:=0 to 10 do // тут считали символы
  begin
  read(A[i]); 
  end
end.
Вот так считать будет.
Мне сложно писать я уже паскаль лет 10 не пользовал.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.02.2012, 11:10   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А дальше суть алгоритма:
Проходите по массиву..
если встретили ноль то запомнили индекс и пошли дальше пока не встретим первый отличный от нуля символ.
Затем удалим полученый кусок по индексам и поставим ноль вместо него.

только тут получается что удобнее было бы работать со строкой.
там есть функции замены подстроки.
а так придется вам сдвигать оставшиеся элементы
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.02.2012, 11:18   #8
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

Оу, то что вы направили мне сложно понять. Встретить ноль - это типа использовать while?
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 08.02.2012, 11:48   #9
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

ну да ...
создаете переменые
firstindex: integer
secondindex: integer

firstindex=-1;
secondindex=-1;
затем можно while или for пройти по всему массиву
if (A[i] = 0 and firstindex=-1) firstindex:=i;
if (A[i] <>0 and firstindex<>-1) secondindex=i;

вот и получили начальный и конечный индекс промежутка.
Далее его заменить и все
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.02.2012, 12:05   #10
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

А как будет код полностью?
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, задача! Jone200991 Помощь студентам 4 31.05.2011 20:32
Задача на Паскаль WitaliG Помощь студентам 2 08.11.2010 17:53
Задача в Паскаль Ivanushka17 Помощь студентам 1 06.12.2009 20:01
Задача на паскаль St1fler92 Помощь студентам 4 26.05.2009 16:21