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

Сформировать третий массив, в который перенести из массива X те элементы, которые встречаются в нём чаще, чем в массиве Y. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание консольного меню http://www.cyberforum.ru/cpp-beginners/thread359971.html
Дорогие друзья-товарищи, нужен совет по работе с консолью в Windows/Linux. Существуют ли какие-либо библиотеки (что наверняка) и функции, которые устанавливают взаимодействие системы со "стрелочками":вверх, вниз, вправо, влево? В частности, я хочу сделать консольное меню такого вида: 1)... 2)...<< 3)... где "<<" - аналог курсора, перемещение которого по экрану зависит от нажатия клавиш...
C++ VSC++ и DLL У меня возникла такая проблемка,есть проект в Visual Studio 2008 C++, из него нужно скомпилить DLL. Сам я с С++ вообще не сталкивался, так что помогите пожалуйста! P.s. Способ смены выходного файла в свойствах проекта на DLL не работает почему то... + ко всему у меня 64 битная винда. Заранее спасибо=)) http://www.cyberforum.ru/cpp-beginners/thread359970.html
C++ Проблема с указателями!
Создать программу для решения задачи построения слова из некоторого множества букв (игра Scrabble) используя алгоритмы поиска в глубину и в ширину. Длина слова не менее 5 букв. #include "stdafx.h" #include<iostream> #include <cstring> using namespace std; int max; char str1, str2; char pastSymbol (char *str, char symbol, int position); void rec(int k, char str);
C++ Отыскание прохода по лабиринту
Здравствуйте! Очень нужна помощь. Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квад* рат определяется...
C++ Хэштаблицы с квадратичным исследованием.Ошибка http://www.cyberforum.ru/cpp-beginners/thread359956.html
Здравствуйте, помогите исправить ошибку Ошибка Error error C2065: 'mas' : undeclared identifier #include "stdafx.h" #include <time.h> #include <conio.h>
C++ Как избежать постоянных инициализаций временного объекта? Здравствуйте! Будет ли этот код class my::testBuffer{ //код А private: int data; public: testBuffer(const int& d ) : data(d) { } int getData() подробнее

Показать сообщение отдельно
zaqqaz
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 12
03.10.2011, 22:46  [ТС]     Сформировать третий массив, в который перенести из массива X те элементы, которые встречаются в нём чаще, чем в массиве Y.
И все же не работает... теперь выводит только элементы первого массива x(остальное пространство "size" заполняется нулями, но это не проблема(легко решить).

#include <algorithm>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
using namespace std;

int main() {
setlocale (LC_ALL, ".1251");

cout <<"Буддем вводить элементы массивов сами или же генерируем? ('1; - сами, '0' - генерируем \n";
int p; // проверка(сами или нет)
cin >> p;
if (p == 1){
cout <<"vvedite kol-vo elementov v 1'om massive \n";
int n;
cin >> n;
int q = 0,z=0,k=0;
const int size = 1000;
int mass_x [size];
for (int i = 0; i != n; ++i, ++q, ++k) {
cout << "vved " << i + 1 << " elem: ";
cin >> mass_x[i];

}
// сортировка
cout << "Сортировка(по возрастанию): ";
sort(mass_x, mass_x + k);
for(int i = 0; i < k; ++i)
cout << mass_x[i] <<";";
cout << endl;




cout <<"vvedite kol-vo elementov v 2'om massive \n";
int n2;
cin >> n2;

int mass_y [size];
for (int i = 0; i != n2; ++i, ++z) {
cout << "vved " << i + 1 << " elem: ";
cin >> mass_y[i];

}
// сортировка
cout << "Сортировка(по возрастанию): ";
sort(mass_y, mass_y + z);
for(int i = 0; i < z; ++i)
cout << mass_y[i] <<";";
cout << endl;



}


// генерируем.

else {
cout <<"vvedite kol-vo elementov v 1'om massive \n";
int n;
cin >> n;
int q = 0,z=0,k=0;
const int size = 1000;
int mass_x_sl [size];



int i;
srand(time(0));
for (i=0;i<n;i++,++k) {
mass_x_sl[i]=rand() % 1000;

}
// сортировка
cout << "Сортировка(по возрастанию, 1ый массив): ";
sort(mass_x_sl, mass_x_sl + k);
for(int i = 0; i < k; ++i)
cout << mass_x_sl[i] <<";";
cout << endl;






cout <<"vvedite kol-vo elementov v 2'om massive \n";
int n2;
cin >> n2;
int mass_y_sl [size];
srand(time(0));
for (i=0;i<n2;i++, ++q) {
mass_y_sl[i]=rand() % 1000;



}
// сортировка
cout << "Сортировка(по возрастанию, 2ой массив): ";
sort(mass_y_sl, mass_y_sl + q);
for(int i = 0; i < q; ++i){
cout << mass_y_sl[i] <<";";}


cout << endl;
cout << endl;
int z2[size] = {0};
int a[size] = {0}; //массив в который переносим элементы
for ( int i = 0; i < k; i++ )
z2[mass_x_sl[i]]++;

//вычитаем из этого элементы встречающиеся
//в массиве y
for ( int i = 0; i < q; i++ )
z2[mass_y_sl[i]]--;

for ( int i = 0, j = 0; i < 1000; i++ )
{
if ( z2[i] > 0 )
{
a[j] = i;
j++;
}

}

int count = 0;
for ( int i = 0; i < size; i++ )
{
cout << a[i] << " ";

if ( a[i] > 0 )
count++;
}

cout << "count: " << count;


}
return 0;
}
Пробовал еще так выводить:
Код
		cout<<"Третий массив: ";
		for(unsigned int i=0;i<a[size];i++)
			cout<<a[i]<<" ";
		cout<<endl;
Но тогда вообще пустота ((
 
Текущее время: 12:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru