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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2015, 23:43   #1
Lampampam
 
Регистрация: 23.11.2015
Сообщений: 4
По умолчанию подсчитать количесто отрицательных элементов

Добрый вечер, помогите исправить ошибку, не понимаю в чем суть
Написать пользовательскую функцию, решающую указанную ниже задачу. Массивы А и В динамические, выделение памяти выполнить функциями calloc() или malloc(), обращение к элементам массива только через указатель.
Предусмотреть реакцию программы на ситуации, при которых задача не имеет решения.

Заданы два массива А(M) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий наибольшее их количество.
и подскажите массив объявлять все таки через int или double ?

Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
#include <cstdlib>



void vvod (int*, int);
int s4et (int*, int);
void vivod(int*, int*, int);
void f1 (int *a, int);
void compare (int, int );

void main()
{
	setlocale (LC_CTYPE, "Russian");
	system ("cls");
	fflush(stdin);
	int w1, w2, m;// m - размер массивa
	printf("\n введите размер массива  m:\n");
	scanf_s("%5d",&m);
	int *a = (int*) calloc (m,(sizeof(int)));
	int *b = (int*) calloc (m,(sizeof(int)));
	printf("\n введите элементы массива \n");
	vvod (a,m);
	vvod (b,m);// ввод массива
	printf("\n массив a:\n");
	f1(a,m);
	printf("\n массив b:\n");
	f1(b,m);
	w1=s4et (a, m);
	w2=s4et (b, m); // сравнение подсчет элементов
	compare (w1, w2);
	free (a); 
	free (b);
	delete []a;
	delete []b;
	_getch(); 
}


void vvod (int *a1, int m1)
{
	for (int i1=0; i1<m1; i1++)
    printf  ("%5d", *(a1+i1));
	return;
}

void f1 (int *a,int m5)
{for (int i=0; i<m5; i++)
printf("%d",*(a+1));
}


int s4et ( int *a2, int m2)
{  
	int w=0;
	for (int i=0; i<m2; i++)
	{
if (*(a2+i)<0)	w++;
	}
printf ("%d",w);
return w;
}


void compare (int w1, int w2, int*a7, int*b7, int m7)
{ if (w1>w2)
{printf ("\nотрицательных значений меньше в массиве А. Выводится сначала массив А, затем В");
vivod (a7, b7, m7);}
else  
{printf ("\nотрицательных значений меньше в массиве B. Выводится сначала массив В, затем А");
vivod (b7, a7, m7);
return;}

if (w1==0 && w2==0)
	{
		printf("\nМассивы A и В не содержат отрицательных значений");
		return;
	}
if (w1==w2)
	{
	printf("\nМассивы A и В содержат одинаковое число положительных значений");
	return;
	}

}

void vivod (int *a7, int*b7, int m7)
{int i7;
for (i7=0; i7<m7; i7++)
{printf ("%5d ,  %5d\n",  i7,  *(a7+i7), *(b7+i7)); }
return;
}

выдает ошибки
Цитата:
error LNK1120: 1 unresolved externals
error LNK2019: unresolved external symbol "void __cdecl compare(int,int)"

Последний раз редактировалось Stilet; 25.11.2015 в 09:54.
Lampampam вне форума Ответить с цитированием
Старый 25.11.2015, 01:15   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

У вас объвлена и вызывается функция
Код:
void compare (int, int );
а реализована только
Код:
void compare (int w1, int w2, int*a7, int*b7, int m7)
Вот компилятор и спрашиваете, где вы подевали нужную.
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный элемент среди элементов, находящихся в строках, в которых положительных элементов меньше, чем отрицательных. Kirillgr Помощь студентам 19 03.02.2014 01:50
Дана последовательность целых чисел.Подсчитать среднее арифметическое отрицательных элементов. d_dima Помощь студентам 5 20.03.2013 15:14
Подсчитать количество отрицательных элементов каждого столбца таблиц spani Помощь студентам 12 10.12.2012 19:20
подсчитать сумму отрицательных элементов(паскаль) ВалерОК Помощь студентам 3 02.02.2012 22:37
Найти максимальный из положительных элементов матрицы и сумму отрицательных элементов. bessonov12 Microsoft Office Excel 7 04.05.2009 05:44