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

Найти количество общих элементов в массивах. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как сделать, чтобы new возвращал NULL? http://www.cyberforum.ru/cpp-beginners/thread924293.html
Как сделать, чтобы new возвращал NULL?
C++ запрет шаблонов У меня есть некоторая шаблонная функция, которая определена для некоторого набора типов данныхх. Как можно сделать так, чтобы функцию нельзя было бы использовать с др.типами? http://www.cyberforum.ru/cpp-beginners/thread924290.html
Подскажите, пожалуйста, как исправить ошибку C++
Условие задачи: Разработать программу для работы с БД, которая обеспечивает автоматизированную продажу авиабилетов на месяц вперед. Программа проверяет правильность каждой даты(не разрешается вводить прошедшую дату), делает возможным менять расписание. main.cpp #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <iostream>
Ошибка при работе с памятью C++
Если ввести например 6, 0, чтобы выбросить исключение. То по завершение программы выскакивает ошибка. В чём может быть дело? Так что то про кучу. class MyExcept{ public: char *buf; MyExcept(char *comment){ buf = new char; strcpy(buf, comment); }
C++ Что делать с ошибкой: C2440: инициализация: невозможно преобразовать "int **" в "int *" http://www.cyberforum.ru/cpp-beginners/thread924248.html
Задание, сделать класс динамического массива шаблонным. Вот, вроде бы сделал, но наткнулся на ошибку, что не так? Код: #include<iostream> #include<conio.h> using namespace std; template <class T> class Dynamic_array
C++ Не перехватывается исключений int a; try{ cin >> a; cout << a / 0 << endl; }catch(...){ cout << "err" << endl./ } подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.07.2013, 12:27     Найти количество общих элементов в массивах.
Цитата Сообщение от Kukurudza Посмотреть сообщение
stl все равно быстрее
да, она же волшебная немного переделал свой прежний алгоритм:

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
#include<iostream>
const int NA = 5;
const int NB = 7;
 
int Count(int *a, int *b, int na, int nb)
{
    int i = 0, j = 0, count = 0;
    while(i < na && j < nb)
    {
        if(a[i] < b[j])
            ++i;
        else if(b[j] < a[i])
            ++j;
        else
        {
            ++i, ++j, ++count;
        }
    }
    return count;
}
 
int main()
{
   int a[NA] = {1, 2, 3, 7, 10}, b[NC] = {0, 1, 2, 3, 7, 10 ,11};
   std::cout << Count(a, b, NA, NB);
   return 0;
}
 
Текущее время: 03:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru