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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 23:06   #1
famous9221
 
Регистрация: 24.11.2011
Сообщений: 8
Радость решение задач

1.даны вещественные массивы A [14], S[14].Для каждого массива определить количество элементов , предшествующих первому отрицательному элементу массива.
2.Даны вещественные массивы F[5][6] , M[5][6].Для каждого массива определить произведение положительных элементов, расположенных в чётных строках массива , и произведение положительных элементов , расположенных в нечётных строках массива.
3. Даны массивы А[3][4] , B[3][4].Для каждого массива определить количество элементов,значения которых больше 10 или меньше5.Если таких элементов больше 3 , то заменить их на нулевые значения.В программе предусмотреть ввод массива и вывод исходных данных и результатов.
4. Дан вещественный массив C[5][6]. Опpеделить значения вещественного массива D[5] по следующему правилу: D[i]=сумме i-й строки массива С, если C[i][5]>0 и D[i]=0 в противном случае.Значение переменной i изменяется от 0 до 4.
5.Даны целые массивы A[5], B[5] и значения R и F. Каждый массив пpеобpазовать по пpавилу: если отpицательных элементов в массиве больше 2, то пеpвый по поpядку отpицательный компонент заменить на значение R (для массива А) и значение F (для массива B). В пpотивном случае массив оставить без изменений.
Через 2 дня сдавать помогите кто чем может?
famous9221 вне форума Ответить с цитированием
Старый 25.11.2011, 00:27   #2
SoldierOfFortune
 
Регистрация: 23.10.2011
Сообщений: 8
По умолчанию

1.
Код:
unsigned count(float *array_, unsigned size_)
{
	unsigned counter = 0;

	for (unsigned i = 0; i < size_; i++) {
		if (array_[i] >= 0.0f) {
			++counter;
		}
		else {
			break;
		}
	}

	return counter;
}
SoldierOfFortune вне форума Ответить с цитированием
Старый 25.11.2011, 00:37   #3
SoldierOfFortune
 
Регистрация: 23.10.2011
Сообщений: 8
По умолчанию

2.
Код:
struct Pair {
	float first_;
	float second_;
};

Pair foo(float **array_, unsigned rows, unsigned colls)
{
	Pair temp = {1.0f, 1.0f};

	for (unsigned i = 0; i < rows; i++) {
		for (unsigned j = 0; j < colls; j++) {
			if ((i % 2) == 0) {
				if (array_[i][j] > 0.0f) {
					temp.first_ *= array_[i][j];
				}
			}
			else {
				if (array_[i][j] > 0.0f) {
					temp.second_ *= array_[i][j];
				}
			}
		}
	}

	return temp; // first_ - произв. в четн. строках
				 // second_ - произв. в нечетн. строках
}
SoldierOfFortune вне форума Ответить с цитированием
Старый 27.11.2011, 17:04   #4
famous9221
 
Регистрация: 24.11.2011
Сообщений: 8
По умолчанию

спасибо что ответили но мне надо в другой форме вот так




Даны вещественные массивы F[5][6], M[5][6].Для каждого массива определить произведение положительных элементов ,расположенных в чётных строках массива, и произведение положительных элементов, расположенных в нечётных строках массива.

#include < iostream.h>
#include <iomanip.h>
//прототипы функций
void input ( float [5][6],char);
void schetproduct (float[5][6], float *, float *);
void output ( float [5][6], char , float, float);

void main()
{
//объявление массивов и переменных
float F[5][6], M[5][6] , suma_ch,suma_nch , sumd_ch, sumd_nch;

// productF_ch -для расчёта произведения в чётных строках массива F
//productF_nch -для расчёта произведения в нечётных строках массива F
//productM_ch -для расчёта произведения в чётных строках массива M
//productM_nc -для расчёта произведения в нечётных строках массива M
//обращение к функциям (вызов для выполнения)
input (F,'F');
input (M,'M');
schetproduct(F,&productF_ch, &productF_nch); // в функцию передаются два
schetproduct(M,&productM_ch &productM_nch); //адреса переменных
output (F,'F',productF_ch,productF_nch);
output (M,'M',productM_ch,productM_nch);
}
//определение функции ввода массива input()
void input ( float x[5][6],char name)
{
int i,j;
cout <<"Вводим массив" << name << endl;
for (i=0;i<5;i++)
for (j=0;j<6;j++)
{
cout <<"Введите " << name << "[" << i << "][" << j << "]=";
cin >> x[i][j];
}
}

//определение расчётной функции
// в качестве аргументов у данной функции два указателя
void schetproduct (float x[5][6], float *product_ch,float * product_nch)
{
int i,j;
*product_ch=0;
*product_nch=0;

// считаю чётные строки с индексом 0 и 2,
// а нечётные - с индексом 1 и 3
// расчёт произведения в чётных строках
for (i=0;i<5;i++)
for (j=0;j<6;j++)
if (x[i][j] > 0)
*product_ch *=x[i][j];
// расчёт суммы в нечётных строках
for (i=0;i<5;i++)
for (j=0;j<6;j+=2)
if ( x[i][j] >0)
*product_nch *=x[i][j];

}
// определение функции вывода output()
void output (float x[5][6], char name, float product_chet,float product_nchet)
{
int i,j;
cout <<"Исходный массив " << name << ":" << endl;
for (i=0;i<5;i++)
{
for (j=0;j<6;j++)
cout << setw (5) << x[i][j];
cout << endl;
}
cout << "\nСумма положительных элементов в чётных строках массива "
<< name << "равна" << product_chet < endl;
cout << "Сумма положительных элементов в нечётных столбцах массива "
<< name << "равна" << product_nchet < endl;
}

есть ли ошибки в этом решении?
famous9221 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задач imhotep Помощь студентам 18 20.02.2012 17:03
Решение задач!!!!! cs_den30 Помощь студентам 2 13.11.2011 21:02
Решение задач Azzzzz SQL, базы данных 1 28.02.2011 17:47
Решение задач X-QuadrO Паскаль, Turbo Pascal, PascalABC.NET 1 22.02.2011 17:17
решение задач в tp junger@ Помощь студентам 0 25.11.2010 14:48