Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 27.06.2013
Сообщений: 5
1

В одномерном массиве найти среднее арифметическое чисел, которые входят в диапазон от 5 до 10

27.06.2013, 14:51. Показов 3354. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите написать программу)))дан одномерный массив некоторых чисел найти среднее арифметическое чисел которые входят в диапазон от 5 до 10))))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2013, 14:51
Ответы с готовыми решениями:

В одномерном массиве найти среднее арифметическое всех четных чисел!!!
в одномерном массиве надо найти среднее арифметическое всех четных чисел!!!

В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5....

Сколько в одномерном массиве A1,A2...,An элементов, которые не превышают его среднее арифметическое.
Определить, сколько в одномерном массиве A1,A2...,An элементов, которые не превышают его среднее...

В одномерном массиве вычислить среднее арифметическое положительных чисел
1)в одномерном массиве обчислить средние арифметическое положительных чисел

31
18 / 18 / 11
Регистрация: 19.05.2013
Сообщений: 135
28.06.2013, 00:48 21
Author24 — интернет-сервис помощи студентам
@grizlik78, и еще 1 вопрос: стоит ли вообще изучать STL?
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
28.06.2013, 00:52 22
Для профессионального использования C++, думаю, однозначно стоит. Это, в общем-то, уже неотъемлемая часть языка (хотя, конечно, программы можно писать и совсем не используя STL). В общем, зависит от цели изучения.
1
18 / 18 / 11
Регистрация: 19.05.2013
Сообщений: 135
28.06.2013, 00:58 23
@grizlik78, как бы думаю что с++ будет для меня многим (не определил конкретно, только учусь) , хотя нет еще полного понимания для чего оно все и с чем его есть) вот и появилось желание узнавать что то новое...
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
28.06.2013, 08:49 24
Thinker
дафай дафай щюти щюти
Цитата Сообщение от Thinker Посмотреть сообщение
шортами-шортами, могу и брюками, это не принципиально)))
давай с брюками
если учесть что в 32 разрядных int==long
и что ты будешь делать со своим упакованным числом если сумма превысит 32767 ?
или надо будет подсчитать среднеарифметическое отрицательных чисел ?
Цитата Сообщение от henecs Посмотреть сообщение
стоит ли вообще изучать STL?
изучать стоит, но без фанатизма, зазубривать не надо
прочитай пару раз общий обзор
а потом под рукой имей справочник методов STL
а потом когда напишешь несколько программ оно само запомнится

Не по теме:

Цитата Сообщение от henecs Посмотреть сообщение
как бы думаю что с++ будет для меня многим (не определил конкретно, только учусь)
Все, кого ты, не спроси
Программируют на "Си"
Нынче встретишь ты едва ли
Тех кто пишут на "Паскале"

0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.06.2013, 10:01 25
Цитата Сообщение от ValeryS Посмотреть сообщение
давай с брюками
достаточно заменить long на long long и получатся "длинные шорты" ("брюки")

Цитата Сообщение от ValeryS Посмотреть сообщение
и что ты будешь делать со своим упакованным числом если сумма превысит 32767 ?
или надо будет подсчитать среднеарифметическое отрицательных чисел ?
ничего не буду делать, это просто алгоритм. в задании участвуют положительные числа, с отрицательными что-то другое (может быть) придумал бы

Цитата Сообщение от ValeryS Посмотреть сообщение
дафай дафай щюти щюти
вот уж и пошутить нельзя понятно, что мой алгоритм это просто скорее ради шутки, полезно же по-разному уметь решать задачи.
0
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
28.06.2013, 11:30 26
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>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
int main() {
    srand(time(NULL)); //masiv vsegda budet generirovatsia novyj
    int *vec, sum = 0, count = 0, N; //vse peremennyje
    float res = 0.0;
    cout << "Input array size: ";//zaprashevajem vvesti razmer massiva
    cin >> N;
    vec = new int[N]; //massiv s razmerom N
    for(int i=0; i<N; i++) {
            vec[i] = rand()%10; //generirujem massiv sluchajnyj chisel [0;9]
            cout << vec[i] << "  "; //vyvodim massiv na ekran
    }
    for(int i=0; i<N; i++) {
            if(vec[i] > 5 && vec[i] < 10) { //jesli chislo bolshe 5 in menjshe 10 -> chisla v diapazone(6,7,8,9)
                      sum += vec[i]; //dobavliajem v summu
                      count++; //povyshajem schetchik
            }
    }
    cout << "\nSredneej = " << (sum*1.0/count) << endl;
    getche();
}
Проверил несколько раз, считает правильно.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
28.06.2013, 11:33 27
Цитата Сообщение от Thinker Посмотреть сообщение
понятно, что мой алгоритм это просто скорее ради шутки, полезно же по-разному уметь решать задачи.
Ну а кто спорит?
Цитата Сообщение от Thinker Посмотреть сообщение
ничего не буду делать, это просто алгоритм.
В твоем алгоритме 2 принципиальные ошибки
первая использование арифметического сложения вместо логического
второй при создании упакованного числа ты не отсекаешь значения
Цитата Сообщение от Thinker Посмотреть сообщение
*a + (1 << 16)
если в *a будет отрицательное число будет не хорошо
-5
0хFFFFFFFB
+ 1<< 16
0х00010000
=
0х0000FFFB 65531 (ну никак не -5)и количество равно нулю

