Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Евгений Саныч
Сообщений: n/a
#1

Двумерные массивы. Главная диагональ и произведение среднего арифметического значения элементов. - C++

08.12.2010, 01:48. Просмотров 1072. Ответов 1
Метки нет (Все метки)

Вот какая стоит передо мною задача: (программа на С++)

"Даны вещественные массивы D[5][5], S[5][5]. Для каждого массива определить произведение средних арифметичеких значений элементов, расположенных ниже и выше главной диагонали."

Ниже, что я начал делать (ввел и вывел массивы) и застрял.
____________________________________
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream.h>
#define I 5     
#define J 5     
 
            
 
void input(int [I][J],char);
void output(int[I][J],char);
 
void main()
 {
 int d[I][J], s[I][J];
 input(d,'d');
 input(s,'s');
 output(d,'d');
 output(s,'s');
 }
 
void input(int x[I][J],char mas)
  {
  int i,j;
  cout << "\n Вводим массив " << mas << ": \n";
  for(i=0;i<I;i++)
   for(j=0;j<J;j++)
    {
    cout << mas << "["<<i<<"]["<<j<<"]=";
    cin >> x[i][j];
    }
  }
 
void output (int x[I][J],char mas)
 {
 int i,j;
 cout << "\n Исходный массив " << mas << ": \n";
 for(i=0;i<I;i++)
   {
   cout << "\n";
   for(j=0;j<J;j++)
     {
     cout.width(7);
     cout << x[i][j];
     }
     cout << endl;
   }
 }
_________________________________

ПыСы: Нашел цикл для присваивания элементам главной диагонали и элементам выше и ниже главной диагонали определенных значений:
___________________
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (i = 0; i < n; ++i)
{   // Заполняем строку с номером i
    for (j = 0; j < i; ++j)
    {
    A[i][j] = 2;    // Сначала пишем значение 2 элементам ниже диагонали
    }
    A[i][j] = 1;        // После завершения предыдущего цикла i==j, пишем 1
    for (++j; j < n; ++j)  // Цикл начинаем с увеличения j на 1
    {
        A[i][j] = 0;    // Записываем значение 0 элементам выше диагонали
    }
}
___________________

Может кто-нить подсказать решение этой задачки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 01:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двумерные массивы. Главная диагональ и произведение среднего арифметического значения элементов. (C++):

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов...

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива - C++
В массиве Х(N) найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива....

В одномерном массиве значение каждого элемента заменить разностью этого значения и среднего арифметического значения других элементов - C++
В одномерном массиве значение каждого элемента заменить разностью этого значения и среднего арифметического значения других элементов....

Посчитать количество элементов, отличающихся от среднего арифметического значения элементов массива - C++
Подсчитать количество элементов массива Р (60), отличающихся от среднего арифметического значения элементов массива М (70) не более чем...

Вычисление среднего арифметического значения элементов массива - C++
1.Ввод массива целых чисел. 2.Вывод массива в строку. 3.Вычисление среднего арифметического значения элементов массива и замена...

Вычисление среднего арифметического значения положительных элементов массива - C++
пожалуйста, доведите программу до ума!желательно с комментариями, что бы разобраться! Заранее благодарю всех, кто откликнется! Написать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
08.12.2010, 05:38 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
float average_lower(int A[I][J])
{
    int sum = 0;
    int count = 0;
    for (int i=1; i<I; i++)
        for (int j=0; j<i; j++)
        {
            sum = sum + A[i][j];
            count++;
        }
    return sum/static_cast<float>(count);
}
 
float average_higher(int A[I][J])
{
    int sum = 0;
    int count = 0;
    for (int i=0; i<I-1; i++)
        for (int j=i+1; j<I; j++)
        {
            sum = sum + A[i][j];
            count++;
        }
    return sum/static_cast<float>(count);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 05:38
Привет! Вот еще темы с ответами:

Одномерные массивы (найти количество элементов, отличающихся от среднего арифметического не более чем на 5%) - C++
В одномерном массиве, состоящем из n вещественных элементов, найти количество элементов, отличающихся от среднего арифметического не более...

определить количество элементов двумерного массива,которые меньше среднего арифметического значения всех элементов своей строки - C++
дан вещественный массив A. определить количество элементов массива,которые меньше среднего арифметического значения всех элементов своей...

Параметризованная функция вычисления среднего арифметического значения массива элементов - C++
Опишите параметризованную функцию вычисления среднего арифметического значения мас- сива элементов

Найти значения тех элементов матрицы, которые больше среднего арифметического - C++
Если среднее арифметическое матрицы А положительно, задать элементам С1, C2, ..., Сi; значения тех элементов матрицы А, которые больше...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru