Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2013, 12:23   #1
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию соединение масивов...

Даны два массива, упорядоченных по возрастанию: А[n] и B[m]. Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.



Код:
#include <iostream>
#include <time.h>
using namespace std;
void sort(int m[],int size){
	int x,k;
	long i,j;
	for(i=0;i<size;i++){
		k=i;
		x=m[i];
      for(j=i+1;j<size;j++)
		  if(m[j]<x){
				k=j;
				x=m[j];
			}
	m[k]=m[i];
		m[i]=x; 
	}
	cout<<'\n';
}

void mas1(){
const int size=10;
int m[size];
	srand(time(NULL));
	int *m1;
	m1=&m[0];
	for(int i=0;i<size;m1++,i++){
        *m1=rand()%100;
	cout<<*m1<<' ';
	}	
sort(m,10);
for(int i=0;i<size;i++){
		cout<<m[i]<<" ";
	}
	cout<<"\n\n";
	int *m2;
	m2=&m[0];
	for(int i=0;i<size;m2++,i++){
        *m2=rand()%100;
	cout<<*m2<<' ';
	}
	sort(m,10);
	for(int i=0;i<size;i++){
		cout<<m[i]<<" ";
	}
	cout<<"\n\n";
}
void main(){
mas1();
}

Как соединить два масива????????
подскажите плиз...
mixon-21 вне форума Ответить с цитированием
Старый 29.05.2013, 12:42   #2
stpdqstns
Пользователь
 
Регистрация: 04.11.2012
Сообщений: 33
По умолчанию

Код:
int main()
{
                const int nSize1 = 5;
		const int nSize2 = 7;
		int Array1[nSize1] = {4, 3, 9, 1, 3};
		int Array2[nSize2] = {6, 0, 8, 7, 5, 1, 2};
		sort(Array1, Array1 + nSize1);
		sort(Array2, Array2 + nSize2);

		int  *ResultArray = new int[nSize1 + nSize2];
		merge(Array1, Array1 + nSize1, Array2, Array2 + nSize2, ResultArray);

		for(int i = 0; i < (nSize1+nSize2); i++)
			cout<<"ResultArray["<<i<<"]: "<<ResultArray[i]<<endl;

               return 0;
}
stpdqstns вне форума Ответить с цитированием
Старый 29.05.2013, 13:38   #3
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

???????????????????????
Код:
void sort(int m[],int size){
	int x,k;
	long i,j;
	for(i=0;i<size;i++){
		k=i;
		x=m[i];
      for(j=i+1;j<size;j++)
		  if(m[j]<x){
				k=j;
				x=m[j];
			}
	m[k]=m[i];
		m[i]=x; 
	}
}
int merge(int Array1[],int nSize1){
	for(int i=0;i<nSize1;i++)
		cout<<Array1[i]<<' ';
	cout<<'\n';
	return 0;
}


int main(){

  const int nSize1 = 5;
		const int nSize2 = 7;
		int Array1[nSize1] = {4, 3, 9, 1, 3};
		int Array2[nSize2] = {6, 0, 8, 7, 5, 1, 2};
		sort(Array1,   nSize1);
		sort(Array2,  nSize2);

		int  *ResultArray = new int[nSize1 + nSize2];
		merge(Array1,5);
		merge(Array2,7);
		for(int i = 0; i < (nSize1+nSize2); i++)
			cout<<"ResultArray["<<i<<"]: "<<ResultArray[i]<<endl;

               return 0;
}

Последний раз редактировалось mixon-21; 29.05.2013 в 15:09.
mixon-21 вне форума Ответить с цитированием
Старый 29.05.2013, 15:10   #4
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

Вроде-бы так

Код:
#include <iostream>
#include <time.h>
using namespace std;
void sort(int m[],int size){
	int x,k;
	long i,j;
	for(i=0;i<size;i++){
		k=i;
		x=m[i];
      for(j=i+1;j<size;j++)
		  if(m[j]<x){
				k=j;
				x=m[j];
			}
	m[k]=m[i];
		m[i]=x; 
	}
}
int merge(int Array1[],int nSize1,int Array2[], int nSize2,int *ResultArray){
	for(int i=0;i<nSize1;i++)
		cout<<Array1[i]<<' ';
	cout<<'\n';
for(int i=0;i<nSize2;i++)
		cout<<Array2[i]<<' ';
	cout<<'\n';

	return 0;

}


int main(){

        const int nSize1 = 5; 
		const int nSize2 = 7;
		int Array1[nSize1] = {4, 88, 9, 1, 12};
		int Array2[nSize2] = {6, 0, 46, 7, 5, 51, 29};
		sort(Array1,nSize1);
		sort(Array2,nSize2);
		
		const int nSize=nSize1+nSize2;
		int  ResultArray[nSize]={4, 88, 9, 1, 12,6, 0, 46, 7, 5, 51, 29};
		sort(ResultArray,nSize);
		merge( Array1, nSize1, Array2,  nSize2,ResultArray);
		merge(Array1, Array1[5] + nSize1, Array2, Array2[7] + nSize2,ResultArray);
		for(int i = 0; i < (nSize1+nSize2); i++)
			cout<<"ResultArray["<<i<<"]: "<<ResultArray[i]<<endl;

               return 0;
}
mixon-21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cортировка масивов Giff Помощь студентам 0 29.04.2012 12:57
Несколько масивов kuy Паскаль, Turbo Pascal, PascalABC.NET 3 17.10.2011 23:32
Создание масивов tae1980 Microsoft Office Excel 2 19.03.2009 12:47
Сравнение 2 масивов excel Slavik Помощь студентам 17 07.02.2009 23:18
Создание МасивоВ Slavik Microsoft Office Excel 6 21.01.2009 01:26