Показать сообщение отдельно

  #84  
Старый 13.11.2007, 22:58
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
С нами: 10140806

Репутация: 932


По умолчанию

Было накидано за 15 минут... Тока 1 и 2 задания.

Код:
#include <tchar.h>
#include <iostream>
using namespace std;
bool isst2(int x,int s);
int _tmain(int argc, _TCHAR* argv[])
{
	register int *ms1,*ms2,size,x,summ=0,y; //трахаться будем по полной
	bool tmp; //херня
	cout<<"Enter size of massives:"; //вводим размеры. Я тут у них одинаковый размер
	cin>>size;
	ms1 = new int[size];
                ms2 = new int[size];

	/*Вводим массивы*/
	for(x=0;x<=size;x++){
		cout<<"Enter "<<x<<" element of first massive:";
		cin>>ms1[x];
		cout<<"Enter "<<x<<" element of second massive:";
		cin>>ms2[x];
	}


	/*1. Найти сумму элементов массива, являющихся степенями числа 2. */
	for(x=0;x<=size;x++){
		if(isst2(ms1[x],1)) summ+=ms1[x];
	}
	cout<<"Answer to 1: "<<summ<<endl; //незнал как по-англицки

/*2. Найти наименьшее среди чисел первой последовательности, не входящих во вторую.*/
	summ=ms1[0]; //текущее мах число
	for(x=0;x<=size;x++){
		tmp=1;
		for(y=0;y<=size;y++){
      if (ms2[y]==ms1[x]) tmp=0; //входит :(

	}
		if(tmp && ms1[x]<summ) summ = ms1[x];
}
cout<<"Answer to 2"<<summ<<endl;


	return 0;
}
/*Является или число степенью числа 2*/
bool isst2(int x,int s)
{ 
	s*=2;
	if(s==x) return 1;
	else if(s>x) return 0;
	else isst2(x,s);

}

Последний раз редактировалось Ky3bMu4; 13.11.2007 в 23:06..
 
Ответить с цитированием