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

Оформление выполненного кода в виде шаблона функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Матрица, что нужно делать внутри цикла http://www.cyberforum.ru/cpp-beginners/thread692553.html
Дана матрица размера M х N. В каждой строке матрицы найти минимальный элемент.
C++ Данная целочисленная квадратная матрица. Определить максимальное значение среди элементов матрицы Данная целочисленная квадратная матрица. Определить максимальное значение среди элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread692535.html
Метод простых итераций для решения СЛАУ C++
Доброго времени суток. Если у кого нибудь есть готовые программы для данного метода, скиньте пожалуйста. Особенно написанные на Borland C++.
C++ Вычислить арифметические значения положительных элементов массивов
Заранее благодарю всех, кто откликнется! Написать программу. Вычислить арифметические значения положительных элементов массивов X, Y, Z и найти из них максимальное, если N=10, M=12, K=16. Вычисление среднего арифметического значения положительных элементов массива оформить в виде функции. Текст программы: #include <stdio.h> #include <stdlib.h> #include <math.h> int fun (int p,int n)
C++ Замена min на max в массиве http://www.cyberforum.ru/cpp-beginners/thread692527.html
в одномерном массиве целых чисел заменить минимум на максимум. не могу поменять их местами..а остальное работает #include <algorithm> #include <iostream>
C++ Определить структуру, что описывает равнобедренный прямоугольный треугольник с катетами Определить структуру, что описывает равнобедренный прямоугольный треугольник с катетами, параллельными осям координат, и нижним левым прямым углом. Написать и протестировать функцию, что возвращает указатель на новый треугольник – область пересечения двух заданных. Если пересечения нет – возвращается NULL. подробнее

Показать сообщение отдельно
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
08.11.2012, 23:15     Оформление выполненного кода в виде шаблона функции
Твой код я засунул в шаблоны, вот только в нем изначально ошибки вроде есть
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <cstdlib>
 
using namespace std;
 
//1: максимальное значение
template <class T>
T maxval(T* a, int sz) {
    T max = a[0];
    for(int i = 0; i < sz; i++) {
        if (a[i] > max)
            max = a[i];
    }
    return max;
}
 
//2: Сумма элементов до последнего положительного элемента
template <class T>
T scope(T* a, int sz) {
    int j = -1;
    for(int i = sz - 1; i >= 0; i--) {
        if(a[i] > 0) {
            j = i;
            break;
        }
    }
    T s = T();
    if(j != -1)
        for(int i = 0; i < j; i++)
            s += a[i];
    else
        cout << "No positive elements" << endl;
    cout << "Total scope is:" << s << endl;
    return s;
}
 
//3: Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a, b]. Освободившиеся в конце массива элементы заполнить нулями
template<class T>
void compress(T* a, int sz) {
    T y[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    cout << "Vvedi interval\n";
    int f, g, j = 0;
    cin >> f;
    cin >> g;
    for (int i = 0; i < sz; i++) {
        if ((abs(a[i]) >= f) && (abs(a[i]) <= g))
            continue;
        else {
            y[j] = a[i];
            j++;
        }
    }
    for (int i = j+1; i < sz; i++)
        y[i] = 0;
    cout << "Vivod massiva\n";
    for (int i = 0; i < sz; i++)
        cout << y[i] << " ";
    cout << "\n";
}
 
int main() {
    const int n = 5;
    int a[n], i, max;
    for(i = 0; i < n; i++) { // Ввод
        cout << "Vvedite element [" << i << "]: ";
        cin >> a[i];
    }
    max = maxval<int>(a, n);
    cout << "Max element = " << max;
    cout << "\n";
    scope<int>(a, n);
    compress<int>(a, n);
 
    return 0;
}
 
Текущее время: 16:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru