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

Пересечение массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пустая строка http://www.cyberforum.ru/cpp-beginners/thread553887.html
Делал задание по перегрузке функций. Перегружаю функцию sum. В одном из заданий надо ее перегрузить для подсчета значения переменных типа double, которые на ввод идут строкой. Почему то самой первой переменной типа double ставится пустое значение. #include "stdafx.h" #include <iostream> #include <cstdlib> using namespace std; struct complex { int re;
C++ Трансляция с C# на С++ Здравствуйте. Прошу помощи: кто может транслировать этот проект с C# на С++ ? Немного о проекте: Windows Forms приложение в VS2010, один текстбокс и один пассвордбокс, три кнопки (OpenFileDialog и два обработчика). На главной форме кода в общей сложности на 88 всех строк (значащих ещё меньше). Сам проект есть реализация алгоритмов шифрования методом замены (Одноконтурная... http://www.cyberforum.ru/cpp-beginners/thread553881.html
C++ Вывод результата на экран
Всем привет, нуждаюсь в помощи! Написал прогу, она еще не на 100% готова, но при прекопиляции дает ошибку в последних 2 строках кода #include <conio.h> #include "iostream" #include "fstream" using namespace std; struct List {
Сортировка значений типа char C++
Здравствуйте, есть у меня структура: ФИО ученика и класс в котором он учится. Класс состоит из цифры и буквы. Как можно отсортировать данные по классам в порядке: 9А, 9B, 9C, 10A и т.д. ? Добавлено через 17 минут #include <iostream.h> #include <conio.h> #include <stdio.h> struct school {char pib; char n;
C++ Странный глюк с вектором http://www.cyberforum.ru/cpp-beginners/thread553865.html
Я определил операции: Присвоения: bool s; std::vector<int> v; void operator=(int get_i){ s = get_i < 0; // знак if(abs(get_i) >= 1000){ v.resize(2);
C++ Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой Добрый вечер! Собственно суть задачи такова: Сформировать список l, включив в него по одному разу элементы, которые входят. В один из списков l1 или l2. Но не входят в другой Я не совсем поняла списки, вы не могли бы помочь разобраться в программе? есть некие наброски, но сомневаюсь, что они верны: #include <iostream> using namespace std; template <typename T> class List { подробнее

Показать сообщение отдельно
Flyinsky
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 48
21.04.2012, 05:34  [ТС]     Пересечение массивов
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <iterator>
 
template <typename T>
void Intersection(T *A, int m, T *B, int n)
{
    T C[m+n];
    std::merge(&A[0], &A[m], &B[0], &B[n], &C[0]);    
    std::sort(&C[0], &C[m+n]);
    std::copy(&C[0], std::unique(&C[0], &C[m+n]), std::ostream_iterator<T>(std::cout, " "));
    std::cout<< std::endl;
}
 
int main()
{
    int iA[] = {1, 2, 3, 4, 5}, iB[] = {3, 4, 5, 6};
    Intersection(iA, sizeof(iA)/sizeof(iA[0]), iB, sizeof(iB)/sizeof(iB[0]));
    double dA[] = {1.1, 2.2, 3.3, 4.4, 5.5}, dB[] = {3.3, 1.2, 1.5, 4.4}; 
    Intersection(dA, sizeof(dA)/sizeof(dA[0]), dB, sizeof(dB)/sizeof(dB[0]));
    return 0;
}
Благодарю за помощь, ставлю ваш код в мою программу точнее кусок программы где ввод двух первых массивов получается вот так :

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "locale.h"
#include "stdlib.h"
#include "time.h "
#include "iostream"
#include "algorithm"
#include "iterator"
 
 
 
int n=0,j, i, s=1;
int numRes,diff,z=0,a[10];
double b[2]={},c[2]={};
 
template <typename T>
void Intersection(T *A, int m, T *B, int n)
{
    T C[m+n];
    std::merge(&A[0], &A[m], &B[0], &B[n], &C[0]);    
    std::sort(&C[0], &C[m+n]);
    std::copy(&C[0], std::unique(&C[0], &C[m+n]), std::ostream_iterator<T>(std::cout, " "));
    std::cout<< std::endl;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL, "russian");
    
int iA[] = {1, 2, 3, 4, 5}, iB[] = {3, 4, 5, 6};
 
 
printf("Введите число элеметов в массиве X:  ");
scanf("%i",&s);
printf("\n");
 
 
printf("массив X:  \n");
 
for( i=0;i<s;i++){
     a[i]= rand()%50-1;
     printf("%d ",  rand()%50-1);
     printf("\n");
}
printf("\n");
printf("массив Y: \n ");
for( i=0;i<2;i++){
     b[i]= rand()%50-1;
     printf("%d ",rand()%50-1);
}
{ 
    Intersection(iA, sizeof(iA)/sizeof(iA[0]), iB, sizeof(iB)/sizeof(iB[0]));
    double dA[] = {1.1, 2.2, 3.3, 4.4, 5.5}, dB[] = {3.3, 1.2, 1.5, 4.4}; 
    Intersection(dA, sizeof(dA)/sizeof(dA[0]), dB, sizeof(dB)/sizeof(dB[0]));
    
}
 
 
getch();
  
    return 0;
}
Валится куча ошибок, что я сделал не так ?
 
Текущее время: 13:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru