Важное примечание: строка (объект C ++) и любая другая библиотека, такая как массив или векторы , которые могут хранить неограниченное количество символов, не могут использоваться.
На мой вопрос:
Нам дано input 1 , которое является предложением неограниченного количества символов. например. Жизнь прекрасна.
Ввод 2 : символ, местоположение которого мы должны найти, используя контрольную точку (средний символ на входе 1 после того, как он отсортирован, а повторяющиеся символы удалены), принятый за ноль. например. плата.
An example:
Input 1: Life is beautiful
Input 2: see
Output: 2, -2, -2
Объяснение: Итак, во-первых, мы удаляем все пробелы из ввода 1 и делаем все строчные, а затем сортируем их в порядке возрастания, после чего находим букву ссылки (для приведенного выше примера это «i»). Мы удаляем повторяющиеся символы и затем, наконец, ставим позиции для символов на входе 1.
Example 2
Input 1: abcde
Input 2: aad
Output: -2, -2, 1
Если вход 2 содержит контрольную точку, то код возвращает ноль.
Например.
An example:
Input 1: abcde
Input 2: cab
Output: 0
input1 всегда нечетный, а input2 всегда не более 10 символов.
Проблема, с которой я столкнулся, заключается в том, что я не уверен, как хранить эти входные данные без использования строк, массивов и т. Д. И даже если я знаю, как их хранить, я не могу сравнить входные данные, например, input1 [1] = input2 [1] потому что мы не можем использовать массивы / строки.
Является ли список полезной опцией в отношении важной заметки?
В основном я делал это с использованием массива, но не уверен, как подойти к нему без массива. Я пытался зациклить символ, но он хранит только первый символ.
Код моей практики:
#include <iostream>
using namespace std;
int main() {
char input1;
for(int i =0; i < 3; i++ ) //for chacking whether the loops work or not.
{
cin >> input1;
}
cout<< input1;
char input2;
}
Пожалуйста, добавьте любые соответствующие теги.
Я надеюсь, что все правки помогут.