Например, так: явно подсчитать кол-во, "загубив" повторяющиеся числа: int count_unique(int *a, int n){ int *ind = malloc(n * sizeof(int)); int i, j, count = 0; for (i = 0; i < n; i++) ind[i] = 1; for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) if (a[i] == a[j]) ind[j] = 0; for (i = 0; i < n; i++) count += ind[i]; free(ind); return count; }
или: отсортировать массив, а дальше по нему один раз пройтись. или: составить двусвязный список из элементов массива, а потом удалить повторяющиеся так же, как и в первом варианте. и т.д. ...
Begin
Writeln('Привет!');
Writeln('Меня зовут Саша!');
Writeln('Я студентка 2-ого курса начального образования!');
Writeln('Я будущий учитель младших классов...');
end.
2.
var n:Integer;
Begin
Read(n);
Writeln('Квадрат =',n*n);
end.
3.
var a:Integer;
Begin
Read(a);
Writeln('S = ',a*a);
Writeln('P = ',4*a);
end.
4. var n:Integer;
Begin
Read(n);
Writeln(n+10);
end.
5. var a,b:Integer;
Begin
Read(a,b);
Writeln(' S = ',a*b);
Writeln(' P = ',2*(a+b));
end.
6. var a,b,c:Integer;
Begin
Read(a,b,c);
Writeln('Сума = ',a+b+c);
end.
int count_unique(int *a, int n){
int *ind = malloc(n * sizeof(int));
int i, j, count = 0;
for (i = 0; i < n; i++)
ind[i] = 1;
for (i = 0; i < n; i++)
for (j = i + 1; j < n; j++)
if (a[i] == a[j]) ind[j] = 0;
for (i = 0; i < n; i++)
count += ind[i];
free(ind);
return count;
}
или: отсортировать массив, а дальше по нему один раз пройтись.
или: составить двусвязный список из элементов массива, а потом удалить повторяющиеся так же, как и в первом варианте.
и т.д. ...