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

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

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. lrad

    lrad Гость

    Здравствуйте
    Помогите , пожалуйста решить задачу
    Даны вещественные массивы А[4][6], B[4][6]. Для каждого массива определить сумму и количество отрицательных элементов, расположенных в нечетных строках.
    Задачу необходимо решить используя указатели в качестве аргументов
    у меня начало есть
    Код (Text):
    #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

    Регистрация:
    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.
     
Загрузка...
Похожие Темы - Помогите решить задачу
  1. GREED
    Ответов:
    5
    Просмотров:
    748
  2. vovanabali
    Ответов:
    1
    Просмотров:
    627
  3. merrs
    Ответов:
    1
    Просмотров:
    1.341
  4. Kugotovr23
    Ответов:
    1
    Просмотров:
    1.321
  5. mregor
    Ответов:
    0
    Просмотров:
    937
Статус темы:
Закрыта.

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