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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2011, 21:48   #1
Arn1
 
Регистрация: 29.09.2011
Сообщений: 9
По умолчанию Задача на С++

Здраствуйте, мне нужна ваша помощь по этой задачке

Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся все нечетные числа в том порядке, в каком они встречались во входном файле, а затем - все четные. Входные данные Вводится число N (0<N<100), а затем N чисел из диапазона Integer.


мой код внизу,и вопрос таков,как решить эту задачу, и как можно сделать так чтоб значение одного массива было записано на другое.
пожалуйста прошу помочь по с++
Код:
#include<iostream>
using namespace std;
int main()

{

int n,i,x,j;
int a[100],b[50],c[50];
cin>> n;

for(i=0;i<=n;i++){

cin>>a[i];
 }
for(i=0;i<n;i++){
  for( j=0;j<100;j++)
  if(a[i]%2==0)
  b[j]=a[i];    
 
  for (x=0;x<100;x++)
  
  if(a[i]%2==1){ 
   c[x]=a[i];}
  
  } 
cout<< b[j] << " "<<c[x]<< " ";

return 0;
}

Последний раз редактировалось Stilet; 30.09.2011 в 21:25.
Arn1 вне форума Ответить с цитированием
Старый 30.09.2011, 15:25   #2
_kilik_
Пользователь
 
Аватар для _kilik_
 
Регистрация: 16.08.2011
Сообщений: 69
По умолчанию

В условии задачи не указывается что нужно менять что-то в массиве или создавать доп. массивы. Можно было просто вывести сначала четные потом нечетные числа. Но раз хочешь так держи.
Код:
#include<iostream>
#include<vector>
#include<fstream>
using namespace std;
int fii_in(vector<int> &mass);//запишем массив с файла
int m_out(vector<int> &mass);//выведем массив на монитор
int copy(vector<int> &a,vector<int> &even,vector<int> &odd);//копирует четные нечетные числа
int main(){
	setlocale(LC_ALL,"Russian");
	vector<int> a,b,c;
	fii_in(a);
	copy(a,b,c);
	cout<< "четные \n";
	m_out(b);
	cout<< "нечетные \n";
	m_out(c);
	system("pause");
	return(0);
}
int fii_in(vector<int> &mass){
	char f_name[255];//имя файла
	int size_mass;//размер массива
	int tmp;
	cout<<"введите имя файла с исходными данными \n";
	cin>>f_name;
	ifstream in(f_name);
	in>>size_mass;//первым числом в файле должен быть размер массива
	if(100<size_mass||size_mass<0){
		cout<<"некоректно введен размер массива \n";
		in.close();
		system("pause");
		exit(0);
	}
	for(int i=0;i<size_mass;i++){
		in>>tmp;
		mass.push_back(tmp);
	}
	in.close();
	return 0;
}
int m_out(vector<int> &mass){
	if(mass.empty()){
		cout<<"массив пуст";
		return 0;
	}
	for(int i=0;i<mass.size();i++)
		cout<<mass[i]<<'\t';//выводим массив
	return 0;
}
int copy(vector<int> &a,vector<int> &even,vector<int> &odd){
	for(int i=0;i<a.size();i++){
		if(a[i]%2==0)
			even.push_back(a[i]);//чет 
		else
			odd.push_back(a[i]);//нечет
		}
	return 0;
	
}

Последний раз редактировалось _kilik_; 30.09.2011 в 15:31.
_kilik_ вне форума Ответить с цитированием
Старый 30.09.2011, 19:31   #3
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
По умолчанию

Код:
#include <iostream>

#define N 100

using namespace std;

int main()
{
	int n, a[N], i;
	cout << "N = ";
	cin >> n;
	cout << "\nNumbers:\n";
	for (i = 0; i < n; i++)
		cin >> a[i];
	cout << "\n\nResult:\n";
	for (i = 0; i < n; i++)
		if (a[i] % 2 != 0) cout << a[i] << ' ';
	cout << endl;
	for (i = 0; i < n; i++)
		if (a[i] % 2 == 0) cout << a[i] << ' ';
	cout << endl;
	system("pause");
	return 0;
}
Kingdom_Reborn вне форума Ответить с цитированием
Старый 30.09.2011, 20:55   #4
Arn1
 
Регистрация: 29.09.2011
Сообщений: 9
По умолчанию

спасибо, я уже ее решил) задачку заново прочитал) точно также как вы решил,спасибо за помощь

спс за инфу, прочитал,пытался понять но не понял некоторые в начале которые.коды,а те что нижные как бэ понял) биг спс

Последний раз редактировалось Stilet; 30.09.2011 в 21:27.
Arn1 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51
задача на С++ Кристина_ Общие вопросы C/C++ 3 22.02.2011 22:07