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

Массивы с пересечением множеств - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Защита от ввода некорректных данных в консольной программе http://www.cyberforum.ru/cpp-beginners/thread751638.html
#include "stdafx.h" #include <iostream> #include <cstdlib> #include <conio.h> #include <cmath> using namespace std; float slojenie (float f_n1, float f_n2, float f_n3) { return f_n1 + f_n2 + f_n3;
C++ Найти медиану ряда Уважаемые программисты! Помогите исправить код по нахождению медианы ряда (N - длина последовательности). Может, что-то неправильно с qsort - сортировкой? Заранее благодарен. #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int comp(const void *grade, const void *b) http://www.cyberforum.ru/cpp-beginners/thread751635.html
C++ Необходимо выделить из текста слова в которых количество гласных букв парная
Необходимо выделить из текста слова в которых количество гласных букв парная
C++ Невозможно обратиться к private член, объявленному в классе "Complex"
выдавало ошибку "невозможно обратиться к private член, объявленному в классе "Complex"" я поменяла int n; private: double re; double im; }; на
C++ Ошибка "Перегруженная функция-член не найдена" http://www.cyberforum.ru/cpp-beginners/thread751592.html
заголовочный файл clas_s.h #include <iostream> #include <conio.h> #include <math.h> using namespace std; class Complex // класс компелексных чисел { double re, im; // целая и мнимая части
C++ Нужно с одного файла считать числа(десятичные дроби), заменить их словами, и записать в другой! пожалуйста! помогите! нужно с одного файла считать числа(десятичные дроби), заменить их словами, и записать в другой! подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,843
Записей в блоге: 2
Завершенные тесты: 1
03.01.2013, 11:49     Массивы с пересечением множеств
Как вариант:
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
 
bool IsUniversal(int val,int * pArr, size_t sizearr){
    for(int *p=pArr,*pend=pArr+sizearr;p<pend;++p)
        if (*p==val) return false;
    return true;
}
 
 
size_t GetRezult(int * pSrc1,size_t Src1Size, int * pSrc2, size_t Src2Size, int * pDest, size_t DestSize){
    size_t count=0;
    for(int *p=pSrc1,*pend=pSrc1+Src1Size,*pRez=pDest,*pRezEnd=pDest+DestSize;
        p<pend && pRez<pRezEnd;++p)
            if(!IsUniversal(*p,pSrc2,Src2Size) && IsUniversal(*p,pDest,count)) {
                ++count;
                *(pRez++)=*p;
            }
    return count;
}
 
 
void show(int * pSrc, size_t size, bool endline=false){
    for(int *p=pSrc,*pend=pSrc+size;p<pend;++p)
        std::cout<<*p<<" ";
    if (endline) std::cout<<std::endl;
}
 
int main(){
    srand(time(NULL));
    int n=10;
    int * pSrc1=new int[n];
    int * pSrc2=new int[n];
    int * pRezult=new int[n*2];
    
    for(int i=0;i<n;++i){
        pSrc1[i]=rand()%21-10;
        pSrc2[i]=rand()%21-10;
    }
    show(pSrc1,n,true);
    show(pSrc2,n,true);
    show(pRezult,GetRezult(pSrc1,n,pSrc2,n,pRezult,n*2),true);
    delete [] pSrc1;
    delete [] pSrc2;
    delete [] pRezult;
    return 0; 
}
Название: Безымянный.jpg
Просмотров: 88

Размер: 10.4 Кб
 
Текущее время: 09:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru