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

Вычисления максимального элемента массива с явной специализацией для строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как исправить ошибки C2065, C2109 в этой программе? http://www.cyberforum.ru/cpp-beginners/thread386177.html
error C2065: is: необъявленный идентификатор error C2109: для индекса требуется массив или указатель что это за ошибки и как их исправить задача, кстати из этой программы # include...
C++ циклический сдвиг написать программу на СИ (обычном ,НЕ Си++), используя символьные массивы : Если число отрицательных элементов масива А чётно,то осуществить циклический сдвиг элементов массива на 4 позиции ... http://www.cyberforum.ru/cpp-beginners/thread386176.html
C++ Условный оператор (Dev C++)
Надо написать программу на dev-c++ , в которой имеется две функции: главная и пользовательская для вычисления выражения. При этом необходимо запросить у пользователя вещественное число и вывести...
C++ Вывести числа из файла
Есть файл, в котором записаны 3 числа. Нужно вывести их, минуя пробелы. Вроде всё получается, но только 2 раза, т.е.если создать цикл, то числа выводятся только 2 раза. На третий раз не выводится...
C++ Ошибка при записи в файл http://www.cyberforum.ru/cpp-beginners/thread386166.html
Помогите добить задачку на С++. В общем прога работает правильно вот только когда идет запись в файл, то в файле находятса не данные структуры а какие-то символи #include <iostream> #include...
C++ Запуск потока Создаю поток и по запуску приложения он должен выполняться. Точнее должна выполняться процедура Connect(); Но ничего не происходит ... все запускается нормально и все процедуры вроде бы выполняются... подробнее

Показать сообщение отдельно
Infinity3000
1060 / 579 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
18.11.2011, 20:08  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
показывай специализацию

Пытаюсь сделать как то так!
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
#include "iostream"
#include "fstream"
#include <cstring>
 
 
using namespace std;
 
template<int n, typename T>
void InitMas(T *mas)      //передача массива
{  
    for(int i = 0; i < n; ++i)
    {
        cout << mas[i] << " "; 
    }
}
 
 
template <typename T> 
T maximum(T mas, int n)
{
 T max = mas[0];
  for ( int i = 1; i < n; ++i )
  {
    if ( mas[i] > max )
    {
      max = mas[i];
    }
  }
    return max;
}
//эта функция замещает обобщенную версию
// функции maximum(),
//для нахождения максимума среди  строк
 
template<>
char* maximum<char*>(char *mas, int n)
{
   char max = mas[0];
  for ( int i = 1; i < n; ++i )
  {
    if ( strcmp(mas[i],max) > 0 )
    {
      max = mas[i];
    }
  }
return max;
}
 
 
 
 
int main()
{ 
    setlocale(LC_CTYPE,"Russian"); //русский шрифт в консоле
    char *a; 
    const int n = 15; 
    a = new char [n];
    
    ifstream inarray("CharMass.txt"); // открытие файла для ввода;
    if (!inarray) //если файла не существует
    {
        cout << "File can not be opened" << endl; //выводим сообщение
        return 0;   //выход из программы
    }
 
    for (int i = 0; i < n; ++i)
    {
        inarray >> a[i];
    }               
    InitMas<n>(a); //выводим массив на консоль с помощью шаблонной функции InitMas
    cout<<"max="<< maximum<char*>(a,n) <<"\n";
 
 
 
system("pause >> null");
return 0;
}
Но не работает! логически должно быть все правильно!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru