Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Задача на массив с совпадающими элементами

Автор: IHOR 14.12.2007 5:31

Извените если уже такой вопрос задавали, но я не смог найти.
Написал код к задаче, но есть ошибка, но какая...както не доходит (новичок в этом деле)
Условие:
В массиве T(k) много совпадющих элементов.Найти количество различных элементов в нем (без сортировки массива).
Код

#include <iostream.h>
#include <conio.h>
const int k=5;
void main ()
{
clrscr ();
int T[k];
int S=0;
for (int i=0;i<k;i++)
cin >>T[i];
cout <<endl;
for (i=0;i<k;i++)
if (T[!]=T[i])
{
S=S+i;
}
cout <<S<<endl;
getch ();
}

Заранее благодарю

Автор: мисс_граффити 14.12.2007 6:59

if (T[!]=T[i]) 

Что ты хотел сказать этим восклицательным знаком?

Автор: IHOR 14.12.2007 15:10

Цитата(мисс_граффити @ 14.12.2007 3:59) *

if (T[!]=T[i]) 

Что ты хотел сказать этим восклицательным знаком?

Ой сори Я ошибся когда печатал
if (T[i]!=T[i])

Автор: volvo 14.12.2007 18:27

Тебе надо вложенный цикл: для каждого элемента пробегаешь по всем тем, что в массиве стоят ПЕРЕД ним, и если не было ни одного равного - значит, увеличивать счетчик...


...
for(int i = 0; i < n; i++) {
bool found = false;
for(int j = 0; j < i && !found; j++) {
if(a[i] == a[j]) found = true;
}
if(!found) count += 1;
}
...