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

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

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

Шаблоны функций. Есть ошибки - C++

03.06.2012, 12:49. Просмотров 289. Ответов 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
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
#include <iostream>
#include <math.h>
using namespace std;
 
template <class T>
T myfind(T* arr, int n)
{
    int i,j,maxelem,minelem;
    T summ;
 
    for (maxelem = minelem = i = summ = 0; i < n; i++){
        if (arr[i] > 0) summ += arr[i]; // Сумма положительных элементов
        if (fabs(arr[i]) > fabs(arr[maxelem])) maxelem = i; // Определение номера максимального по модулю элемента
        if (fabs(arr[i]) < fabs(arr[minelem])) minelem = i; // И минимального
    }
 
    return summ;
}
 
template <class B>
B myfind_1(B* arr, int n)
{
    int i,j,maxelem,minelem;
    B temp;
    if (abs(maxelem - minelem) > 1){ // Если между максимальным и минимальным по модулю элементами
        // есть элементы
        int stelem = (maxelem < minelem ? maxelem : minelem); // Определяем какой из максимального и минимального элементов
        int endelem = (maxelem < minelem ? minelem : maxelem); // имеет меньший номер
        for (i = stelem + 1,temp = 1; i < endelem; i++)
            temp *= arr[i]; // Произведение промежуточных элементов
    }
 
return temp;
}
 
 
int main(){
    int n,i,j,
        maxelem, minelem; // Номера максимального и минимального элементов
    float summ = 0, // Сумма положительных элементов
        temp;
    cout << "Enter n: "; // Ввод количества элементов массива
    cin >> n;
    float *arr = new float [n]; // Создание массива
    for (i = 0; i < n; i++){
        cout << "Enter element number " << i + 1 << " : "; // Ввод элементов массива
        cin >> arr[i];
    }
    maxelem = minelem = 0;
 
    cout << "Summ = " << myfind(arr, n) << endl; // Вывод суммы положительных елементов
    
            
        cout << "Pro = " << myfind_1(arr, n)  << endl; // Вывод полученного произведения
    }
    else
        cout << "No elements";
    cout << "Source array:\n[";
    for (i = 0; i < n; i++) // Вывод исходного массива
        cout << arr[i] << (i < n-1 ? ", " : "]\n"); //
    // Сортировка массива методом сравнения:
    for (int i = 0; i < n-1; i++) // Проход всего массива кроме последнего элемента
        for (int j = i + 1; j <= n-1; j++) // Проход оставшейся части массива
            if (arr[i] < arr[j]){ // Сравнение текущего элемента с элементом из оставшейся части.
                temp = arr[i]; // Обмен значений элементов если они стоят в неправильном порядке
                arr[i] = arr[j];
                arr[j] = temp;
            }
 
    cout << "Array sorted:\n[";
    for (i = 0; i < n; i++) // Вывод отсортированного массива
        cout << arr[i] << (i < n-1 ? ", " : "]\n"); //
    delete [] arr;
    cin.get(),cin.get();
    return 0;
}
Программа не запускается выдает различные ошибки, типо: temp: неиспользованная локальная переменная, j: неиспользованная локальная переменная, синтаксическая ошибка: else, синтаксическая ошибка: отсутствие ";" перед "<<", отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию, синтаксическая ошибка: for и др.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 12:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны функций. Есть ошибки (C++):

Шаблоны функций. Исправьте ошибки - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; template &lt;class atype&gt; int find(atype summ) { int n,i,j, maxelem,...

Шаблоны функций - C++
Пытаюсь разобраться в шаблонах функций. Написал такой код, не работает: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

Шаблоны функций - C++
Всем доброго времени суток. Встала такая проблема: //.h template &lt;class T&gt; T randf( T min, T max ); void _test(); //.cpp ...

шаблоны функций на С++ - C++
помогите с задачей условие таково. Дан одна мерный массив состоящий из целых чисел нужно найти произвидение всех отрицательных элементов и...

Шаблоны функций c++ - C++
Хэллоу фрэндс! Столкнулся с проблеммой в решении упражнения. Вот условие: Создайте шаблонную функцию maxn(), которая принимает в...

шаблоны функций - C++
Помогите пожалуйста с задачей: Разработайте программу, в которой реализовано нахождение количества пар одинаковых по значению соседних...

1
HighPredator
5603 / 1917 / 358
Регистрация: 10.12.2010
Сообщений: 5,569
Записей в блоге: 3
03.06.2012, 12:59 #2
Строка 56 у вас отсутствует if, а ветка else есть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 12:59
Привет! Вот еще темы с ответами:

шаблоны функций - C++
Есть класс class My{ public: My(); ~My(); template&lt;typename Type&gt; Type func(int a); private: int a,b; ...

Шаблоны функций - C++
Привет всем, я новичок в С++, хо4у изучать этот язык, буду делать через VS 2008 прошу вас придумать какие нибудь не сильно сложные задачки...

Шаблоны функций - C++
Путем перестановки элементов квадратной натуральной матрицы добиться того, чтобы ее максимальный элемент находился в левом верхнем углу,...

Шаблоны функций - C++
Всех приветствую! народ помогите задали лабораторку, а в с++ я только новичок подскажите как сделать следующее:


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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