достаточно сделать так
C++
1
(*a&0xFFFF) | (1 << 16)
или так
C++
1
short(*a) | (1 << 16)
и половина проблем само отвалится

и при расчете неплохо бы приводить
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.06.2013, 11:39 28
ни одной ошибки не вижу. если *a < 0, то все равно все умножится на 0, так что не принципиально. отсекать тоже нет смысла: если перевалит за границы, то все равно результат будет неверный. сложение то чем помешало? все равно числа на разных разрядах стоят, все и так отлично.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
28.06.2013, 11:45 29
Цитата Сообщение от Thinker Посмотреть сообщение
ни одной ошибки не вижу.
Ну ладно продолжай
только когда нужно будет, не эту игрушку программить,а по серьезному работать с упакованными числами, не удивляйся откуда косяки полезут
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.06.2013, 12:03 30
Цитата Сообщение от ValeryS Посмотреть сообщение
Ну ладно продолжай
только когда нужно будет, не эту игрушку программить,а по серьезному работать с упакованными числами, не удивляйся откуда косяки полезут
хватит супиться. покажи реальные данные, на которых алгоритм упадет (переполнение не трогаем, это и так понятно)

программа заточена под конкретную задачу. причем тут другие случаи и вылезающие косяки, это и так понятно
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
28.06.2013, 13:01 31
Цитата Сообщение от Thinker Посмотреть сообщение
хватит супиться.
Да не суплюсь я
Я пытаюсь объяснить тебе порочность твоего подхода
Цитата Сообщение от Thinker Посмотреть сообщение
на которых алгоритм упадет
Цитата Сообщение от Thinker Посмотреть сообщение
программа заточена под конкретную задачу.
алгоритм упадет
но в данной задаче нет
но стоит только поменять условия( те же отрицательные числа)
и придется придумывать новый алгоритм
а не лучше сразу использовать универсальный ?

и при работе с упаковаными числами нельзя использовать арифметику, только логику
Говорю потому что сам обжигался
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
28.06.2013, 13:55 32
Цитата Сообщение от ValeryS Посмотреть сообщение
Да не суплюсь я
это хорошо

Цитата Сообщение от ValeryS Посмотреть сообщение
алгоритм упадет
но в данной задаче нет
но стоит только поменять условия( те же отрицательные числа)
а не лучше сразу использовать универсальный ?
согласен, но алгоритм именно для данной задачи. универсальный, хм..., подумаю попозже

Цитата Сообщение от ValeryS Посмотреть сообщение
и при работе с упаковаными числами нельзя использовать арифметику, только логику
Говорю потому что сам обжигался
ну почему же
1100 + 0011 = 1111
1100 | 0011 = 1111
если данные хранятся в разных отсеках, то сложение эквивалентно поразрядному или. в общем случае, результат будет различным.
0
28.06.2013, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.06.2013, 13:55
Помогаю со студенческими работами здесь

В одномерном массиве определить среднее арифметическое четных чисел.
В одномерном массиве А опрелелить:1)среднее арифметическое четных чисел. 2)из нечетных чисел...

Определить среднее арифметическое положительных чисел в одномерном массиве с помощью циклов while и for
Помогите , пожалуйста , составить программы в матлабе с помощью цикла while и for для среднего...

В одномерном массиве найдите количество чисел меньших, чем среднее арифметическое
помогите составить вот эти простенькие задачки.. срочно надо, контрольная &quot;на носу&quot;!! Вариант...

В одномерном массиве действительных чисел определить среднее арифметическое отрицательных элементов
Дано одномерный массив действительных чисел, состоящий из 10 элементов. Определить среднее...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru