Проверить Задачу На Ошибки

  • Автор темы Artemx
  • Дата начала
A

Artemx

#1
Даны вещественные массивы 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[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[j] > 0)
*product_ch *=x[j];
// расчёт суммы в нечётных строках
for (i=0;i<5;i++)
for (j=0;j<6;j+=2)
if ( x[j] >0)
*product_nch *=x[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[j];
cout << endl;
}
cout << "\nСумма положительных элементов в чётных строках массива "
<< name << "равна" << product_chet < endl;
cout << "Сумма положительных элементов в нечётных столбцах массива "
<< name << "равна" << product_nchet < endl;
}



вот вся программа кто нашел ошибки или недочёты пишите ...
 
R

riyadoll

#2
еще актуально??
массив нужно вводить или можно рандомными числами заполнить?
уж больно муторно вручную то пользователю каждый элемент вводить
 
R

rrrFer

#3
riyadoll
по-любому уже не актуально.
ТС одно время яростно нарушал правила форума создавая по десять экземпляров своих тем, полагаю что не зря он так форсировал...