Страница 2 из 2
Re: Выборка элементов массива
Добавлено: 06 июл 2008, 00:53
Alex_Burn
F-R-O-S-T, спасибо вам огромное за потраченное на меня время! Доброй ночи.
Re: Выборка элементов массива
Добавлено: 06 июл 2008, 01:03
F-R-O-S-T
Не за что Alex_Burn, . Доброй ночи .
Re: Выборка элементов массива
Добавлено: 10 июл 2008, 13:00
Alex_Burn
Всем доброго времени суток! Я пытаюсь написать шаблон функции, используя рассмотренный ранее в этой теме алгоритм. Делаю я это следующим образом:
[Syntax='C++']
template <class burn>
int MaxOfSreiateElements(burn matrix[5][5])
{
int i, j;
const int n = 5;
const int m = 125;
const int l = 21;
burn vektor[m];
burn massive[l];
for (i = 0; i < m; i++) vektor
= 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
massive[matrix[i, j]+10]++; // <------ Ошибка - здесь
}
}
bool find = false;
j = 0;
// Формирование массива искомых элементов
for (i = 0; i < l; i++)
{
if (massive > 1) { vektor[j] = i - 10; find = true; j++; }
}
burn max = vektor[0];
// Поиск максимума
for (i = 0; i < j; i++)
{
if (vektor > max) max = vektor;
}
if (find) return max;
else return 8000;
}
[/Syntax]
Вызываю шаблон я так:
[Syntax='C++']
int matrix1[n][n] = {{4,1,8,-7,0},
{3,-7,5,1,4},
{-2,-5,0,2,3},
{9,1,6,-7,3},
{5,-1,4,-2,1}};
....
int num = NumberOfNotZeroLines(matrix1);
[/Syntax]
Но в строке функции
выдает ошибку
Cannot convert 'int*' to 'int'
Подскажите, пожалуйста, в чем причина. Ведь обычной функцией, а не шаблоном, все работает нормально.
Re: Выборка элементов массива
Добавлено: 14 июл 2008, 11:32
Albor
massive[matrix[i,j]+10]++; - неверный синтаксис, должно быть massive[matrix[j]+10]++;
Re: Выборка элементов массива
Добавлено: 23 июл 2008, 14:37
Alex_Burn
Albor, спасибо большое.