Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
#1

Вычислить сумму минимальных элементов массивов с помощью функции void f() - C++

30.03.2014, 21:03. Просмотров 519. Ответов 11
Метки нет (Все метки)

Нужно решить задачу с помощью функции void f(), подскажите а лучше покажите как правильно сделать эту программу.Буду благодарен!
Задано два массива - Х (10) и Y (12). Вычислить величину Z, равную сумме минимальных элементов массивов, деленной на двойное произведение индексов минимальных элементов. Вывести минимальные элементы, их индексах и значение величины Z.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 21:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить сумму минимальных элементов массивов с помощью функции void f() (C++):

Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное произведение индексов минимальных элементов - C++
Заданы два массива - Х(10) и Y(12). Вычислить величину Z, которая равняется сумме минимальных элементов массивов, разделенной на двойное...

Вычислить сумму отрицательных элементов массивов в функции. [CPP] - C++
Вычислить суммы отрицательных элементов массивов X(N), Y(M), Z(K). Сумму вычислять в функции. Предусмотреть функцию формирования элементов...

С помощью рекурсивной функции вычислить сумму элементов одномерного массива - C++
С помощью рекурсивной функции вычислить сумму элементов одномерного массива,помогите пожалуйста!Просьба не мудрить и написать как можно...

Найти и вывести на экран сумму минимальных элементов массивов - C++
Ввести с клавиатуры одномерные массивы М(8),F(6),W(10).Найти и вывести на экран сумму минимальных элементов этих массивов

Вычислить сумму положительных элементов каждого из трёх массивов (функции и массивы) - C++
Помогите пожалуйста:cry:очень нужно.. Дано три одномерные массива разной длинны. Сложить программу для вычисления суммы только...

Найти сумму минимальных элементов, расположенных в четных столбцах массивов - C++
Даны четыре массива a, b, c, d. Найти сумму минимальных элементов, расположенных в четных столбцах этих массивов. С++

11
S_el
2109 / 1628 / 308
Регистрация: 15.12.2013
Сообщений: 6,490
30.03.2014, 22:50 #2
Gorpash, или глобальные переменные или аргумент по ссылке.
0
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
31.03.2014, 00:00  [ТС] #3
агрумент по ссылке
0
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
31.03.2014, 01:16 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Для вычислений принята нумерация элементов массива с 1. Массивы могут быть произвольной длинны.
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
#include <iostream>
 
void f (float *arrayX, int sz_arrayX, float *arrayY, int sz_arrayY)
{
    float minX = arrayX[0];
    int minX_id = 1;
    float minY = arrayY[0];
    int minY_id = 1;
    float Z;
 
    for (int i = 1; i < sz_arrayX; ++i)
    {
        if (minX > arrayX[i])
        {
            minX = arrayX[i];
            minX_id = i+1;
        }
    }
    
    for (int i = 1; i < sz_arrayY; ++i)
    {
        if (minY > arrayY[i])
        {
            minY = arrayY[i];
            minY_id = i+1;
        }
    }
    
    Z = (minX + minY)/(2*minX_id*minY_id);
 
    std::cout << "Min in X\t" << minX << std::endl;
    std::cout << "X Min index\t" << minX_id << std::endl;
    std::cout << "Min in Y\t" << minY << std::endl;
    std::cout << "Y Min index\t" << minY_id << std::endl;
    std::cout << "Z\t\t" << Z << std::endl;
}
 
int main ()
{
    float X[] = {17, 8, 31, 14, 115, 67, 79, 18, 93, 104};
    float Y[] = {8, 12, 53, 18, 5, 116, 74, 82, 192, 104, 161, 1};
    
    f(X, (sizeof X)/(sizeof (float)), Y, (sizeof Y)/(sizeof (float)));
    
    return 0;
}
1
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
31.03.2014, 08:18  [ТС] #5
Можешь еще комментарии поставить чтобы я понял как работает программа. Буду благодарен.
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
31.03.2014, 08:59 #6
intern, наверное что-то типа того имелось в виду:
код
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
#include <iostream>
 
void f (float *arrayX, int sz_arrayX, float *arrayY, int sz_arrayY, float& result)
{
    float minX = arrayX[0];
    int minX_id = 1;
    float minY = arrayY[0];
    int minY_id = 1;
    //float Z;
 
    for (int i = 1; i < sz_arrayX; ++i)
    {
        if (minX > arrayX[i])
        {
            minX = arrayX[i];
            minX_id = i+1;
        }
    }
 
    for (int i = 1; i < sz_arrayY; ++i)
    {
        if (minY > arrayY[i])
        {
            minY = arrayY[i];
            minY_id = i+1;
        }
    }
 
    result/*Z*/ = (minX + minY)/(2*minX_id*minY_id);
 
    /*std::cout << "Min in X\t" << minX << std::endl;
    std::cout << "X Min index\t" << minX_id << std::endl;
    std::cout << "Min in Y\t" << minY << std::endl;
    std::cout << "Y Min index\t" << minY_id << std::endl;
    std::cout << "Z\t\t" << Z << std::endl;*/
}
 
int main ()
{
    float X[] = {17, 8, 31, 14, 115, 67, 79, 18, 93, 104};
    float Y[] = {8, 12, 53, 18, 5, 116, 74, 82, 192, 104, 161, 1};
 
    float res;
 
    f(X, (sizeof X)/(sizeof (float)), Y, (sizeof Y)/(sizeof (float)), res);
 
    std::cout << res;
    std::cin.ignore();
    return 0;
}
0
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
31.03.2014, 11:20 #7
SatanaXIII, но тогда лучше res сделать массивом
Цитата Сообщение от Gorpash Посмотреть сообщение
Вывести минимальные элементы, их индексах и значение величины Z.
Gorpash
Кликните здесь для просмотра всего текста

40, 41 - объявление исходных массивов
43 - вызов функции f. Аргументы - массивы X, Y и их размеры

5-9 - объявление переменных для вычисления
11-18 и 20-27 - нахождение наименьших элементов и их индексов для X и Y
29 - вычисление Z
31-35 - вывод результатов


Как я могу отредактировать свое сообщение?
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
31.03.2014, 14:09 #8
Цитата Сообщение от intern Посмотреть сообщение
но тогда лучше res сделать массивом
Зачем для хранения одного числа массив?

Цитата Сообщение от intern Посмотреть сообщение
Как я могу отредактировать свое сообщение?
Редактировать свое сообщение можно в течении пяти минут после отправки.
0
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
01.04.2014, 00:47  [ТС] #9
что значит sz_array Х, У ?
0
intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 74
Завершенные тесты: 2
01.04.2014, 00:52 #10
Количество элементов в массивах X и Y. В данном примере 10 и 12 соответственно.
C++
1
sz_arrayХ = (sizeof X)/(sizeof (float))
1
Gorpash
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 50
01.04.2014, 21:03  [ТС] #11
C++
1
f(X, (sizeof X)/(sizeof (float)), Y, (sizeof Y)/(sizeof (float)), res);
- - объясните пожалуйста эту строку я не очень понял.
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
02.04.2014, 08:39 #12
Цитата Сообщение от Gorpash Посмотреть сообщение
объясните пожалуйста эту строку
В этой строке вызывается функция f.
В эту функцию через запятую передаются параметры, записанные в скобках: указатель на массив X, размер массива X, указатель на массив Y, количество элементов массива Y, и переменная для вывода результата res.
Количество элементов получается следующим образом: (sizeof X)/(sizeof (float)) - размер массива делится на размер одного элемента.
Переменная для вывода результата передается в функцию по ссылке ( float &result ), следовательно изменение ее внутри функции приведет к ее изменению и вне. Такой механизм возврата значения из функции.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2014, 08:39
Привет! Вот еще темы с ответами:

Вычислить сумму минимальных элементов каждой строки - C++
Помогите дописать програмку плз вычислить сумму минимальных елементов каждого рядка (тоесть в каждом рядке найти минимальное...

Дважды вычислить значение выражения, используя функции возвращающие void и не void - C++
Хай!Помогите решить Дважды вычислить значение выражения, используя функции возвращающие void и не void....

Сформировать функции типа void для формирования указанных массивов - C++
Дано натуральное число n и действительные числа a1, a2... an. Сформировать два массива, в первый из которых переписать по неубыванию все...

Из двух массивов сформировать общий массив и вычислить сумму элементов, являющихся полными квадратами - C++
Из двух массивов разной длины сформировать общий массив и вычислить сумму элементов, являющихся полными квадратами и имеющих четные индексы.


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
02.04.2014, 08:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru