
Помогите пожалуйста решить задачу (для С): Определить, имеется ли в одномерном числовом массиве A
из n элементов, хотя бы одна пара совпадающих по величине соседних элементов.

Ответы на вопрос

Ответ:
#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(); // Для завершения программы необходимо нажать любую клавишу
}



Для решения данной задачи вам необходимо пройти по всем элементам массива `A` и проверить, есть ли хотя бы одна пара соседних элементов, которые совпадают по величине. Вы можете решить эту задачу с использованием цикла, пройдя по элементам массива и сравнивая каждый элемент с его соседом. Вот пример на языке C:
```c
#include
int main() { int n; // Размер массива printf("Введите размер массива: "); scanf("%d", &n); int A[n]; // Объявление массива размером n // Ввод элементов массива printf("Введите элементы массива:\n"); for (int i = 0; i < n; i++) { scanf("%d", &A[i]); } // Проверка наличия пары совпадающих соседних элементов int hasDuplicate = 0; // Флаг, показывающий, найдена ли пара for (int i = 1; i < n; i++) { if (A[i] == A[i - 1]) { hasDuplicate = 1; break; // Нашли пару, выходим из цикла } } if (hasDuplicate) { printf("В массиве есть хотя бы одна пара соседних совпадающих элементов.\n"); } else { printf("В массиве нет пар соседних совпадающих элементов.\n"); } return 0; } ```
В этом примере программа сначала запрашивает размер массива и вводит элементы. Затем она проходит по массиву и сравнивает каждый элемент с предыдущим. Если находится пара совпадающих соседних элементов, устанавливается флаг `hasDuplicate`, и программа выводит сообщение о наличии пары. Если пара не найдена, выводится сообщение о ее отсутствии.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili