Перейти к содержимому

Фотография

проверить задачу на ошибки


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 famous9221

famous9221

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Артём Горныя

Отправлено 26 ноября 2011 - 21:28

Даны вещественные массивы 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;
}



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


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных