Занести неповторяющиеся элементы одного массива в другой - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <Windows.h>
int main()
{
int i,j,k;
int a1[10]={1,2,3,4,5,6,1,2,3,4};
int a2[10];
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
system("Pause");
return 0;
}Решение задачи: «Занести неповторяющиеся элементы одного массива в другой»
textual
Листинг программы
#include <stdio.h>
#define ARRSIZ 10
int main()
{
int a[ARRSIZ] = { 1,2,5,4,2,1,2,5,7,8 };
int f=0;
for (int i=0; i<ARRSIZ; i++) {
f = 1;
for (int j=0; j<ARRSIZ; j++)
if (a[i] == a[j] && i != j) {
f = 0;
break;
}
if (f == 1) printf("%d ", a[i]);
}
return 0;
}
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
- Определяем размер массива ARRSIZ равным 10
- Инициализируем массив a значениями { 1,2,5,4,2,1,2,5,7,8 }
- Устанавливаем переменную f равной 0
- Запускаем цикл for для каждого элемента массива a от 0 до ARRSIZ-1
- Внутри цикла проверяем наличие дубликата текущего элемента в массиве a. Если такой элемент найден, переходим к следующему элементу внешнего цикла
- Если дубликат не найден, выводим текущий элемент на экран с помощью функции printf
- Возвращаем 0, чтобы указать, что программа успешно завершилась