Вывести неповторяющиеся элементы массива

Задача

В массиве найти элементы, которые в нем встречаются только один раз, и вывести их на экран. То есть найти и вывести уникальные элементы массива.

Пояснение к задаче и алгоритм решения

Будем брать очередной элемент массива и сравнивать его со всеми остальными элементами массива от начала до конца. Если при сравнении два элемента окажутся равны друг другу, и при этом элемент не сравнивается сам с собой, то значит этот "исследуемый" элемент не уникальный. Дальнейшее сравнение этого элемента не имеет смысла, и надо перейти к следующему. Если же ни одного совпадения не было найдено, значит элемент не повторяется в массиве, и его надо вывести на экран.

В программе можно использовать переменную-флаг. Перед началом проверки уникальности элемента присвоить ей, например, значение 1. Если совпадение будет найдено, то присвоить флагу 0. Если же после всех сравнений флаг остался равен 1, то значит элемент массива не повторяется в нем.

Исходный код на языке программирования Pascal

const N = 20;
var
    a: array[1..N] of word;
    i,j: byte;
    flag: boolean;
begin
    randomize;
    for i:=1 to N do begin
        a[i] := random(15);
        write(a[i],' ');
    end;
    writeln;
    for i:=1 to N do begin
        flag := True;
        for j:=1 to N do
            if (a[i] = a[j]) and (j <> i) then begin
                flag := False;
                break;
            end;
        if flag = True then
            write(a[i],' ');
    end;
    writeln
end.

Пример(ы) выполнения программы на языке Pascal

12 5 7 6 5 13 5 1 1 14 1 3 13 4 13 4 3 9 11 9
12 7 6 14 11

Исходный код на языке программирования C

#include <stdio.h>
#define N 20
main() {
    unsigned short a[N], i, j, f;
    srand(time(NULL));
    for (i=0; i<N; i++) {
        a[i] = rand() % 15;
        printf("%d ", a[i]);
    }
    printf("\n");
    for (i=0; i<N; i++) {
        f = 1;
        for (j=0; j<N; j++)
            if (a[i] == a[j] && i != j) {
                f = 0;
                break;
            }
        if (f == 1) printf("%d ", a[i]);
    }
    printf("\n");
}

Пример(ы) выполнения программы на языке C

7 9 5 11 1 11 10 11 5 14 10 9 6 14 6 13 6 11 0 9
7 1 13 0

Исходный код на языке программирования Python

from random import random
N = 20
a = [0] * N
for i in range(N):
    a[i] = int(random()*15)
    print(a[i],end=' ')
print()
for i in range(N):
    f = True
    for j in range(N):
        if a[i] == a[j] and i != j:
            f = False
            break
    if f == True:
        print(a[i],end=' ')
print()

Пример(ы) выполнения программы на языке Python

1 3 2 8 12 6 10 6 13 11 6 4 10 9 2 8 7 13 1 9
3 12 11 4 7

Исходный код на языке программирования Basic

N = 20
dim a(N)
for i=0 to N-1
        a[i]  = int(rand * 15)
        print a[i] + " ";
next i
print
for i=0 to N-1
        f = 1
        for j=0 to N-1
                if a[i] = a[j] and i <> j then
                        f = 0
                endif
        next j
        if f = 1 then print a[i] + " ";
next i
print

Пример(ы) выполнения программы на языке Basic

12 1 8 10 14 3 7 1 14 5 5 2 14 13 3 9 14 10 12 11
8 7 2 13 9 11

Тема

Массивы

Уровень сложности

Средний

Дата публикации

Комментарий

Это не питоник код )

m=set(input('enter elements of massive (through barspace)').split())

print(m)

добавьте 3 -> printf("%3d ", a[i]);