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

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

Войти
Регистрация
Восстановить пароль
 
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
#1

Матрица, найти среднее арифметическое - C++

20.02.2012, 20:17. Просмотров 1114. Ответов 12
Метки нет (Все метки)

Здравствуйте, можете помочь с заданием:
Заданная матрица 6х6. Найти среднее арифметическое элементов каждой строки матрицы.
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2012, 20:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица, найти среднее арифметическое (C++):

Дана матрица 4х4, найти среднее арифметическое - C++
Дана матрица 4х4, найти среднее арифметическое положительных элементов; разделить на найденное число все отрицательные элементы последнего...

Дана матрица NxM, найти среднее арифметическое третьего ряда - C++
Дана матрица NxM, найти среднее арифметическое третьего ряда

Матрица - найти среднее арифметическое наибольшего и наименьшего значения её элементов - C++
Добрый день помогите с такой задачей C++ 3.1 Дана матрица A(n*n) целых чисел. Найти среднее арифметическое наибольшего и наименьшего...

Данна матрица NxM, найти среднее арифметическое каждого столбца - C++
Дана матрица NxM, найти среднее арифметическое каждого столбца. С++

Дана матрица. Найти среднее арифметическое ее элементов, стоящих на главной диагонали - C++
3. Дана матрица А(N*N). Найти среднее арифметическое ее элементов, стоящих на главной диагонали.

Дана квадратная матрица найти количество отрицательных элементов , среднее арифметическое, произведение - C++
1) дана квадратная матрица n найти: а) количество отрицательных элементов данной матрицы б) среднее арифметическое элементов лежащих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
20.02.2012, 20:18 #2
C++
1
2
3
4
5
6
for (unsigned int i = 0; i < size; ++i) {
    sum = 0;
    for (unsigned int j = 0; j < size; ++j)
        sum += arr[i][j];
    std::cout << (double) sum / size;
}
1
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
20.02.2012, 20:34 #3
neske, а что будет, если size в вашем коде будет равен UINT_MAX?
0
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
20.02.2012, 20:35  [ТС] #4
neske, огромное спасибо.
Можете только сказать, что означает neske std в последней строке ?
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
20.02.2012, 20:37 #5
Xind, странный вы, вопрос вообще к чему? я размер массива, который дан в задании, заменил константой size.

Добавлено через 38 секунд
wildfires, я пространство имен явно указал, можете после инклудов поставить
C++
1
using namespace std;
, и убрать std::
1
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
20.02.2012, 20:38 #6
Цитата Сообщение от neske Посмотреть сообщение
странный вы, вопрос вообще к чему? я размер массива, который дан в задании, заменил константой size.
К тому, что если size = UINT_MAX, то цикл никогда не завершится! Будьте внимательны.
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
20.02.2012, 20:42 #7
хорошо, буду внимательнее, только покажи как правильно, что бы мне в будущем избежать таким ошибок.
0
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
20.02.2012, 20:48 #8
neske,
C++
1
for (unsigned int i = 0; i < size; ++i)
в цикле используется переменная без знака и теперь, если size будет равен своему максимуму, то последняя проверка не пройдет, потому что i обнулится. и цикл пойдет заново.
Нужно использовать тип со знаком.
1
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
20.02.2012, 20:53 #9
Xind, там в задании задана матрица 6х6.
0
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
20.02.2012, 21:04 #10
neske,

Не по теме:

Ok. Согласен. Это уже оффтом

0
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
20.02.2012, 21:08  [ТС] #11
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
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int i,j,f[40][40];
int size=6;
void stvor(void)
 {randomize();
 for(i=0;i<size;i++)
  {for (j=0;j<size;j++)
    {f[i][j]=random(size);
     cout<<f[i][j]<<" ";}
   cout<<endl;}}
void red(void)
{for (unsigned int i = 0; i < size; ++i) {
    int sum = 0;
    for (unsigned int j = 0; j < size; ++j)
        sum += f[i][j];
           cout << sum / size;
}  }
 
 
int main(void)
{stvor();
red();
getch();
return 0;}
Вот запилил прогу, но что то она не очень правильно считает среднее арифметическое. В чем проблема ?
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.02.2012, 21:16 #12
Цитата Сообщение от Xind Посмотреть сообщение
в цикле используется переменная без знака и теперь, если size будет равен своему максимуму, то последняя проверка не пройдет, потому что i обнулится. и цикл пойдет заново.
Нужно использовать тип со знаком.
Да ладно. Вот вам код с unsigned char(для unsigned int заколебетесь ждать)
cut
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    unsigned char size = 0 - 1;
    std::cout << static_cast<int>(size) << std::endl;
    for(unsigned char i = 0; i < size; ++i)
        ;
    std::cout << "all ok" << std::endl;
    return 0;
}
0
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
21.02.2012, 01:10  [ТС] #13
Короче, всем спасибо, вроде допилил прогу, может кому будет нужна.
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
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int i,j,f[5][5];
//створення матриці
void stvor()
{randomize();
 cout<<"\n Matrix mae vud \n";
 for(i=0;i<6;i++)
 {for(j=0;j<6;j++)
 {f[i][j]=random(20)-10;
 cout<<f[i][j]<<"\t";
 }
 cout<<endl;
 }
}
//функція для підрахунку середнього арифметичного та вивід результату
void rax()
{for(i=0;i<6;i++)
 {float sum=0;
 for(j=0;j<6;j++)
 sum+=f[i][j];
 printf("\n Suma %d-go radka = %f",i+1,sum/6);
 }
}
void main()
{clrscr();
 stvor();
 red();
 getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2012, 01:10
Привет! Вот еще темы с ответами:

Найти среднее арифметическое квадратов и среднее арифметическое абсолютных значений двух вещественных чисел - C++
Всем здрасте помогите плиз. Дается два вещественных числа. Найти среднее арифметическое их квадратов и среднее арифметическое их абсолютных...

Даны натуральное число n, действительная матрица A(n,9). Найти среднее арифметическое каждого из столбцов, имеющих четные номера. - C++
Даны натуральное число n, действительная матрица A(n,9). Найти среднее арифметическое каждого из столбцов, имеющих четные номера. ...

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

Даны два целых числа; найти их среднее арифметическое, их среднее геометрическое - C++
Даны два целых числа найти их среднее арифмитическое их среднее геометрическое Заголовок темы продумываем


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.02.2012, 01:10
Ответ Создать тему
Опции темы

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