Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2016, 20:51   #1
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию Найти ошибку в коде функции вычисления среднего арифметического для массива. C++

Код:
#include <stdio.h>

	// среднее арифм.

double sa_f ( int m [], int dl );

int main() {
//-------------------------

	int m[]={3, 5, 6, 11, 12 };


	double sa = sa_f ( m, 5 );

	printf("%f",sa);

	return 0;

//-------------------------
} // main



double sa_f ( int m [], int dl ) {
//-------------------------

	int sum=0;
//	sum = m[0] + m[1] + m[2];//


	for ( int i = 0; i < dl; i ++ ) { // перебор всех значений массива

//		sum = sum + m[i];
		sum += m[i];

	} // for

	double sa= sum / 3.0;

	return sa;

//-------------------------
} //

Последний раз редактировалось Вадим Мошев; 09.11.2016 в 21:09.
Кристина1998 вне форума Ответить с цитированием
Старый 09.11.2016, 21:02   #2
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

double sa= sum / 3.0 вместо dl
И sum объявить, как double
FPaul вне форума Ответить с цитированием
Старый 09.11.2016, 21:13   #3
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от FPaul Посмотреть сообщение
double sa= sum / 3.0 вместо dl
И sum объявить, как double
double sa= sum / 3.0 вместо dl как это понять?
Кристина1998 вне форума Ответить с цитированием
Старый 09.11.2016, 21:16   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

double sa= sum / dl
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.11.2016, 21:23   #5
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
double sa= sum / dl
Должно получиться 7,4 , а выводит 14,8000000
Кристина1998 вне форума Ответить с цитированием
Старый 09.11.2016, 21:28   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

выведи сумму сразу после расчета на экран
ura_111 вне форума Ответить с цитированием
Старый 09.11.2016, 21:31   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Кристина1998 Посмотреть сообщение
Должно получиться 7,4 , а выводит 14,8000000
double sa= sum / 5.0 даст 7.4?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.11.2016, 21:33   #8
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
double sa= sum / 5.0 даст 7.4?
Да, массив же складывается и делиться на количество
Кристина1998 вне форума Ответить с цитированием
Старый 09.11.2016, 21:42   #9
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Код:
#include <stdio.h>

// среднее арифм.

double sa_f(int m[], int dl);

int main() {
	//-------------------------

	int m[] = { 3, 5, 6, 11, 12 };


	double sa = sa_f(m, 5);

	printf("%f", sa);

	return 0;

	//-------------------------
} // main



double sa_f(int m[], int dl) {
	//-------------------------

	double sum = 0;
	//	sum = m[0] + m[1] + m[2];//


	for (int i = 0; i < dl; i++) { // перебор всех значений массива

		//		sum = sum + m[i];
		sum += m[i];

	} // for

	double sa = sum / dl;

	return sa;

	//-------------------------
} //
ura_111 вне форума Ответить с цитированием
Старый 09.11.2016, 21:44   #10
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
Код:
#include <stdio.h>

// среднее арифм.

double sa_f(int m[], int dl);

int main() {
	//-------------------------

	int m[] = { 3, 5, 6, 11, 12 };


	double sa = sa_f(m, 5);

	printf("%f", sa);

	return 0;

	//-------------------------
} // main



double sa_f(int m[], int dl) {
	//-------------------------

	double sum = 0;
	//	sum = m[0] + m[1] + m[2];//


	for (int i = 0; i < dl; i++) { // перебор всех значений массива

		//		sum = sum + m[i];
		sum += m[i];

	} // for

	double sa = sum / dl;

	return sa;

	//-------------------------
} //
СПАСИБО,СПАСИБО!!!!Огромное спасибо!!!
Кристина1998 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать подпрограмму поиска среднего арифметического элементов массива. Для проверки подпрограммы создать драйвер, в котором выпо kostyan199731 Паскаль, Turbo Pascal, PascalABC.NET 2 16.04.2015 08:21
Написать метод класса для удаления элементов массива больше среднего арифметического С++ Елена Н. Помощь студентам 2 28.11.2013 16:19
Программа для вычисления среднего арифметического и геометрического массива чисел Defalliance Общие вопросы C/C++ 1 04.12.2012 21:57
Составить функцию для вычисления среднего арифметического в Delphi laventus Помощь студентам 2 15.06.2012 14:53
вычисления среднего арифметического каждого столбца под главной диагональю Павел Шилин Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2012 00:35