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

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

  1. Artemx

    Artemx Гость

    Даны вещественные массивы 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 Гость

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

    rrrFer Well-Known Member
    Команда форума C\C++ Team

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

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