[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Посчитать сумму значений всех нечетных элементов массива
АлексейДата: Четверг, 19.11.2015, 01:24 | Сообщение # 1
Продвигающийся
Группа: Администраторы
Сообщений: 324
Награды: 4
Репутация: 1
Статус: Оффлайн
Вывести на экран одномерный массив из 20 элементов. Посчитать сумму значений всех нечетных элементов массива

Код программы:
Код
int main()
{
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    int n = 20, sum = 0;
    int *mass = new int [n];
    for (int i = 0;i < n;i++)
    {
  mass[i] = (1 + rand() % 50);
  if (i % 2 != 0) { sum += mass[i]; }
  cout << mass[i] << "\t";
    }
    cout << "Сумма нечетных элементов массива равна "<< sum << "." << endl;
    system("pause");
}


Библиотеки:
Код
#include <fstream>
#include<locale.h>
#include<time.h>
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
#include <iostream>
using namespace std;
 
olegsaprynovДата: Суббота, 21.11.2015, 13:31 | Сообщение # 2
НовичЁк
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Оффлайн
Автор мне кажется тут небольшая ошибка "посчитать сумму нечётных элементов", а ты в коде считаешь сумму элементов с нечестными индексами.

Ошибка:
if (i % 2 != 0) { sum += mass[i]; }
Правильно:
if (mass[i] % 2 != 0) { sum += mass[i]; }
 
АлексейДата: Вторник, 09.02.2016, 14:37 | Сообщение # 3
Продвигающийся
Группа: Администраторы
Сообщений: 324
Награды: 4
Репутация: 1
Статус: Оффлайн
Цитата olegsaprynov ()
Автор мне кажется тут небольшая ошибка "посчитать сумму нечётных элементов", а ты в коде считаешь сумму элементов с нечестными индексами.
olegsaprynov, да особой разницы нет, всего лишь заменить в одном месте переменную.
p.s. Описался.
 
  • Страница 1 из 1
  • 1
Поиск: