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

Среднее арифмитическое

01.10.2013, 16:54. Показов 1028. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти среднее арифмитическое элементов с четным индексом в одномерном массиве.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
main ()
{     
/* тут пропускаю объявление переменных и ввод массива*/
  
/*компилятор ругается на этот цикл:*/   
 for (i = 0; i < size; i++) / i - счетчик в массиве
       {
           if mas[i % 2 = 0] /mas - имя массива
              {
                Summa1 += mas[i]; /Summa1 - сумма элементов с четным индексом, 
                j++; / j - считаем их количество. Да, переменной j значение 0 добавил изначально.
              } 
       }
Что делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2013, 16:54
Ответы с готовыми решениями:

Даны 2 числа. Найти среднее арифмитическое и среднее геометрическое их модулей
1-я. Даны 2 числа. Найти среднее арифмитическое и среднее геометрическое их модулей. 2-я. Определить суммарный обьём в литрах.12...

Найти среднее арифмитическое и среднее геометрическое двух целых чисел
Даны два целых числа найти их среднее арифмитическое их среднее геометрическое

Среднее арифмитическое массива
Написать программу, которая находит среднее арифметическое элементов массива, модуль которых равен является простым числом. Единица не...

17
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
01.10.2013, 17:01
строка 8, вот так:
C++
1
if (mas[i % 2 = 0])
И комментарий в с++ начинается с двойной косой, а не обинарной
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
01.10.2013, 17:16  [ТС]
Algoritmer,
Ага, а еще вместо "=" должен быть "=="! Паскаль такой паскаль)
Правда пока все равно не считает то, что нужно...
0
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
01.10.2013, 17:26
Цитата Сообщение от Super GT Посмотреть сообщение
j++; / j - считаем их количество
зачем? разве переменная size/2 не содержит это же количество?
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
01.10.2013, 17:30
C++
1
2
3
4
5
6
7
   double s=0,p=0,avg;
   for (int i=0; i<n; i+=2)
   {
        p++;
        s+=(double) Arr[i];
   }
   avg=a/p;
1
60 / 60 / 7
Регистрация: 14.09.2013
Сообщений: 145
01.10.2013, 17:31
Algoritmer, и даже так будет неправильно - компилятор ругается.
И даже если так
C++
1
if (mas[i % 2 == 0])
будет неверно, хотя компилятор и пропустит это. В результате получим сумму всех элементов.
Super GT, чтоб найти сумму чётных элементов есть два варианта. Первый - изменить условие на
C++
1
if (i % 2 == 0)
Мы же всё-таки индекс проверяем.
Второй вариант изменить сам цикл:
C++
1
for (i = 0; i < size; i=i+2)
Никто же не заставляет перебирать каждый элемент массива. Кстати, в этом случае даже условие внутри цикла проверять не придётся.
1
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
01.10.2013, 17:34
В общем как-то так:
C++
1
2
3
4
5
6
7
8
9
for (i = 0; i < size; i++) / i - счетчик в массиве
{
       if (mas[i % 2 == 0]) /mas - имя массива
       {
            Summa1 += mas[i]; /Summa1 - сумма элементов с четным индексом, 
            j++; //ладно, это оставим
       }    
} 
double srednArifm=Summa1*1.0/j;
Добавлено через 2 минуты
Цитата Сообщение от lipnev Посмотреть сообщение
1
for (i = 0; i < size; i=i+2)
Никто же не заставляет перебирать каждый элемент массива
Вообще да. Так и надо.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
01.10.2013, 17:36
Поправочка:

C++
1
2
3
4
5
6
7
double p=0,avg=0;
   for (int i=0; i<n; i+=2)
   {
        p++;
        avg+=(double) Arr[i];
   }
   avg=/p;
Добавлено через 1 минуту
Непонятно, зачем перебирать все индексы, отбирая четные, когда можно сразу пройтись только по четным индексам?
1
 Аватар для Algoritmer
159 / 98 / 25
Регистрация: 07.03.2013
Сообщений: 513
Записей в блоге: 1
01.10.2013, 17:37
Цитата Сообщение от Catstail Посмотреть сообщение
avg=/p;
точнее
C++
1
avg/=p;
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
01.10.2013, 17:39
Ну да...
0
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
01.10.2013, 18:43  [ТС]
Все верно говорите, товарищи!
Алгоритм вроде выстраиваю верно, но получается так, что когда пишу:
C++ (Qt)
1
for (i = 0; i < size; i= i+2)
- идет подсчет элементов с нечетными индексами
а если:
C++ (Qt)
1
for (i = 1; i < size; i= i+2)
- то с четными.
0
01.10.2013, 18:46

Не по теме:

Цитата Сообщение от Super GT Посмотреть сообщение
Паскаль такой паскаль)
АрифмИтика такая арифмитика

0
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
01.10.2013, 19:07  [ТС]
Короче, пытаюсь найти ТОЛЬКО сумму четных элементов:
C++ (Qt)
1
2
for (i = 0; i < size; i+2)
      Summa1 += mas[i];
Итог: сумма нечетных элементов

Аналогично, пытаюсь найти сумму нечетных элементов:
C++ (Qt)
1
2
for (i = 0; i < size; i++)
      Summa1 += mas[i];
Итог: выдает сумму ВСЕХ элементов

Если сделать: (для четных)
C++ (Qt)
1
2
for (i = 0; i < size; i+3)
      Summa1 += mas[i];
Итог: сумма элементов с шагом в три элемента

Вопрос: имеет ли смысл считать с 1, как в паскале?
===============================
Сделал так для четных:
C++ (Qt)
1
2
for (i = 1; i < size; i= i+2)
      Summa1 += mas[i];
Итог: работает
А начиная с 0 - считает нечетные. После Паскаля такая путаница, блин, где, как это индексирование...какая тонкость есть, найти бы ее...

Ага, догадываюсь. Чтоб считать нечетные, надо вести поиск с (-1). Хех.(

Добавлено через 8 минут
Все, сделал!

Для четных:
f
C++ (Qt)
1
2
or (i = 1; i < size; i= i+2)
      Summa1 += mas[i];
Для нечетных:
C++ (Qt)
1
2
for (i = 0; i < size; i= i+2)
      Summa1 += mas[i];
Хех, никто не сказал (или не заметил), что счет для четных элементов ведется с 1-цы.)

Однако если по логике, то бред какой-то. Вы мне скажите, ОНО ТАК И ЕСТЬ, или это мне только кажется?
0
60 / 60 / 7
Регистрация: 14.09.2013
Сообщений: 145
01.10.2013, 19:11
Цитата Сообщение от Super GT Посмотреть сообщение
Вопрос: имеет ли смысл считать с 1, как в паскале?
Я думаю, что нет. Потому что в задании чётко сказано:
Цитата Сообщение от Super GT Посмотреть сообщение
элементов с четным индексом
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
01.10.2013, 19:38  [ТС]
lipnev,
А, кажется, я допер. Компилятор считает с 0, а не с 1-цы. Поэтому первый для меня элемент на экране - ЧЕТНЫЙ, а не наоборот.
Мда...

Тогда вопрос, как сделать для элементов с нечетным индексом?

Если так:
C++ (Qt)
1
2
for (i = 0; i < size; i=i+1)
      Summa1 += mas[i];
или так:
C++ (Qt)
1
2
for (i = 0; i < size; i++)
      Summa1 += mas[i];
то выводит сумму вообще ВСЕХ элементов!

Добавлено через 22 минуты
Для нечетных сделал так, ибо ничего другого пока не придумал:
C++ (Qt)
1
2
3
4
5
for (i = 0; i < size; i++)
       if (i % 2 != 0)
        {
          Summa2 += mas[i];
        }
А вообще, спс за подсказку при обработке индексов отдельных элементов массива, я долго не мог понять причину бреда.
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
01.10.2013, 19:47
Какие уж для тебя чётные, а какие нечётные, реши сам, но вот циклы:
for(i=0; i<size; i+=2)
for(i=1; i<size; i+=2)
1
6 / 6 / 1
Регистрация: 23.12.2012
Сообщений: 131
01.10.2013, 20:04  [ТС]
Цитата Сообщение от Qwertiy Посмотреть сообщение
for(i=0; i<size; i+=2) for(i=1; i<size; i+=2)
Ну да. 1-ый для чет и 2-ой для нечет. Правда написал для нечет через цикл, потому как кто-то говорил что с 1-цы считать нельзя, но если нет, то ок.
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
01.10.2013, 20:07
Считать можно с чего угодно. Просто цикл с 1 пропускает индекс 0
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2013, 20:07
Помогаю со студенческими работами здесь

Найти среднее арифмитическое матрицы
Найти среднее арифмитическое положительных элементов каждого столбца матрицы A(n,m),заданой целыми числами .

Найти среднее арифмитическое элементов массива
Найти среднее арифметическое отрицательных элементов заданной матрицы А , лежащих выше главной диагонали,и среднее арифметическое всех...

Среднее арифмитическое положительных и отрицательных чисел в массиве
Здравствуйте. У меня возникла проблема с решением задания с массивом. Хочу попросить у вас помощи. Вот задание: Заполнить массив A. Массив...

среднее арифмитическое значение трех чисел введеных с клавиатуры
Добрый День всем)) Не могли бы помочь мне в составлении Программы.. т.к. я вобще не шарю. Если кто может помочь отпишите, там совсем...

В двумерном массиве найти среднее арифмитическое первого столбца...
Помогите пожлуйста нужно: задача №1 - В двумерном массиве найти среднее арифмитическое первого столбца и количество в каждом из следующих...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru