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

Определить, имеются ли в матрице только два одинаковых элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить координаты элемента, наиболее близкого к среднему значению всех элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread1586390.html
Написать программу: Определить координаты элемента, наиболее близкого к среднему значению всех элементов массива.
C++ Строки, работа со строками С++ Вставить пробел между символом '*' и цифрой (для каждой такой пары). Необходимо использовать только функции: strstr, strcat, strncpy, strcpy. Нашел как определить цифра или нет (isdigit(ch)); Но как реализовать все понятия нет... Строку объявлять необходимо в char... Заранее спасибо Добавлено через 1 час 3 минуты хелп... Добавлено через 13 минут http://www.cyberforum.ru/cpp-beginners/thread1586379.html
Работа со структурой C++
Помогите решить проблему, нужно реализовать функцию "вывод на экран информации о человеке, чья фамилия введена с клавиатуры" Пробовал уже многими методами, кучу всего в интернете перерыл, но никак не могу разобраться #include "stdafx.h" #include <iostream> #include <cstdlib> #include <fstream> #include <iomanip> #include <string> using namespace std;
Вычислить сумму и число положительных элементов матрицы C++
Вычислить сумму и число положительных элементов матрицы A, находящихся над главной диагональю.
C++ Программа сразу завершается http://www.cyberforum.ru/cpp-beginners/thread1586364.html
Здравствуйте! Я написал программу с конфигурацией решения Release, при запуске exe-файла программа тут же закрывается, а то что она выводит на экран видно доли секунды. Перепробовал и getch() и system("pause") и тому подобное, не помогло:( Что делать? Код:// Server.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream" #include <WinSock2.h>...
C++ Pipe. Анонимные каналы Доброго времени суток, не могу разобраться с pipe, а именно как передать строку из одного процесса в другой. Вот написал программу, но нифига не работает, подскажите плз в чем проблема. #include <windows.h> #include <conio.h> int main() { HANDLE hWritePipe; char buff; _cputs("Press any key to pipe.\n"); подробнее

Показать сообщение отдельно
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
19.11.2015, 20:55     Определить, имеются ли в матрице только два одинаковых элемента
Цитата Сообщение от garnier Посмотреть сообщение
Написать программу сможете?
Конечно, пожалуйста:

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
#include <iostream>
#include <map>
 
template<typename T, size_t D1, size_t D2>
T* nonUniqueElementsByCount(T (&mat)[D1][D2], size_t count)
{
    std::map<T, size_t> map;
    for (T* begin = reinterpret_cast<T*>(mat), *end = begin + D1 * D2; begin != end; ++begin)
    {
        if (++map[*begin] > count)
            return begin;
    }
    return nullptr;
}
 
int main()
{
    int mat[3][3] = { { 1, 2, 3 }, { 4, 5, 3 }, { 7, 8, 9 } };
    auto target = nonUniqueElementsByCount(mat, 2);
    if (target)
        std::cout << "Встречающийся более двух раз элемент: " << *target << std::endl;
    else
        std::cout << "Встречающегося более двух раз элемента нету " << std::endl;
 
    int mat2[3][3] = { { 1, 2, 3 }, { 4, 5, 3 }, { 3, 8, 9 } };
    auto target2 = nonUniqueElementsByCount(mat2, 2);
    if (target2)
        std::cout << "Встречающийся более двух раз элемент: " << *target2 << std::endl;
    else
        std::cout << "Встречающегося более двух раз элемента нету " << std::endl;
}
 
Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru