Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 08.10.2020
Сообщений: 5

Определить, под каким из наперстков окажется шарик после всех перемещений

08.10.2020, 21:50. Показов 4147. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я столкнулся с трудностями. Помогите, пожалуйста. Не могу решить данную задачу по С++ :

Фокусник показывает такой трюк. Он имеет три одинаковых стаканчика. Под первый (левый) он кладет маленький шарик. Затем он очень быстро выполняет ряд перемещений стаканчиков (запутывая зрителя), каждое из которых - это одно из трех перемещений - А, В, С:

* А - обменять местами левый и центральный наперстки;

* В - обменять местами правый и центральный наперстки;

* С - обменять местами левый и правый наперстки;

Необходимо определить, под каким из наперстков окажется шарик после всех перемещений.

Входные данные:

Строка длиной от 1 до 50 символов из множества { A, B, C } - последовательность перемещений.

Выход:

Номер стаканчика под которым шарик.


Пример:

Вход: CBABCACCC // Изначально шарик под левым стаканчиком ( стаканчик номер 1 )

Выход: 1 // Шарик после всех перемещений оказался под первым стаканчиком
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2020, 21:50
Ответы с готовыми решениями:

Вывести номер наперстка, под которым окажется шарик после перемещений (файловый ввод/вывод)
Шулер показывает следующий трюк. Он имеет три одинаковых наперстка. Под первый (левый) он кладет маленький шарик. Затем он очень быстро...

Определить где находится шарик после перестановок
плохо знаю синтаксис питона смысл задачи в том чтобы определить где будет находится шарик после перестановок A - обменять местами...

Угол a1 после удара отрицателен, если шарик после удара отклоняется назад. Определить неизвестную величину
Здравствуйте! Помогите,пожалуйста, решить задачу. Два шарика массами m1 u m2, подвешены на нитях одинаковой длины l, касаются друг...

5
Заблокирован
08.10.2020, 22:05
Лучший ответ Сообщение было отмечено Esti01 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int m[]={1,0,0};
    string s="CBABCACCC";
    for(int i=0; i<(int)s.length(); i++)
    {
        if(s[i]=='A') swap(m[0],m[1]);
        else
            if(s[i]=='B') swap(m[1],m[2]);
            else swap(m[0],m[2]);
        //cout<<m[0]<<m[1]<<m[2]<<endl;
    }
    for(int i=0; i<3; i++)
        if(m[i])
        {
            cout<<i+1<<endl;
            break;
        }
1
0 / 0 / 0
Регистрация: 08.10.2020
Сообщений: 5
09.10.2020, 00:29  [ТС]
При компиляции выдает ошибку
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.10.2020, 01:01
Цитата Сообщение от Esti01 Посмотреть сообщение
я столкнулся с трудностями
Цитата Сообщение от Esti01 Посмотреть сообщение
При компиляции выдает ошибку
Если бы вы сами, хоть одну программу написали, у вас бы не возникло трудностей и при компиляции не было бы ошибки. Вам дали верный код, но не стали писать полностью готовую программу, надеясь, что человек имеет хоть какие то познания.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main(void)
{
    int m[]={1,0,0};
    string s="CBABCACCC";
    for(int i=0; i<(int)s.length(); i++)
    {
        if(s[i]=='A') swap(m[0],m[1]);
        else
            if(s[i]=='B') swap(m[1],m[2]);
            else swap(m[0],m[2]);
    }
    for(int i=0; i<3; i++)
        if(m[i])
        {
            cout<<i+1<<endl;
            break;
        }
    return 0;
}
0
0 / 0 / 0
Регистрация: 08.10.2020
Сообщений: 5
09.10.2020, 10:36  [ТС]
Цитата Сообщение от мама Стифлера Посмотреть сообщение
#include <iostream>
using namespace std;
int main(void)
{
Цитата Сообщение от мама Стифлера Посмотреть сообщение
return 0;
}
Данные строки я и после первого ответа добавил, так как без них любая программа схлопнется. Ошибка в компиляции возникала по причине того, что элемент auto-containment антивиря каждый запуск данного кода бросал его в изолированную среду, почему и выдавалась ошибка в компиляторе. Заметил только сегодня, так как уведомления в антивирусе отключены

Добавлено через 31 минуту
#include <iostream>
using namespace std;

int main(void)
{
int m[]={1,0,0};
string s="";
cout << "Enter: ";
cin >> s;
for(int i=0; i<(int)s.length(); i++)
{
if(s[i]=='A') swap(m[0],m[1]);
else
if(s[i]=='B') swap(m[1],m[2]);
else swap(m[0],m[2]);
//cout<<m[0]<<m[1]<<m[2]<<endl;
}
for(int i=0; i<3; i++)
if(m[i])
{
cout<<i+1<<endl;
break;
}
return 0;
}


Так даже лучше будет. Пусть с консоли берет комбинацию, чем каждый раз в коде вправлять =)
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
09.10.2020, 13:38
Цитата Сообщение от Esti01 Посмотреть сообщение
Ошибка в компиляции возникала по причине того, что элемент auto-containment антивиря каждый запуск данного кода бросал его в изолированную среду, почему и выдавалась ошибка в компиляторе. Заметил только сегодня
В таком случае, приношу свои извинения. Странно, что заметили только сейчас.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2020, 13:38
Помогаю со студенческими работами здесь

Определить под каким углом
Определить под каким углом прямая y=2x-5 пересекает кривую y=x^2+x-11

Каким в итоге станет число после всех запросов?
Необходимо произвести вычисления с любым числом. Считать, что все запросы выполнились без ошибок. Для примера можно взять следующее: ...

Определить вероятность, что расстояние от точки, где окажется робот, до исходной точки окажется ровно 5
Дано множтво точек 8x8, которые имеют вид (рис. 1). Расстояние от одной точки до соседней по вертикали или горизонтали - 1см. Иммется...

С каким периодом будет совершать колебания шарик?
ни в какую не получаются, помогите, пожалуйста. 1. На концах тонкой стеклянной трубки длиной l закреплены равные по величине точечные...

Определить под каким углом пересекаются 2 прямых
На плоскости заданы 2 прямые у=a1x+b1 и у=а2x+b2 определить под каким углом они пересекаются, предусмотреть случай когда они перпендикулярны


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru