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

Шаблонные функции множеств - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Блок-схема http://www.cyberforum.ru/cpp-beginners/thread163099.html
Одобрите кто-нибудь моё творение по заданию. Составьте алгоритм по правилу «Если идет дождь, то взять зонт, если снег одеть куртку, в противном случае шляпу»: Блок-схема (начало) ...
C++ Работа с классами #include <iostream> #include <fstream> #include <time.h> #include <stdio.h> using namespace std; class Money { int money, money_prize;; public: Money() http://www.cyberforum.ru/cpp-beginners/thread163087.html
Написать шаблон функции для поиска среднего арифметического массива C++
Написать шаблон функции для поиска среднего арифметического значений массива
C++ Программа для шифрования
Я сис-админ, не уверен что правильно будет писать на Си, но это единственный язык, который еле еле знаю, акромя вбс и проч, разумеется Задача вроде проста до безумия, но ничего похожего не нашел. Суть вопроса: есть артикулы которые нужно зашифровать, чтобы конкуренты не подсмотрели. Нужна программа в 1 окошко, где будет 2 поля и 1 кнопка. В 1 поле - можно будет вписать оригинал артикула,...
C++ Отделение интерфейса от реализации класса: компиляция кода реализации http://www.cyberforum.ru/cpp-beginners/thread163001.html
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса. Допустим, у меня есть три файла: 1. заголовочный файл Class.h с прототипами функций; 2. файл реализации Class.cpp с определениями функций без функции main; 3. файл клиента Start.cpp, использующий класс Class Я хочу скомпилировать объектный код реализации класс. Однако при запуске компиляции...
C++ Определить количество элементов в стеке Привет народ. Подскажите пожалуйста как получить кол-во элементов в стеке? Я пытаюсь написать функцию выдающую такое значение. Спасибо. #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; подробнее

Показать сообщение отдельно
kbu
2 / 2 / 0
Регистрация: 30.07.2010
Сообщений: 76

Шаблонные функции множеств - C++

02.09.2010, 18:03. Просмотров 335. Ответов 0
Метки (Все метки)

Господа кодеры, подскажите пожалуйста по таким вопросам:
1) правильно ли написана шаблонная функция, она должна работать следущим образом-даны два массива и в третий занести из второго и и из первого только совпадающие элементы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Пересечение множеств
template <typename T> void Intersection (T Array1[], T Array2[], T Array3[], const int ASize1, const int ASize2, const int ASize3){
    
    for(int i=0; i<ASize3; i++){            
     Array3[i]=0;
     }
 
     for(int i=0; i<ASize1; ++i){       
      for(int j=0; j<ASize2; ++j){
         if(Array1[i]==Array2[j])
            Array3[i]=Array1[i];
            }
      if (Array3[i]!=0){
          cout << Array3[i] << "\n\n";
        }
    }
}
на мой взгляд все вроде бы корректно,но вдруг...


2)А вот эта шаблонная функция, должна аналогично первой в третий массив занести данные из первого и второго массива,все несовпадающие элементы.У меня данные заносятся,но вот совпадающие тоже попадают.....не могу понять почему....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Объединение множеств
template <typename T> void Union (T Array1[], T Array2[], T Array3[], const int ASize1, const int ASize2, const int ASize3){
 
     for(int i=0; i<ASize1; i++){           //Присваиваем третьему массиву элементы первого 
        Array3[i]=Array1[i];
 
     for (int i=0; i<ASize2; i++){              //Проверяем похожие элементы первого массива со вторым
         if (Array2[i]!=Array1[i])
             Array3[i+ASize1]=Array2[i];
     }
    } 
     for (int i=0; i<ASize3; i++)
     cout << Array3[i] << '\t';         //Выводим элементы третьего массива
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru