1

Тема: Масив С++

Заданий одновимірний цілочисельний масив n з елементів (n<=20 ).

1.    добуток додатніх елементів масиву;
2.    кількість елементів, більших від середнього арифметичного всіх елементів масиву;
3.    найбільший із елементів з парним номером;

Будь ласка допоможіть.

2

Re: Масив С++

Показуйте код.

3 Востаннє редагувалося Merroy (16.12.2018 18:16:55)

Re: Масив С++

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <cstdlib>
#include <ctime>

using namespace std;

void main()
{
    srand((unsigned int)time(NULL));

    setlocale(LC_ALL, "rus");

    float dob, kol1;
    int mas[20], max;

    cout << "Исходный масив:\n";
    for(int i = 1; i <= 20; i++)
    {
        mas[i] = rand() % 101 - 50;
        cout << "mas[" << i + 1 << "]= " << mas[i] << "\n";
    }

    system("pause");
    return;
}

4

Re: Масив С++

stdlib.h та cstdlib - одна й та сама бібліотека.
conio.h - нестандартна бібліотека для однієї давно померлої операційної системи.
Текст усередині програми мовою однієї недружньої країни; вам це звідти замовили?
І жодної спроби зробити те, що написано в умові, я не бачу. Причому всі три розв'язуються приблизно однаково, можна навіть в один цикл позбирати:
1. Задаєте змінну - добуток зі значенням 1; в циклі множите її на всі додатні елементи масиву.
2. Знаходите суму всіх елементів (аналогічно з попереднім пунктом, тільки починаєте з 0) і ділите на довжину масиву; а потім ще в одному циклі лічите, скільки там більших елементів.
3. Задаєте змінну - максимум зі значенням mas[0]; у циклі перебираєте всі елементи з парними номерами і якщо якийсь з них більший за максимум - присвоюєте його значення максимуму.

5 Востаннє редагувалося Merroy (16.12.2018 18:43:00)

Re: Масив С++

for (i=0; i<19; i++)
    if (mas[i]>0)
    {    dob = dob * mas[i]; }

6

Re: Масив С++

Ну допоможіть не виходить у мене.

7

Re: Масив С++

В цьому випадку в мене вийшло добуток -442... (там много цифр) как вийшов минус якщо ми шукємо >0

8

Re: Масив С++

1 завдання виконано.

9

Re: Масив С++

Добуток 10 чисел, кожне з яких не менше за 10, буде не меншим за 10^10. int вміщує максимум 2^32 ≈ 4*10^9. От і отримали казна-що. Зробіть добуток long long, тоді має влізти (швидше за все).
І розберіться з нумерацією масивів - елементи мають індекси від 0 до (довжина масиву-1), і стандартним циклом з індексом є

for(int i=0; i<20; ++i) {//i від 0 поки менше 20, тобто до 20-1=19
    //щось робимо із mas[i]
}

В C++11 введено цикли по діапазонах:

for(auto m: mas) {
    //щось робимо із m
}
Подякували: leofun011