1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Помогите решить задачу

Тема в разделе "С и С++", создана пользователем lrad, 23 янв 2007.

Статус темы:
Закрыта.
  1. lrad

    lrad Гость

    Репутация:
    0
    Здравствуйте
    Помогите , пожалуйста решить задачу
    Даны вещественные массивы А[4][6], B[4][6]. Для каждого массива определить сумму и количество отрицательных элементов, расположенных в нечетных строках.
    Задачу необходимо решить используя указатели в качестве аргументов
    у меня начало есть
    Код:
    #include<iostream.h>
    #include<iomanip.h>
    #include<conio.h>
    //Прототипы функций
    void inputmas(float[4][6],char);
    float raschet(float [4][6], float*, float*);
    void printrez(float [4][6],char);
    
    void main()
    {
    cout <<" Задача № 2 \n";
    cout <<"Даны вещественные массивы А[4][6], B[4][6]. \n";
    cout <<"Для каждого массива определить сумму и количество \n";
    cout <<"отрицательных элементов, расположенных в нечетных строках. \n";
    cout<<"\nДля вывода результатов вам нужно самостоятельно заполнить массив!\n";
    
    // Объявление массива и переменных
    float a[4][6],b[4][6], summa,kol;
    //summa - сумма отрицательных элементов, расположенных в нечетных строках.
    //kol - количество отрицательных элементов, расположенных в нечетных строках.
    
    // Обращение к функциям
    inputmas(a,'a');
    inputmas(b,'b');
    raschet(a, &summa, &kol);
    raschet(b, &summa, &kol);
    printrez(a,'a');
    printrez(b,'b');
    cout<<"Нажмите любую клавишу...";
    getch();
    return;
    }
    //--------------------------------------------------------------------
    // Определение функции ввода массива inputmas()
    void inputmas(float x[4][6], char name)
    {
    cout <<" Вводим массив "<<name<<endl;
    int i,j;
    for (i=0;i<4;i=++)
    for (j=0;j<6;j++)
    {
    cout<<" Введите "<<name<<"["<<i<<"]["<<j<<"]=";
    cin >>x[i][j];
    }
    }
    
    //---------------------------------------------------------------------
    // Определение расчетной функции
     
  2. SunSanych

    SunSanych Well-Known Member

    Репутация:
    0
    Регистрация:
    28 июн 2006
    Сообщения:
    71
    Симпатии:
    0
    void raschet(float x[4][6], float* summa, int* kol)
    {
    int i,j;
    float item = 0.0;
    // На всякий случай очистим переменные от возможного мусора.
    *summa = 0.0;
    *kol = 0;

    for (i=0;i<4;i=++)
    {
    if(i%2) // Операция извлечения остатка при целочисленном делении. Четное число делится на 2 без остатка, а нечетное с остатком 1.
    for (j=0;j<6;j++)
    {
    item = x[j];
    if(item < 0)
    {
    *summa += item;
    *kol++;
    }
    }
    }
    }

    Чуть изменил определение функции raschet. Во-первых она ничего не возвращает, а во-вторых количество элементов kol - это целое число, не вижу смысла в определении его как float.
     
Загрузка...
Статус темы:
Закрыта.

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