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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2013, 11:16   #1
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию Массив,5 чисел,среднее арифметическое.

Здравствуйте,
погуглив,понял,что это за пределами моих возможностей.
пожалуйста,помогите написать маленький код...
нужно,чтобы программа загрузила 5 реальных чисел,вложила(сохранила,уложила??) их в массив и вычислила их среднее арифметическое и дисперсию(http://en.wikipedia.org/wiki/Variance).
надеюсь на вас.спасибо.
ezhidudek вне форума Ответить с цитированием
Старый 13.03.2013, 11:33   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Какой язык программирования?
Вот небольшой код по созданию и заполнению массива, вычисление среднего арифметического.
Код:
#include <stdio.h>
#include <stdlib.h>

#define SIZE	5

int main()
{
	int i;
	int	mass[SIZE] = {0};
	int summa = 0;
	
	system("chcp 1251 > nul");
	
	printf("\n Введите массив из %d элементов: \n", SIZE);
	for(i = 0; i < SIZE; i++)
	{
		printf(" [%d] - ", i);
		scanf("%d", mass[i]);
		summa += mass[i];
	}
	printf("\n Результаты \n");
	printf(" Среднее арифметическое: %f", summa / i);
	return 0;
}
Действительно, более подробно опишите задание.......
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 13.03.2013 в 12:19.
Bugrimov вне форума Ответить с цитированием
Старый 13.03.2013, 12:01   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
программа загрузила 5 реальных чисел
1. Откуда загрузила?
2. "Реальных" - в смысле вещественных или в смысле существующих в природе?
3. Какой язык программирования?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 13.03.2013, 23:13   #4
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Какой язык программирования?
Вот небольшой код по созданию и заполнению массива, вычисление среднего арифметического.

Действительно, более подробно опишите задание.......
Ребята,спасибо за отзывчивость =)
нужна программа в си,самое главное,думаю-это сообразить с погрешностью.

Цитата:
Сообщение от Sciv Посмотреть сообщение
1. Откуда загрузила?
2. "Реальных" - в смысле вещественных или в смысле существующих в природе?
3. Какой язык программирования?

1.загрузила-значит загрузила=)из консоли,откуда ж еще)
реальных в самом прямом смысле

2.извиняюсь,перевожу с чешского,не учел.да,реальное число=вещественное.

3.Си.простой.это типа основы программирования у нас =)

Последний раз редактировалось Stilet; 14.03.2013 в 09:26.
ezhidudek вне форума Ответить с цитированием
Старый 14.03.2013, 05:30   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
из консоли,откуда ж еще)
ну например из файла. Из консоли обычно принимает, а не загружает.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.03.2013, 14:22   #6
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
ну например из файла. Из консоли обычно принимает, а не загружает.
я перевожу,опять же..поэтому наверное вы правы.значит ПРИНИМАЕТ ИЗ КОНСОЛИ
насчет кода сверху
Bugrimov,выглядит вполне себе неплохо,только я немного не соображу,как эту дисперсию высчитать?прпеод написал на одном языке,я перевел на английский..потом на русский.что-то не пойму,как это высчитать.дословно-это как "разброс чисел".среднее квадратическое отклонение
ezhidudek вне форума Ответить с цитированием
Старый 14.03.2013, 14:32   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Судя по всему, Вам нужно вычислить выборочную дисперсию (потому что просто дисперсия=0 при x=const). Формулы взяты как всегда с вики:

Дисперсия

тогда код примерно такой:

Код:
float s1:=0;
float s2:=0;
for (int i=0;i<n;i++) {
  s1+=mass[i]*mass[i];
  s2+=mass[i];
}
s1=s1/(n-1);
s2=s2/(n-1);
float s=s1-s2;
Теперь извлечь корень из s - и получится дисперсия.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.03.2013, 15:00   #8
ezhidudek
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Какой язык программирования?
Вот небольшой код по созданию и заполнению массива, вычисление среднего арифметического.
Код:
#include <stdio.h>
#include <stdlib.h>

#define SIZE	5

int main()
{
	int i;
	int	mass[SIZE] = {0};
	int summa = 0;
	
	system("chcp 1251 > nul");
	
	printf("\n Введите массив из %d элементов: \n", SIZE);
	for(i = 0; i < SIZE; i++)
	{
		printf(" [%d] - ", i);
		scanf("%d", mass[i]);
		summa += mass[i];
	}
	printf("\n Результаты \n");
	printf(" Среднее арифметическое: %f", summa / i);
	return 0;
}
Действительно, более подробно опишите задание.......

и код вроде как вылетает..
ezhidudek вне форума Ответить с цитированием
Старый 14.03.2013, 15:02   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

В смысле - вылетает? Он вполне мог выполниться и закрыть консоль. Или ошибку выдает?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 14.03.2013, 15:08   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
и код вроде как вылетает..
Замените строку ввода элемента на
Код:
scanf("%d", mass+i);
или
Код:
scanf("%d", &mass[i]);
scanf нужны адреса, по которым она будет записывать вводимое.

Также,
Код:
	printf(" Среднее арифметическое: %f", (float)(summa) / i);
Иначе будет выполнено целочисленное деление, printf получит целочисленную переменную и попытается её проинтерпретировать как вещественное число... в общем, будет "упс".
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пусть вводится последовательность чисел, которая заканчивается нулем. Найдите среднее арифметическое четных чисел. d_dima Помощь студентам 3 13.03.2013 12:17
Найти среднее арифметическое чисел, принадлежащих промежутку [A,B) и количество положительных чисел, стоящих на местах, кратных 4. edgeks Помощь студентам 0 18.11.2012 15:35
Найти среднее арифметическое их квадратов и среднее арифметическое их модулей. (Турбо паскаль) erte Помощь студентам 1 30.10.2012 13:08
С++ Найти среднее арифметическое положительных и среднее арифметическое отрицательных чисел, минимальное по модулю число. Юрик 530 Помощь студентам 4 03.12.2011 16:26
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. Руся93 Помощь студентам 14 02.10.2011 13:12