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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 10:12   #1
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию с++

1. В одномерном массиве вычислить вреднее арифметическое положительных чисел.
2. В многомерном массиве умножить матрицу на х.
Помогите написать программы
Роза!!! вне форума
Старый 01.05.2010, 10:54   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

first:

Код:
#include <iostream>
#include <ctime>
using namespace std;
//
typedef unsigned short int word;
//
void FillArray(short int* A, word n);	//заполнение массива
void PrintArray(short int* A, word n);	//печать массива
float Average(short int* A, word n);	//подсчет среднего положительных элементов
//
const word size = 5;	//размер массива
//
void main(){
	short int M[size];
	FillArray(&M[0],size);
	PrintArray(&M[0],size);
	cout << "Average: " << Average(&M[0],size) << endl;
	cin.get();
	return;
}

void FillArray(short int* A, word n){
	srand(word(time(0)));
	for (word i=0; i<n; i++)
	{
		*(A+i)=rand()%10;
	}
	return;
}
void PrintArray(short int* A, word n){
	cout << endl << "Array: ";
	for (word i=0; i<n; i++)
	{
		cout << *(A+i) << " ";
	}
	cout << endl;
	return;
}
float Average(short int* A, word n){
	float sum=0.00;
	for (word i=0; i<n; i++)
	{
		sum += *(A+i) > 0 ? *(A+i) : 0;	//тринарная операция, если элемент больше нуля - записываем в сумму, иначе 0
	}
	return (sum/n);
}

second:
Код:
#include <iostream>
#include <ctime>
using namespace std;
//
typedef unsigned short int word;
//
void FillArray(short int* A, word m, word n);							//заполнение двумерного массива
void PrintArray(short int* A, word m, word n);						//печать двумерного массива
void Mul_x(short int* A, word m, word n, short int _x);			//умножение матрицы на x
//
const word s_size(2), c_size(4);			//строчная и столбцевая размерности двмерного массива
const short int x = 5;							//число X
//
void main(){
	short int M[s_size][c_size];
	FillArray(&M[0][0],s_size, c_size);
	PrintArray(&M[0][0],s_size, c_size);
	cout << "X = " << x << endl;
	Mul_x(&M[0][0],s_size, c_size, x);
	cout << "New Array" << endl;
	PrintArray(&M[0][0],s_size, c_size);
	cin.get();
	return;
}

void FillArray(short int* A, word m, word n){
	srand(word(time(0)));
	for (word i=0; i<m; i++)
	{
		for (word j=0; j<n; j++)
		{
			*(A+i*n+j)=rand()%10;
		}
	}
	return;
}

void PrintArray(short int* A, word m, word n){
	cout << endl << "Array: " << endl;
	for (word i=0; i<m; i++)
	{
		for (word j=0; j<n; j++)
		{
			cout << *(A+i*n+j) << " ";
		}
		cout << endl;
	}
	cout << endl;
	return;
}

void Mul_x(short int* A, word m, word n, short int _x){
	for (word i=0; i<m; i++)
	{
		for (word j=0; j<n; j++)
		{
			*(A+i*n+j) *=_x;			//умножение каждого элемента на _x
		}
	}
	return;
}

Последний раз редактировалось capta1n; 01.05.2010 в 11:08.
capta1n вне форума
Старый 02.05.2010, 16:44   #3
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию

Спасибо!!!)))
Роза!!! вне форума
Закрытая тема


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