Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считывание из файла в нужной кодировке https://www.cyberforum.ru/ cpp-beginners/ thread1246010.html
Почему при считывание файла выдает кракозябры ? Содержимое файла: i love you char *text; ifstream read; read.open("read.txt"); while(read.eof()) { read >> text; ...
C++ Перегрузка операторов - Оба случая работают правильно, почему так?
#include "stdafx.h" #include <iostream> #include "conio.h" #include "windows.h" using namespace::std; class Int{ private: int i; public: Int() :i(0)
Перевод букв и чисел в двоичную систему счисления C++
Здравствуйте, как сделать на C++ перевод букв и чисел двоичную систему счисления ?
C++ Чтение данных из текстового файла Помогите пожалуйста! Питаюсь создать консольную програму и никак не пойму как прочесть из файла, ну например: есть файл noname.txt и в ньом написана цифра 1, как сделать штоб програма считивая файл... https://www.cyberforum.ru/ cpp-beginners/ thread1245981.html
C++ Вывод информации на экран в случае применения классов на С++ https://www.cyberforum.ru/ cpp-beginners/ thread1245979.html
Здравствуйте! Подскажите, пожалуйста, в таком вопросе. Пытаюсь написать элементарную программу с применением классов на С++, но в ней не выводится результат вычислений. Подскажите, пожалуйста, почему...
Что надо сделать, чтобы консоль после вызова не закрывалась C++
Как раньше делал , но забыл
C++ Код нормально компилируется но работает не весь
Здравствуйте, уважаемые форумчане! Итак есть программа, которая нормально компилируется, но при запуске работает не как задумано. (Говно)кодить начал недавно поэтому прошу не ругаться :D К тому же...
C++ Ошибка определения специализации шаблонного класса На этом месте вылазит ошибка: Error 1 error C3413: 'MyClass<int>' : invalid explicit instantiation template class MyClass<int> #include <iostream> using namespace std; template <class... https://www.cyberforum.ru/ cpp-beginners/ thread1245918.html
C++ Нужна рабочая программа "Ханойская башня" в консоли https://www.cyberforum.ru/ cpp-beginners/ thread1245905.html
Нужна рабочая программа "Ханойская башня" в консоле: Вводишь количество колец, и выводит все ходы перемещения колец. Если таковой не имеется, то готов заплатить за сделанную с нуля.
C++ Установка информации приложения И снова здравствуйте!) Вот наконец закончил свое первое приложение! Подскажите как изменить поля "производитель" и "описание"? VS2005 MFC https://www.cyberforum.ru/ cpp-beginners/ thread1245874.html
510 / 272 / 60
Регистрация: 14.12.2010
Сообщений: 548
23.08.2014, 12:23 0

Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей

23.08.2014, 12:23. Просмотров 1532. Ответов 7
Метки (Все метки)

Ответ

Цитата Сообщение от VergilYamato Посмотреть сообщение
Задача: создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей. Вернуть адрес наибольшей строки (Стивен Прата - "Язык программирования с++", 8 глава, часть 6 задания).
В общем виде так:
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
 
#include <iostream>
#include <assert.h>
 
template<typename T, int N>                         // <<<---- задаём тип и размер массива
const T* findLongestString(const T*(& _strs)[N])    // <<<---- принимаем массив по ссылке
{
    size_t maxLength = 0;
    const T* maxStr = NULL;
    for (size_t i = 0; i < N; ++i)                  // <<<---- перебираем все строки
    {
        const T* curStr = _strs[i];
        size_t curLength = 0;
        while (curStr[curLength] != 0)
            ++curLength;
        if (maxLength < curLength)                  // <<<---- находим самую длинную строку
        {
            maxLength = curLength;
            maxStr = curStr;
        }
    }
    assert(maxStr != NULL);                         // <<<---- на всякий случай проверяем результат
    //std::cout << maxLength << std::endl;
    return maxStr;
}
 
int main()
{
    const char* strs[] = { "0", "11", "222", "3333", "end" };
    std::cout << "longest string is: " << findLongestString(strs) << "." << std::endl;
    return 0;
}


Вернуться к обсуждению:
Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2014, 12:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Различные функции, для которых можно создать массив указателей на функции
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

Создать массив заданной размерности с помощью функции и указателей
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void z(int *p){ int a; ...

Виртуальные функции (создать массив указателей на объекты трех классов)
Задание: создать массив указателей на объекты трех классов. Метод Show почему-то не...

Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей?
Доброго времени суток! Рассматриваю пример (из Лафоре) сортировки массива указателей на объекты,...

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