Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 5
1

В новом массиве найдите и выведите на экран сумму элементов, порядковый номер которых делится на 3

16.03.2016, 21:49. Показов 828. Ответов 6
Метки нет (Все метки)

Элементы случайно заполненного одномерного массива d[n] преобразуйте по формуле d[i] = exp(i/d[i]). В новом массиве найдите и выведите на экран сумму элементов, порядковый номер которых делится на 3.
Помогите, пожалуйста. Очень срочно
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2016, 21:49
Ответы с готовыми решениями:

Найти и вывести на экран сумму элементов, порядковый номер которых делится на 3
Элементы случайно заполненного одномерного массива d преобразуйте по формуле d = i/d. В новом...

Найдите и выведите на экран все двузначные числа, сумма квадратов цифр которых делится без остатка на 17
Найдите и выведите на экран все двузначные числа, сумма квадратов цифр которых делится без остатка...

В данном двумерном массиве найдите сумму элементов у которых номер строки и столбца совпадает
Ребят напишите код или объясните пожалуйста как правильно написать, буду писать на Лазарусе В...

Выведите массив на экран и найдите количество элементов, значение которых равно нулю
"Данный двухмерный массив размерностью 5X4. Заполните его случайными числами с интервала -20 .. 20:...

6
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
16.03.2016, 22:33 2
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <limits>
#define NOMINMAX
#include <windows.h>
#include <ctime>
#include <random>
 
int main() {
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    std::default_random_engine randomEng(time(NULL));
    std::uniform_real_distribution<double> randomNum(-50, 50); // я тут поставил ограничитель генерации случайных чисел, он от -50 до 50, поменяй, если хочешь
 
    const int n = 15;
    double d[n];
 
    //случайно заполняем
    for (int i = 0; i < n; i++)
        d[i] = randomNum(randomEng);
    
    //по формуле преобразуем
    for (int i = 0; i < n; i++)
        d[i] = exp(i / d[i]);
 
    //на экран
    for (int i = 0; i < n; i++)
        std::cout << std::setiosflags(std::ios::fixed) << std::setprecision(56)
        << i+1 << ". " << d[i] << "  (~" << std::setprecision(2) << d[i] << ")\n";
 
    std::cout << "\n\n";
    double sum = 0;
 
    for (int i = 1; i < n+1; i++) {
        if (i % 3 == 0)
            sum += d[i-1];
    }
 
    std::cout << "Складываю значения элементов массива, порядковый номер которых делится на 3...\nОтвет: " 
        << std::setiosflags(std::ios::fixed) << std::setprecision(49) << sum
        << "  (~" << std::setprecision(2) << sum << ")\n";
 
    _getch();
}
Добавлено через 1 минуту
Я там много цифр после запятой пишу, но это просто, если ты хочешь проверить программу.
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 5
17.03.2016, 00:22  [ТС] 3
А можно как-нибудь попроще?
0
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
18.03.2016, 13:46 4
Цитата Сообщение от КонстантинВэл Посмотреть сообщение
попроще
А что там не понятно? Я там только для красивого вывода на экран использовал "нестандартные" функции.
0
27 / 27 / 37
Регистрация: 11.09.2014
Сообщений: 68
18.03.2016, 14:14 5
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
28
29
30
31
32
33
34
35
36
37
/*
 Элементы случайно заполненного одномерного массива d[n] преобразуйте по формуле d[i] = exp(i/d[i]).
 В новом массиве найдите и выведите на экран сумму элементов, порядковый номер которых делится на 3.
 */
#include <iostream>
#include <math.h>
using namespace std;
 
int main() {
    int size, sum = 0;
    cout << "Длина массива: ";
    cin >> size;
    int arr[size];
    cout << "Введите элементы массива: ";
    for (int i = 0; i < size; i++) {
        cin >> arr[i];
    }
    for (int i = 0; i < size; i++) {
        arr[i] = exp(i / arr[i]);
    }
    
    cout << "Преобразованный массив:\n";
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    for (int i = 0; i < size; i++) {
        if (i%3 == 0) {
            sum += arr[i];
        }
    }
    if (sum == 0) {
        cout << endl << "Нет элементов массива, порядковый номер которых делится на 3";
    }
    else {
        cout << endl << "Сумма элементов массива, порядковый номер которых делится на 3: " << sum;
    }
}
0
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
19.03.2016, 20:30 6
Цитата Сообщение от Констатнин Посмотреть сообщение
/*
*Элементы случайно заполненного одномерного массива d[n] преобразуйте по формуле d[i] = exp(i/d[i]).
*В новом массиве найдите и выведите на экран сумму элементов, порядковый номер которых делится на 3.
**/
1. У вас не порядковый номер проверяется, а индекс (26-29). 2. Вы пытаетесь задать размер статического массива с клавиатуры, что у вас не выйдет, потому что размер статического массива должен быть константой, а с клавиатуры вы ввели просто int. 3. Вы не поставили отображение кириллицы в консоли. 4. Чаще всего exp() используется с double, поэтому массив предпочтительно должен состоять из double. 5. В условии задачи массив случайно должен быть заполнен, а не пользователем с клавиатуры.

Добавлено через 14 минут
Если же вам нужно ввести все элементы массива и его размер с клавиатуры, а тип элементов массива должен быть int, вот код:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <conio.h>
#include <limits>
#define NOMINMAX
#include <windows.h>
 
void my_cin(int& num, char* text) {
    std::cout << text;
    while (!(std::cin >> num) || (std::cin.peek() != '\n')) {
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<int>::max(), '\n');
        std::cout << "Ошибка ввода!\n";
        std::cout << text;
    }
}
 
int main() {
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int size = 0;
    while(size <= 0)
        my_cin(size, "Введите размер массива: ");
 
    int *d = new int[size];
 
    //заполняем
    for (int i = 0; i < size; i++) {
        int num;
        my_cin(num, "Ввод элементов: ");
        d[i] = num;
    }
 
    //по формуле преобразуем
    for (int i = 0; i < size; i++)
        d[i] = exp(i / d[i]);
 
    //на экран
    std::cout << "\nПреобразованный массив:\n";
    for (int i = 0; i < size; i++)
        std::cout << i + 1 << ". " << d[i] << "\n";
 
    double sum = 0;
 
    for (int i = 1; i < size + 1; i++) {
        if (i % 3 == 0)
            sum += d[i - 1];
    }
 
    if (sum == 0)
        std::cout << "\nНет элементов массива, порядковый номер которых делится на 3";
    else
        std::cout << "\nСумма элементов массива, порядковый номер которых делится на 3: " << sum << "\n";
 
     delete[] d;
    _getch();
}
Я сделал свою функцию, где я проверяю ввод пользователя на ошибки. Если вам что-то в коде не понятно - задавайте вопросы, отвечу и объясню.
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 5
22.03.2016, 22:46  [ТС] 7
Нужно, чтобы заполнялся автоматически, и тип double предпочтительнее
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2016, 22:46

Выяснить сумму элементов массива, у которых порядковый номер совпадает со значениями
Задана последовательность целых чисел. Выяснить сумму элементов массива ,у которых порядковый номер...

Вычислить сумму элементов массива, у которых порядковый номер совпадает со значениями
Задана последовательность целых чисел. Выяснить сумму элементов массива,у которых порядковый номер...

Посчитать сумму элементов массива, порядковый номер которых в матрице будет кратен 3
нужно создать массив размером MxN. заполнить его рандомными числами. программа должна считать сумму...

Выведите на экран порядковый номер слова, накрывающего заданную позицию строки
Дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Выведите на...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru