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

Шаблон функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Приделать к программе быструю сортировку и бинарный поиск http://www.cyberforum.ru/cpp-beginners/thread1308628.html
Нужна ваша помощь. Есть консольная программа для ввода, вывода данных. Ко всему нужно этому нужно приделать быструю сортировку и бинарный поиск. Кому не лень, помогите пожалуйста. ...
C++ Конвертор валют Необходимо расписать каждую строчку програмы. #include <cstdlib> #include <iostream> using namespace std; class bank { private: string vid, valuta;double kilkist; public: bank (); ~bank(); http://www.cyberforum.ru/cpp-beginners/thread1308606.html
Проверка ввода данных C++
Задача 1 такая: "Введите 1, для вычисления среднего арифметического, введите 2, для вычисления среднего геометрического". Решил я её так, взял переменную за Char, потом считал как Int, получил ASCII...
По каким причинам память не может быть выделена динамически? C++
Операция new выделяет память для размещения переменной и возвращает адрес выделенного участка, преобразуя указатель к нужному типу. Если по каким-либо причинам память не может быть выделена, функция...
C++ как сделать программу, чтобы она запрашивала пароль до входа в систему http://www.cyberforum.ru/cpp-beginners/thread1308599.html
как сделать программу, чтобы она запрашивала пароль до входа в систему.
C++ Написал программу по смене слов в строке, но нужно что бы можно было вводить слова с клавиатуры.Что нужно ? // ConsoleApplication7.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <string> #include "iostream" #include <string.h> #include <iostream> #include... подробнее

Показать сообщение отдельно
hoggy
6672 / 2856 / 491
Регистрация: 15.11.2014
Сообщений: 6,369
Завершенные тесты: 1
23.11.2014, 19:02
если делать по уму, то выглядеть это должно как то так:

http://rextester.com/ONG89301

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
#include <iostream>
using namespace std;
 
template <class T, size_t N> 
size_t find(const T& target, const T (&arr)[N])
{
  for(size_t i = 0; i < N; ++i)
    if(target == arr[i])
      return i;
  return -1;
}
 
 
 
int main()
{
 
  const int a[]    = {2, 3, 4, 5, 7, 1};
  const char b[]   = {'f' , 'a' , 'm' };
  const double c[] = {22.4, 5.67, 54.2};
  
  cout << "Поиск элемента целого типа: "        << (int)find(4, a)    << endl;
  cout << "Поиск элемента символьного типа: "   << (int)find('m', b)  << endl;
  cout << "Поиск элемента с плавающей точкой: " << (int)find(5.67, c) << endl;
    
  cout << "----------------\n";
    
  cout << "Поиск элемента с плавающей точкой: " << (int)find(100.67, c) << endl;
}
Ключевые особенности:

1. Не нужно передавать размер массива. Потому что этот размер можно вывести автоматически.

2. Тип данных, задача которого - хранение индекса массива, должен быть size_t.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru