Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2013, 01:01   #1
nati_94
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 25
Восклицание с++ шаблон функции, прога выдает 3 ошибки, как их исправить?

Ошибки
Error 1 error LNK2019: unresolved external symbol "int __cdecl mas(int *,int)" (?mas@@YAHPAHH@Z) referenced in function _main D:\учеба\2sem c++\lab4z3\lab4z3\3.obj
Error 2 error LNK2019: unresolved external symbol "double __cdecl mas(double *,int)" (?mas@@YANPANH@Z) referenced in function _main D:\учеба\2sem c++\lab4z3\lab4z3\3.obj
Error 3 error LNK1120: 2 unresolved externals D:\учеба\2sem c++\lab4z3\Debug\lab4z3.exe

Написать программу, которая определяет сумму положительных элементов в одномерных массивах различных арифметических типов. Используйте шаблон функции.
Код:
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;

template<class T, class T1>
T mas( T* p,T1 count) 
 { T s;
   for (T1 index =0; index < count; index++) cout << *p[index] << ' '; 
    cout << endl; 
 if (a[i] >0) s+=a[i];
 return s;
 } 

 int mas(int*, int ); 

 double mas(double*, int);
    
   
void main() {

   double *p1=new double[10];
   int *p2=new int[10];
   for (int i=0;i<10;i++){
 *(p1+i)=rand()%100;
 cout << *(p1+i);
   }

    for (int i=0;i<10;i++){
 *(p2+i)=rand()%100;
 cout << *(p2+i);
   }
   mas(p1, 10);
   
   mas(p2, 10);
   
}

Последний раз редактировалось Stilet; 04.03.2013 в 09:28.
nati_94 вне форума Ответить с цитированием
Старый 04.03.2013, 02:45   #2
DmitriB
Пользователь
 
Регистрация: 31.01.2013
Сообщений: 12
По умолчанию

А вот так например:
Код:
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;

template<class T, class T1>
T mas(T* p, T1 count) {
	T s = 0;
	for (int index = 0; index < count; index++)
		if (p[index] > 0)
			s += p[index];
	return s;
} 

int main() {
	double *p1 = new double[10];
	int *p2 = new int[10];
	cout << "p1 = ";
	for (int i = 0; i < 10; i++) {
		*(p1 + i) = rand() % 100 + (rand() % 100) / 100.0;
		cout << *(p1 + i) << ' ';
	}
	cout << endl;

	cout << "p2 = ";
	for (int i = 0; i < 10; i++) {
		*(p2 + i) = rand() % 100;
		cout << *(p2 + i) << ' ';
	}
	cout << endl << endl;

	double sumP1 = mas(p1, 10);
	cout << "sumP1 = " << sumP1 << endl;

	int sumP2 = mas(p2, 10);
	cout << "sumP2 = " << sumP2;
}
DmitriB вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
InputBox выдает ошибку! Как ее исправить? Gyfmod Microsoft Office Excel 5 15.08.2012 15:29
Ошибки в программе, как исправить? zoomok Помощь студентам 2 22.06.2011 12:12
выдает ошибку. как исправить? avi-vi Помощь студентам 2 24.12.2010 10:00
Builder мне выдает ошибку. Как исправить? Ol'ga C++ Builder 3 19.12.2010 22:03
разработка функции для работы с матрицей, помогите исправить ошибки aka_faith Общие вопросы C/C++ 25 05.06.2009 13:12