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

Найти среднее арифметическое всех строк и вывести их - C++

Восстановить пароль Регистрация
 
Den0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 12
12.12.2013, 21:47     Найти среднее арифметическое всех строк и вывести их #1
Есть массив,максимум 10х10,нужно найти среднее арифметическое всех строк и вывести их. Выводится только среднее арифметическое 1 строки,что не так?
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
46
47
48
49
50
#include <iostream>
#include <time.h>
using namespace std;
 
void FormMass(float a[11][11], int n)
{
     srand(time(0));
     for(int i=0; i<n; i++)
     {
             for(int j=0; j<n; j++)
             a[i][j]=rand()%32767/100;
     }
}
void VivodMass(float a[][11], int n)
{
cout<<"MASSIVE\n";
int i,j;
    for(i=0; i<n; i++)
    {
             for(j=0; j<n; j++)
             cout<<a[i][j]<<" "<<"\t";
             cout<<"\n";
    }
}
double StarStok(float a[][11], int n)
{
     int m=0;
     double s1=0;
     for(int i=0; i<n; i++)
             for(int j=0; j<n; j++)
             {
             s1+=a[i][j];
             m++;
             }
 
s1=s1/m;
return s1;
}
 
int main()
{
    float a[11][11];
    int n;
    cout<<"Vvedite chislo srtok matrici:";
    cin>>n;
    FormMass(a,n);
    cout<<StarStok(a,n)<<"\n";
    VivodMass(a,n);
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 21:47     Найти среднее арифметическое всех строк и вывести их
Посмотрите здесь:

C++ Вывести на экран среднее арифметическое всех отрицательных чисел
C++ Найти среднее арифметическое квадратов всех целых чисел от 1 до b
C++ Найти среднее арифметическое всех неотрицательных элементов массива
Найти среднее арифметическое всех четных элементов последовательности C++
Найти среднее арифметическое всех элементов заданного массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 22:03     Найти среднее арифметическое всех строк и вывести их #2
Ваш код работает.
Den0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 12
12.12.2013, 22:05  [ТС]     Найти среднее арифметическое всех строк и вывести их #3
То,что он работает,я знаю. Но он вычисляет среднее арифм. только 1 строки,а нужно всех.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
12.12.2013, 22:12     Найти среднее арифметическое всех строк и вывести их #4
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <iomanip>
#include <ctime>
 
int **matrixGeneration(size_t rowsCount, size_t colsCount);
void matrixPrint(int **matrix, size_t rowsCount, size_t colsCount);
double matrixRowAverage(int *currentRow, size_t rowSize);
 
int main()
{
    size_t rowsCount;
    std::cout << "N: ";
    std::cin >> rowsCount;
 
    size_t colsCount;
    std::cout << "M: ";
    std::cin >> colsCount;
 
    int **matrix = matrixGeneration(rowsCount, colsCount);
    matrixPrint(matrix, rowsCount, colsCount);
 
    std::cout << "Row's averages: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        std::cout << "Average of " << (i + 1) << " row: ";
        std::cout << matrixRowAverage(matrix[i], colsCount) << std::endl;
    }
 
    std::system("pause");
    return 0;
}
 
int **matrixGeneration(size_t rowsCount, size_t colsCount)
{
    std::srand((size_t)std::time(nullptr));
    int **matrix = new int *[rowsCount];
    for (size_t i = 0; i < rowsCount; i++) {
        matrix[i] = new int [colsCount];
        for (size_t j = 0; j < colsCount; j++)
            matrix[i][j] = std::rand() % 25;
    }
    return matrix;
}
 
void matrixPrint(int **matrix, size_t rowsCount, size_t colsCount)
{
    std::cout << "Matrix: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++)
            std::cout << std::setw(5) << matrix[i][j];
        std::cout << std::endl;
    }
}
 
double matrixRowAverage(int *currentRow, size_t rowSize)
{
    int rowElementsSum(0);
    for (size_t i = 0; i < rowSize; i++)
        rowElementsSum += currentRow[i];
    return (double)(rowElementsSum) / (double)(rowSize);
}
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 22:16     Найти среднее арифметическое всех строк и вывести их #5
Цитата Сообщение от Den0 Посмотреть сообщение
То,что он работает,я знаю. Но он вычисляет среднее арифм. только 1 строки,а нужно всех.
я имею ввиду что считает все строки.
Den0
0 / 0 / 0
Регистрация: 12.12.2013
Сообщений: 12
12.12.2013, 22:19  [ТС]     Найти среднее арифметическое всех строк и вывести их #6
Ошибка в 34 строке:
34 D:\Dev-Cpp11\Untitled4.cpp `nullptr' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

Добавлено через 2 минуты
Doksim, неправильно выразился,нужно вывести каждой строки,а не всех. Извините за дезинформацию.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
12.12.2013, 22:27     Найти среднее арифметическое всех строк и вывести их #7
Цитата Сообщение от Den0 Посмотреть сообщение
Ошибка в 34 строке:
34 D:\Dev-Cpp11\Untitled4.cpp `nullptr' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
C++
1
std::srand((size_t)std::time(nullptr));
nullptr заменить на 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 22:29     Найти среднее арифметическое всех строк и вывести их
Еще ссылки по теме:

Найти среднее арифметическое всех чисел записанных в файл C++
Найти среднее арифметическое всех положительных элементов матрицы C++

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

Или воспользуйтесь поиском по форуму:
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 22:29     Найти среднее арифметическое всех строк и вывести их #8
Цитата Сообщение от Den0 Посмотреть сообщение
Ошибка в 34 строке:
34 D:\Dev-Cpp11\Untitled4.cpp `nullptr' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)

Добавлено через 2 минуты
Doksim, неправильно выразился,нужно вывести каждой строки,а не всех. Извините за дезинформацию.
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
46
#include <iostream>
#include <time.h>
using namespace std;
 
void FormMass(float a[11][11], int n)
{
     srand(time(0));
     for(int i=0; i<n; i++)
     {
             for(int j=0; j<n; j++)
             a[i][j]=rand()%32767/100;
     }
}
void VivodMass(float a[][11], int n)
{
cout<<"MASSIVE\n";
int i,j;
    for(i=0; i<n; i++)
    {
             for(j=0; j<n; j++)
             cout<<a[i][j]<<" "<<"\t";
             cout<<"\n";
    }
}
double StarStok(float a[], int n)
{
     double s1=0;
     for(int i=0; i<n; i++)
         s1+=a[i];
 
return s1 / n;
}
 
int main()
{
    float a[11][11];
    int n;
    cout<<"Vvedite chislo srtok matrici:";
    cin>>n;
    FormMass(a,n);
    
    for( int i = 0; i < n; i++ )
    cout<< "StarStok(a[ " << i << " ],n) = " << StarStok(a[ i ],n)<<"\n";
    VivodMass(a,n);
    system("pause");
}
Yandex
Объявления
12.12.2013, 22:29     Найти среднее арифметическое всех строк и вывести их
Ответ Создать тему
Опции темы

Текущее время: 03:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru