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

В одномерном массиве состоящем из n вещественных элементов вычислить: - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить в зависимости от условия http://www.cyberforum.ru/cpp-beginners/thread1075547.html
Помогите решить задачу на с++ за ранее благодарен Если можно с комментариями и на базовом уровне.
C++ Перевести паскаль в c++ ребят, помогите перевести данный код на с++ function func(d:integer):boolean; var i:integer; begin result:=true; for i:=2 to d-1 do if d mod i = 0 then begin result:=false; http://www.cyberforum.ru/cpp-beginners/thread1075540.html
Найти вещественные корни уравнения ax4+bx2+c=0 C++
Вот условие: Даны числа a, b, с (проверить, чтобы а≠0, иначе повторить ввод). Найти вещественные корни уравнения ax4+bx2+c=0. Если корней нет, дать сообщение об этом. #include <iostream> //Для функций cin, cout #include <math.h> //Для функций sin, pow #include <iomanip> using namespace std; int main(int argc, char* argv) { double a,b,c;
Ошибка в унаследованном конструкторе C++
Битый час сижу и не могу понять, в чем дело. Компилятор на 19 строке выдает ошибку undefined reference to `vtable for baseDMA' #ifndef H_H_INCLUDED #define H_H_INCLUDED #include <iostream> // Базовый класс, использующий динамическое выделение памяти class ABC { private: char*label; int rating;
C++ Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке http://www.cyberforum.ru/cpp-beginners/thread1075512.html
1.Сформировать квадратную матрицу 000001 000020 000300 0n-10000 n00000 2.Дан двумерный массив. найти количество элементов в каждой строке, меньших диагонального в этой строке.
C++ "Точность вычислений" или "Элементарная погрешность" Всем привет! Решаю задачку (Задача А - во вложениях), где даны координаты вершин треугольника, и нужно найти наибольший угол в нем. Ну так вот. Это код моей программы. Она работает правильно. Но иногда возникает проблема с точностью вычислений: например, когда вводишь координаты 0;0, 2;2, 4;4 (лежат на одной прямой), то вместо 180 программа выводит очень необычный ответ:... подробнее

Показать сообщение отдельно
Mirazhana
1 / 1 / 0
Регистрация: 04.09.2012
Сообщений: 94
19.01.2014, 15:43     В одномерном массиве состоящем из n вещественных элементов вычислить:
Доброго времени суток. У меня возникла проблема с созданием шаблонов функций, завтра сдавать, а у меня ничего не готово. Задание под спойлером, первые три пункта я выполнила, а вот оформить в виде шаблона функции не могу, помогите кто сможет.

Задание:
Кликните здесь для просмотра всего текста
В одномерном массиве состоящем из n вещественных элементов вычислить:
1) произведение положительных элементов массива;
2) сумму элементов массива, расположенных до минимального элемента
3) упорядочить по возрастанию отдельно элементы, стоящие на четных местах, элементы на нечетных местах.
Оформить каждый пункт задания в виде шаблона функции. Все необходимые данные должны передаваться им в качестве параметров. Использование глобальных переменных не допускается.

Моя программа:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include "iostream"
#include "time.h"
#include "stdlib.h"
 
using namespace std;
float mult_otr = 1;
float sum_mult = 0;
int min_index = 0;
 
//Функция заполнения массива
void fill(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        mas[i] = -50 + (float)(rand() %100);
    }
    return;
}
//Подсчет произведения положительных элементов
float mult(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        if (mas[i] > 0)
        {
            mult_otr *= mas[i];
        }
    }
    return 0;
}
//Функция нахождения минимального элемента
void min_mas(int n, float mas[])
{
    float min = mas[0];
    for (int i = 0; i < n; i++)
    {
        if (min > mas[i])
        {
            min = mas[i];
            min_index = i;
        }
    }
    cout << endl;
    cout << "Минимальный элемент массива: " << min << endl;
    return;
}
//Функция нахождения суммы до минимального элемента
void sum(int n, float mas[])
{
 
    float sum_mult = 0;
    for (int i = 0; i < min_index; i++) 
        sum_mult += mas[i];
 
    cout << "Сумма  элементов массива, до min отрицательного элемента:  " << sum_mult << endl;
    return;
}
//Функция вывода массива на экран
void out_mas(int n, float mas[])
{
    for (int i = 0; i < n; i++)
    {
        cout << mas[i] << " ";
    }
    return;
}
//Функция сортировки массива
void sort_mas(int n, float mas[])
{
    for (int i = 0; i < n; i += 2)      //Обход массива с шагом 2
    {
        for (int j = i; j < n; j += 2)  //Повторный обход массива, начинаем от текущего элемента прошлого обхода
        {
            int Temp;
            for (int k = 0; k < 2 && (j+2+k) < n; k++)  //Смена мест четных и нечетных элементов
            {
                if (mas[i+k] > mas[j+2+k])
                {
                    Temp = mas[i+k];
                    mas[i+k] = mas [j+2+k];
                    mas[j+2+k] = Temp;
                }
            }
        }
    }
    return;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i = 0;
    int n = 0;
    
    cout << "Введите кол-во элементов массива: ";
    cin >> n;
    float *mas = new float[n];
    cout << endl << endl;
    srand(time(NULL));
 
    fill(n, mas);       //Заполнение массива
    out_mas(n, mas);    //Вывод массива
    mult(n, mas);       //Нахождение произведения положительных элементов массива
 
    min_mas(n, mas);    //Нахождение минимального элемента массива
    sum(n, mas);        //Расчет суммы до минимального элемента
 
    cout << endl << endl;
    cout << "Произведение положительных элементов равно: " << mult_otr << endl;
 
    cout << "Отсортированный массив: " << endl;
    sort_mas(n, mas);   //Сортировка массива
    out_mas(n, mas);    //Вывод массива
    
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru