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

Нужна помомщь с перегружаемыми функциями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не может определить сумму http://www.cyberforum.ru/cpp-beginners/thread755956.html
#include "stdafx.h" #include <iostream> #include <math.h> #include <locale.h> #include "windows.h" using namespace std;
C++ Двумерные массивы. Подсчитать число элементов матрицы помогите пожалуйста написать программы 2.Подсчитать число элементов матрицы Q(9x11), остаток от деления которых на пять равен единице. http://www.cyberforum.ru/cpp-beginners/thread755954.html
Библиотека для работы с файлами C++
Нужен какой-нибудь набор готовых методов для работы с файлами: копирование, переименование, поиск подстроки, установка курсора на такую-то позицию в такой-то строке, вставка подстроки на указанную позицию, удаление подстроки, поиск подстроки, соответствующей регулярному выражению (boost::regex) итд. Наверняка это уже 100 раз кем-то написано, но я не могу найти. Еще нужна такая функция, которой...
Декларации C++
Подскажите пожалуйста, что такое "декларации"?
C++ Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть вычисления и вывод данных о фигуре, проверку существования треугольника. http://www.cyberforum.ru/cpp-beginners/thread755897.html
Добрый вечер, помогите плиз с программой Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре – длины сторон, углы, периметр,площадь. Были наброски такие, с++ изучаю не долго, поэтому не могу додумать( #include<iostream> using namespace std; class treyg { private: int...
C++ Крестики-нолики в консоле Недавно начал изучать С + + и для небольшой практики хотел написать что-то, типа крестики-нолики. программа должна отображать игру в виде матрицы 3х3. Вот как бы получилось это сделать. Но когда я нажимаю на нампаде (при выключенном NumLock) клавишу, где должен размещаться крестик, то вместо одного крестика появляются сразу два ... Почему? P.S: Такое случается только при нажатии клавиши 1 или... подробнее

Показать сообщение отдельно
sundayyes
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 13

Нужна помомщь с перегружаемыми функциями - C++

08.01.2013, 18:59. Просмотров 217. Ответов 7
Метки (Все метки)

для каждого пункта задания создать:
1. перегружаемые функции для типов int и double
2. шаблоны функций
Все необходимые данные для функций должны передаваться им в качестве параметров.
В одномерном массиве, состоящем из 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
119
120
121
122
123
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
//using namespace std;
//1
int maxi(int*a,int n)
{
int max;
max=a[1];
for(int i=0;i<n;i++)
if (fabs(a[i])>max) max=a[i];
return max;
}
//1
double maxi(double *b,int n)
{
    double max;
    max = b[1];
for(int i = 0; i<n; i++)
if (abs(b[i])>max) max=b[i];
return max;
}
//2
int summa(int *a,int n)
{
    int x,y;
    for(int i=0;i<n;i++)
    {
        if(a[i]>0)
        {
            x=i;
            break;
        }
    }
    for(i=x+1;i<n;i++)
    {
        if(a[i]>0)
        {
            y=i;
            break;
        }
    }
    int sum=1;
    for(i=x+1;i<1;i++)
        sum+=a[i];
    return sum;
}
//2
double summa(double*b,int n)
{
    int x,y;
    for(int i=0;i<n;i++)
    {
        if(b[i]>0)
        {
            x=i;
            break;
        }
    }
    for(i=x+1;i<n;i++)
    {
        if(b[i]>0)
        {
            y=i;
            break;
        }
    }
    double sum=0;
    for(i=x+1;i<1;i++)
        sum+=b[i];
    return sum;
}
///3
template<class P>
P sort(P*a,int n)
{
    P b;
    for(int i=1;i<n;i++)
        for(int j=n-1;j>=i;j--)
        {
            if(a[j]=0)
            {
                b=a[j-1];
                a[j-1]=a[j];
                a[j]=b;
            }
        }
        for(i=0;i<n;i++)
            cout<<a[i]<<" ";
        cout<<endl;
        return 0;
}
//
void main()
{
    const int n=6;int a[n];double b[n];
    for(int i=0;i<n;i++)
    {
        a[i]=rand()%20-10;
        b[i]=(double)(rand()%99)/100+rand()%10-5;
        a[0]=0;
        b[0]=0;
        a[n-2]=0;
        b[n-2]=0;
    }
    for(i=0;i<n;i++)
        cout<<a[i]<<" ";
    cout<<" - massiv int";
    cout<<endl;
    for(i=0;i<n;i++)
        cout<<b[i]<<" ";
    cout<<" -massiv double";
    cout<<endl;
    cout<<endl;
    cout<<"max po modylu int="<<maxi(a,n)<<'\n';
    cout<<"max po modylu double="<<maxi(b,n)<<'\n';
    cout<<"summa int="<<summa(a,n)<<'\n';
        cout<<"summa double="<<summa(b,n)<<'\n';
        sort(a,n);
    sort(b,n);
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru