Форум программистов, компьютерный форум CyberForum.ru

Задача про стопку карточек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выяснить, имеется ли среди s1,…,sn пара соседствующих букв но или он http://www.cyberforum.ru/cpp-beginners/thread1021265.html
Выяснить, имеется ли среди s1,…,sn пара соседствующих букв но или он.
C++ Нужна программа напистаь программу Покадрового просмотра файлов. Которая выдает код символа, введенного пользователем. http://www.cyberforum.ru/cpp-beginners/thread1021261.html
C++ Замена строки
Плиз, помогите решить задачу на с++! Очень нужно! Видела решенную на паскале, но это не помогло((( Дан текстовый файл и строка S. Заменить в файле пустые строки на строку S.
C++ сортировка и поиск
надо по сортировать числа 12 22 15 55 11 21 12 31 13 51 55 15 методом пузырька! в отсортированном массиве надо найти число и на какой он позиции находиться ++
C++ Нахождение меньшего числа http://www.cyberforum.ru/cpp-beginners/thread1021253.html
Нахождение наименьшего из двух цифр используя перегрузки
C++ Массив. Найти максимальное число Дан массив целых случайных чисел (размер массива определяет пользователь, но в диапазоне ). Найти максимальное число подробнее

Показать сообщение отдельно
Ricco
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 22
27.11.2013, 20:56     Задача про стопку карточек
Помогите пожалуйста с задачей : Есть n черных и белых карточек, сложенных в стопку. Карточки раскладываются на столе в одну линию следующим образом: первая кладется на стол, вторая вниз стопки, третья на стол, четвертая – вниз стопки и т.д., пока все карточки не будут выложены на стол. Напишите программу, которая определит, каким должно быть исходное расположение карточек в стопке, чтобы расположенные на столе карточки чередовались по цвету: белая, черная,белая,черная.
Есть решение этой задачи , но на Pascal:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
A[FIN]:=BEG; {следующей за последним элементом - бывший первый}
FIN:=BEG; {меняем ссылку на последний элемент}
BEG:=A[BEG] {новый первый элемент}
A[FIN]:=0 {корректировка ссылки у последнего элемента}
Фрагмент программы будет выглядеть так:
for i:=1 to N-1 do A[i]:=i+1;
A[N]:=0; {установка ссылок в списке}
BEG:=1; FIN:=N;
COLOR:=1; {белый цвет = 1, черный = 0}
while A[BEG]<>0 do 
{пока первый элемент не является} {одновременно и последним}
begin
BEFORE:=BEG; {сохраняем индекс начала списка}
BEG:=A[BEG]; {удаляем первый элемент из списка}
A[BEFORE]:=COLOR; {раскрашиваем удаленный элемент} 
{в нужный цвет}
COLOR:=1-COLOR; {меняем цвет}
A[FIN]:=BEG;  {переставляем элемент из}
FIN:=BEG;  {начала списка в конец}
BEG:=A[BEG];
A[FIN]:=0
end;
A[BEG]:=COLOR;  {раскрашиваем последний элемент}
{списка}
for i:=1 to N do  {распечатка цветов}
if A[i]=0
then writeln('элемент',i,' - черный')
else writeln('элемент',i,' - белый');
Пожалуйста помогите решить или перевести на С++, понятия не имею как реализовать задачу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru