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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа зависает http://www.cyberforum.ru/cpp-beginners/thread594813.html
Делаю игру типа Pacman я управляю им с помощю стрелок и по лабиринту произвольно двигается враг через некоторое время программа зависает... я не могу больше управлять пекменом и вообще ничего не...
C++ Как прочитать весь файл? У меня проблема, написал программу которая должна считывать текст из файла и сортировать слова в нем по алфавиту, но она считывает только первую строку, уже очень много чего перепробовал, но... http://www.cyberforum.ru/cpp-beginners/thread594811.html
Структура абитуриент, осталась одна ошибка C++
1. Структура "Абитуриент": - фамилия, имя, отчество; - год рождения; - оценки вступительных экзаменов (3); - средний балл аттестата. Удалить элемент с указанным номером, добавить элемент после...
C++ Сформировать идеально сбалансированное бинарное дерево
Дан текст программы. Проверти правильно или нет описание сделал? TNode* makePerfectBalancedTree(int n, TNode* p) // происходит формирование дерева { TNode *r; //тк TNode* r объект...
C++ Оптимизация времени выполнения http://www.cyberforum.ru/cpp-beginners/thread594771.html
Доброго времени суток. Есть следующая задача. Задача олимпиадная, потому учитывается время выполнения, нужно вложится в 1секунду. Мой код на сервере работает 1,014 с. Никак не могу уменшыть время...
C++ Пpи помощи стека пpовести соpтиpовку Дан файл, элементами котоpого являются целые числа, упоpядоченные по возpастанию (убыванию). Пpи помощи стpуктуpы данных стек пpовести "обpатную" соpтиpовку файла по убыванию (возpастанию!) подробнее

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

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

03.06.2012, 12:49. Просмотров 284. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru