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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2013, 01:44   #1
nikolay61
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию Одномерный массив

Очень часто песня состоит из нескольких куплетов и припева, которые выполняются следующим образом: первый куплет, припев, второй куплет, припев, ..., последний куплет, припев. Но в песеннике запись песни приводится следующим образом: первый куплет, припев, а дальше тексты следующих куплетов. Напишите программу, которая бы определяла исполнение песни по тексту с альбома.
................................... ......................... . .
понятное дело с перебором массива с помощью ФОР. А вот как именно припевы вставить между куплетами?
Пример: Введение (3 A P B C) Выведение (A P B P C P) //Р - это припевы.
nikolay61 вне форума Ответить с цитированием
Старый 01.12.2013, 02:13   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Уточните, какие именно данные подаются на вход. Это число, обозначающее количество куплетов и запись песни в сокращенном виде, где каждый куплет и припев обозначены латинской буквой?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 01.12.2013, 10:22   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

nikolay61, а Вы пример сами придумали, или его дали Вам?
насколько я понял по описанию
Цитата:
первый куплет, припев, а дальше тексты следующих куплетов.
в заданном примере записи песни: (3 A P B C)
З - это первый куплет
A - это припев
Р - это второй куплет
....

значит, вывод написан НЕВЕРНО!


Ну и согласен с BDA - нужно определиться с тем, как данные подаются на вход программы!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2013, 00:37   #4
nikolay61
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Уточните, какие именно данные подаются на вход. Это число, обозначающее количество куплетов и запись песни в сокращенном виде, где каждый куплет и припев обозначены латинской буквой?
Нет, дают три куплета. Каждый куплет обозначается первой буквой куплета. В данном случае А, В, С. Припев обозначен буквой -Р.
В сборнике песен напечатан куплет-припев- и дальше просто куплеты. А мы поем: перввый куплет-припев, второй-припев и т.д.
nikolay61 вне форума Ответить с цитированием
Старый 02.12.2013, 00:43   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ну а что за "З" в Вашем примере входных данных тогда?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.12.2013, 13:03   #6
nikolay61
Пользователь
 
Регистрация: 25.12.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Ну а что за "З" в Вашем примере входных данных тогда?
три куплета
nikolay61 вне форума Ответить с цитированием
Старый 02.12.2013, 13:22   #7
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
read(pfile,number_of_parts);
read(pfile,part);
read(pfile,part_one_and_half);
write(part_one,' ', part_one_and_half,' ');
for (i:=2 to number_of_parts) do
begin
read(pfile,part);
write(part,' ', part_one_and_half,' ');
end;
Что-то типа.
Считали число куплетов, считали первый куплет и припев, вывели всю эту радость. Потом читаем со второго куплета по число куплетов, выводя содержимое куплета и припев.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 02.12.2013, 13:23   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
три куплета
а для чего она тут?
Код:
var s:string;
buf:string;
i:byte;
n:byte;
begin
s:='3APBC';
delete(s,1,1);
n:=length(s);
for i:=2 to n+1 do
if s[i-1]<>'P' then buf:=buf+s[i-1]+'P';
s:=buf;
writeln(s);
end.
Цитата:
APBPCP
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти одномерный массив элементы которого равны минимальным значениям в строках исходной матрицы и одномерный массив элементы... Richik123 Microsoft Office Excel 1 16.10.2013 15:45
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40