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

Тема в разделе "C/C++/C#", создана пользователем Artemx, 27 ноя 2011.

  1. Artemx

    Artemx Гость

    Репутация:
    0
    Даны вещественные массивы 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;
    }



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

    riyadoll Гость

    Репутация:
    0
    еще актуально??
    массив нужно вводить или можно рандомными числами заполнить?
    уж больно муторно вручную то пользователю каждый элемент вводить
     
  3. rrrFer

    rrrFer Гость

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

Поделиться этой страницей