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

Создать перегружаемые функции и шаблоны для типов int и double - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ GDB 7.5 http://www.cyberforum.ru/cpp-beginners/thread691172.html
Помогите пожалуйста как установить GDB 7.5 к MinGW.MinGW установлен. http://ftp.gnu.org/gnu/gdb/ я скачал отсюда который 27 мб распокавал а что дальше?Можете расписать пошагова пожалуйста.
C++ Найти произведение всех элементов матрицы, расположенных под вспомогательной диагональю Найти произведение всех элементов матрицы, расположенных под вспомогательной диагональю, и умножить его на разницу максимального и минимального элемента главной диагонали.На С++ очень нужно. http://www.cyberforum.ru/cpp-beginners/thread691168.html
Рекурсия. Среднее значение в двумрном массиве C++
Доброе время суток. Помогите пожалуйста с задачей: Напишите рекурсивную функцию, которая находит среднее арифметическое наибольшего и наименьшего элемента главной диагонали матрицы А(5х5). Вот функция которая находит среднее арифметическое без рекурсии. float calc_y_(int a) { float y=0; int i, min, max; min=a; for(i=0; i<n; i++)
C++ Найти сумму элементов, расположенных в закрашенной части матрицы
Ребят помогите очень нужно пожалуйста !!! задачи по С++ 2 Дана действительная матрица порядка n. Найти сумму элементов, расположенных в закрашенной части матрицы на рисунке.
C++ Получить новую матрицу, переставляя блоки в соответствии с рисунком http://www.cyberforum.ru/cpp-beginners/thread691154.html
Ребят помогите очень нужно пожалуйста !!! задачи по С++ 3 Дана действительная квадратная матрица порядка 2n. Получить новую, переставляя блоки размера n ґ n в соответствии с рисунком.
C++ Размещение реализаций методов класса Цитирую книгу: "Рекомендуется помещать объявление класса в файл с расширением .h, а реализацию его функций-членов - в файл с расширением .cpp." Пример из этой же книги: Файл Cat.h: #include <iostream> class Cat подробнее

Показать сообщение отдельно
Zambal
83 / 3 / 1
Регистрация: 14.11.2011
Сообщений: 68
16.11.2012, 13:09  [ТС]     Создать перегружаемые функции и шаблоны для типов int и double
готовая программа
может кто помочь с записью результатов в текстовый файл?
с помощью fstream получилось записать только сами массивы и максимальные по модулю элементы
все остальные результаты из функций не выводятся или портят все в консоле повторным выводом на экран

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include "stdafx.h"
#include <time.h>
 
#include <iostream>
using namespace std;
 
template <class S>
const S Max(S *a, size_t size)
{
    if (!size) return 0;
    
    S tmp = a[0];
    for (size_t i = 1; i < size; ++i)
    {
        if(abs(a[i]) > abs(tmp))
            tmp = a[i];
    }
    return tmp;
}
 
template <class A>
A sort(A *a, int n)
{
    int i, j;
    A tmp;
    for(i = 1; i < n; i++)
        for(j = n - 1; j >= i; j--)
        {
            if(abs(a[j]) <= 1)
            {
                tmp = a[j - 1];
                a[j - 1] = a[j];
                a[j] = tmp;
            }
        }
 
    for(int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }
    cout << '\n';
    return 0;
 
}
 
int Sum(int *a, int n);
double Sum(double *a, int n);
 
int main()
{
    const int n = 9; 
    int firstint = 0, lastint = 0, firstdbl = 0, lastdbl = 0;
    int A[n]; double B[n];
    srand((unsigned)time(NULL));
 
    for(int i = 0; i < n; i++)//sozdanie massivov
    {
        A[i] = rand()%10-5;
        B[i] = (float)(rand()%99)/100 + rand()%10-5;
    }
    
    for(int a = 0; a < n; a++)//vivod massiva A
        cout << A[a] << " ";
 
    
    cout << '\n';
 
    for(int b = 0; b < n; b++)//vivod massiva B
        cout << B[b] << " "; 
 
    cout << '\n';
 
    cout << '\n' << "Max absolut in integer array = " << Max(A, sizeof(A)/sizeof(int)) << '\n';//podschet maximalnogo po modulu v A
    cout << '\n' << "Max absolut in double array = " << Max(B, sizeof(B)/sizeof(double)) << '\n';//podschet maximalnogo po modulu v B
 
    cout << '\n' << "Sum of elements in integer array=" << Sum(&A[0], n) << '\n';//podschet summi mezhdu elementami v A
    cout << '\n' << "Sum of elements in double array=" << Sum(&B[0], n) << '\n';//podschet summi mezhdu elementami v B
 
    sort(&A[0], n);//sortirovka massiva A
    sort(&B[0], n);//sortirovka massiva B
 
system("pause");
return 0;
}
 
int Sum(int *a, int n)
{   
    int fa, la, s = 0;
    for(int f = 0; f < n; f++)
    {
        if(a[f] < 0)
        {
            fa = f;
            break;
        }
    }
    
    cout << '\n' << "First integer=" << fa << '\n';
 
    for(int f = fa + 1; f < n; f++)
    {
        if(a[f] < 0) 
        {
            la = f;
            break;
        }
    }
    
    cout << '\n' << "Last integer=" << la << '\n';
 
    for(int f = fa + 1; f < la; f++)
        s += a[f];
    return s;
}
 
double Sum(double *a, int n)
{
    int fa, la;
    for(int f = 0; f < n; f++)
    {
        if(a[f] < 0)
        {
            fa = f;
            break;
        }
    }
    
    cout << '\n' << "First double=" << fa << '\n';
 
    for(int f = fa + 1; f < n; f++)
    {
        if(a[f] < 0) 
        {
            la = f;
            break;
        }
    }
    
    cout << '\n' << "Last double=" << la << '\n';
 
    double s = 0;
    for(int f = fa + 1; f < la; f++)
        s += a[f];
    return s;
}
 
Текущее время: 17:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru