Как сделать так чтобы в новом массиве числа не повторялись?

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
    system("chcp 1251");
    double A[4];
    const int nsize = sizeof(A) / sizeof(double);
    int B[nsize];
    int i;
    for (i = 0; i < nsize; i++)
    {
        printf(" mass- ");
        scanf_s("%lf", &A[i]);
    }
    for (i = 0; i < nsize; i++)
        B[i] = floor(A[i] + 0.5);
    for (i = 0; i < nsize; i++)
        printf(" %d", B[i]);
    return 0;
}

С клавиатуры ввести массив действительных чисел (максимальная размерность - 45 элементов). Сформировать новый целочисленный массив, в который записать значения элементов введенного массива, округленные до ближайших целых чисел. Сделать так чтобы в новом массиве числа не повторялись. Напечатать сформирован массив


Ответы (1 шт):

Автор решения: Вадим Никитин
#include <iostream>
using namespace std;


int main()
{
    int array1[] = {1, 5, 7, 5, 8, 9, 11, 11, 2, 5, 6};
    int s1 = sizeof(array1)/sizeof(array1[0]);

    cout << "Original array: ";

    for (int i=0; i < s1; i++) 
    cout << array1[i] <<" ";

    cout <<"\nUnique elements of the said array: ";
    for (int i=0; i<s1; i++)
    {
        int j;
        for (j=0; j<i; j++)
           if (array1[i] == array1[j])
               break;
        if (i == j)
          cout << array1[i] << " ";
    }
    return 0; 
}
→ Ссылка