#include <stdio.h>
#include <conio.h>
#include <locale.h>
main()
{
setlocale(0, "");
int n;
printf("Введите размер массива: ");
scanf("%d", &n);
int A[n];
printf("Введите элементы массива: ");
for (int i = 0; i < n; i++)
{
scanf("%d", &A[i]);
}
int check = 0;
for (int i = 0; i < n - 1; i++)
{
if (A[i] == A[i + 1])
{
check++;
break;
}
}
if (check != 0)
{
printf("YES");
}
else
{
printf("NO");
}
getch();
}
Объяснение:
#include <stdio.h> // Библиотека ввода-вывода
#include <conio.h> // Библиотека, содержащая функцию getch() - пауза
#include <locale.h> // Библиотека локализации
main()
{
setlocale(0, ""); // Локализация
int n; // Создание целочисленной переменной, являющейся размером массива
printf("Введите размер массива: "); // Вывод сообщения в консоль
scanf("%d", &n); // Ввод размера массива с клавиатуры
int A[n]; // Создание целочисленного массива A размера n
printf("Введите элементы массива: "); // Вывод сообщения в консоль
for (int i = 0; i < n; i++) // Заполнение массива с клавиатуры
{
scanf("%d", &A[i]); // Заполнение массива с клавиатуры
}
int check = 0; // Переменная, для проверки на пары одинаковых элементов
for (int i = 0; i < n - 1; i++) // Идем по всему массиву
{
if (A[i] == A[i + 1]) // Если элемент i = следующему после себя элементу
{
check++; // К переменной check прибавляем единицу
break; // Выходим из цикла for
}
}
if (check != 0) // Если значение переменной check ≠ 0
{
printf("YES"); // Выводим "YES"
}
else // Иначе
{
printf("NO"); // Выводим "NO"
}
getch(); // Для завершения программы необходимо нажать любую клавишу
}
1. На ленте машины Тьюринга содержится последовательностью символов “+”. Напишите программу для машины Тьюринга, которая каждый второй символ “+” заменит на “–”. Замена начинается с правого конца последовательности. Автомат в состоянии q1 обозревает один из символов указанной последовательности. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.
2. Дано число n в восьмеричной системе счисления. Разработать машину Тьюринга, которая увеличивала бы заданное число n на 1. Автомат в состоянии q1 обозревает некую цифру входного слова. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.
3. Дана десятичная запись натурального числа n > 1. Разработать машину Тьюринга, которая уменьшала бы заданное число n на 1. Автомат в состоянии q1 обозревает правую цифру числа. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.
4. Дано натуральное число n > 1. Разработать машину Тьюринга, которая уменьшала бы заданное число n на 1, при этом в выходном слове старшая цифра не должна быть 0. Например, если входным словом было “100”, то выходным словом должно быть “99”, а не “099”. Автомат в состоянии q1 обозревает правую цифру числа. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.
5. Дан массив из открывающих и закрывающих скобок. Построить машину Тьюринга, которая удаляла бы пары взаимных скобок, т.е. расположенных подряд “( )”.
Например, дано “) ( ( ) ( ( )”, надо получить “) . . . ( ( ”.
Автомат в состоянии q1 обозревает крайний левый символ строки. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.
6. Дана строка из букв “a” и “b”. Разработать машину Тьюринга, которая переместит все буквы “a” в левую, а буквы “b” — в правую части строки. Автомат в состоянии q1 обозревает крайний левый символ строки. Кроме самой программы-таблицы, описать словами, что выполняется машиной в каждом состоянии.