Найти индексы одинаковых элементов массива и вывести их в порядке возрастания - C (СИ)
Формулировка задачи:
Дано целочисленный массив размера N, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номера в порядке возрастания.
Решение задачи: «Найти индексы одинаковых элементов массива и вывести их в порядке возрастания»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int i, j, N;
printf("Enter the size of the array: \n");
scanf("%d", &N);
int *a = malloc(N * sizeof(int));
printf("Enter the elements of the array: \n");
for (i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
printf("\nThe entered array: \n");
for (i = 0; i < N; i++) {
printf("%3d ", a[i]);
}
printf("\n");
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (j != i && a[i] == a[j] && i<j)
printf("\n%d %d\n\n", i, j);
}
}
system("pause");
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные i, j, N (1, 2, 3).
- Пользователю предлагается ввести размер массива (4).
- Выделена память под массив (5).
- Пользователю предлагается ввести элементы массива (6).
- Выведен введённый массив (7).
- В цикле 2 вложенных цикла выводятся индексы одинаковых элементов в порядке возрастания (8).
- В конце программы пользователю предлагается нажать любую клавишу (9).
- Программа завершается (10).