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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2013, 20:58   #1
lika2301
Новичок
Джуниор
 
Регистрация: 03.06.2013
Сообщений: 2
Восклицание Функции.

С помощью генератора случайных чисел сформировать одномерные массивы М(5) F(6) W(10). Найти и вывести на экран максимальные из произведений элементов этих массивов. Использовать функции.
Помогите, срочно надо....
lika2301 вне форума Ответить с цитированием
Старый 03.06.2013, 21:44   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Попробуйте этот код
Код:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define SIZE_M	5
#define SIZE_F	6
#define SIZE_W	10

int *InitMass(int *M, int D);
void PrintMass(int *M, int SIZE);
int ProdMass(int *M, int SIZE);

int main()
{
	int *M = NULL, *F = NULL, *W = NULL;
	int prM, prF, prW;
	int max = 0;
	
	system("chcp 1251 > nul");

	M = InitMass(M, SIZE_M);	// Инициализация массива M
	printf("\n Массив M:\n");
	PrintMass(M, SIZE_M);		// Печать массива
	prM = ProdMass(M, SIZE_M);

	F = InitMass(F, SIZE_F);	// Инициализация массива F
	printf("\n Массив F:\n");
	PrintMass(F, SIZE_F);		// Печать массива
	prF = ProdMass(F, SIZE_F);

	W = InitMass(W, SIZE_W);	// Инициализация массива W
	printf("\n Массив W:\n");
	PrintMass(W, SIZE_W);		// Печать массива
	prW = ProdMass(W, SIZE_W);

	max = (prM < prF) ? (prM < prW) ? prM : prW : (prF < prW) ? prF : prW;
	printf("\n Максимальное произведение: %d\n\n", max);

	system("pause");
	return 0;
}

/* Генерация массива случайных чисел */
int *InitMass(int *M, int D)
{
	int j;
		
	srand((unsigned)time(NULL));
	M = (int*)malloc(sizeof(int) * D);
	if(M == NULL)	exit(1);
	for(j = 0; j < D; j++)
		M[j] = 1 + rand()%10;
	
	return M;
}

/* Печать массива */
void PrintMass(int *M, int SIZE)
{
	int j;

	for(j = 0; j < SIZE; j++)
		printf(" %d", M[j]);
	printf("\n");
}

/* Произведение элементов массива */
int ProdMass(int *M, int SIZE)
{
	int ch = 1;
	int j;
	for(j = 0; j < SIZE; j++)
		ch *= M[j];

	return ch;
}
Если помог оставляйте отзыв - весы под аватаркой
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Табулирование заданной функции и определение максимального и минимального значения функции в таблице Марина1986 C/C++ Сетевое программирование 0 07.05.2013 11:31
Использование подпрограммы-функции: Вычислить значение функции (Турбо паскаль) RealUnited Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2012 20:34
Построение графика функции, мигание(затухание) шарика в минимумах функции kas1m_rus Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2012 20:28
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Программа на СИ++, используя функции работы с файлами и функции <string.h> Аня Popova Фриланс 9 13.09.2010 15:52