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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 22:34   #1
killeraleksana
 
Регистрация: 14.12.2011
Сообщений: 9
По умолчанию задача на массив,довольно простая

Приветствую Вас,уважаемые)
я студентка 1-го курса направления прикладная матем-ка и информатика,С++ изучаю с сентября. срочно нужно сдать несколько задач,но что-то у меня не сходится в этой
Задание: дан двумерный массив размерности nxn. необходимо поменять местами 2 средних столбца,если кол-во столбцов четное, и первый со средним столбцом если кол-во столбов нечетное.

#include <iostream>
using namespace std;
int main()
{int a[1000][1000];
int k,d,n;
cout<<"n=";
cin>>n;
for (int i=0; i<n; i++)
for (int j=0; j<n;j++)

{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
for (int i=0; i<n; i++)
for (int j=0; j<n;j++)
{if (n%2=0)
k=n/2-1; // k и d-номера столбцов
d=n/2;
a[i][k]=a[i][d];


else if (n%2!=0)
k=0;d=n/2;
a[i][k]=a[i][d];

}
for (int i=0; i<n;i++) //вроде должен быть вывод получившегося массива
for (int j=0; j<n;j++)
cin>>a[i][j];

return 0;}
killeraleksana вне форума Ответить с цитированием
Старый 15.12.2011, 10:32   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
//вроде должен быть вывод получившегося массива
посмотрите свой код несколько строк выше, разве там выводилост через cin?
p51x вне форума Ответить с цитированием
Старый 15.12.2011, 10:57   #3
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Вот оно
Код:
#include <iostream>
using namespace std;
int main()
{
	int a[100][100];
	int k,d,n;
	cout<<"n=";
	cin>>n;
	for (int i=0; i<n; i++){
		for (int j=0; j<n;j++){
			cout<<"a["<<i+1<<"]["<<j+1<<"]=";
			cin>>a[i][j];
		}
	}
	//вывод того что ввели
	cout <<"\nIshodnaya matritsa"<<endl;
	for (int i=0; i<n;i++){ 
		for (int j=0; j<n;j++)
		{
			cout.width(3);
			cout<<a[i][j]<<' ';
		}
		cout <<endl;
	}
	//если количество столбцов четное
	if (n%2 == 0){ 
		k=n/2-1;
		d=n/2;
	}
	//если нечетное
	else {		
		k=0; d=n/2;
	}

	//меняем местами элементы
	int buf;
	for (int i=0; i<n; i++){		
		buf = a[i][k]; 
		a[i][k]=a[i][d]; 
		a[i][d] = buf; 
	}

	//вывод полученного
	cout <<"\n\nPoluchennaya matritsa"<<endl;
	for (int i=0; i<n;i++){ 
		for (int j=0; j<n;j++)
		{
			cout.width(3);
			cout<<a[i][j]<<' ';
		}
		cout <<endl;
	}
	return 0;
}
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Довольно сложная задача по программированию(столкновение двух "молекул" и вычисление нового угла полёта) DoubleTrouble Помощь студентам 5 26.01.2011 21:41
С++ (простая задача) slim>>> Помощь студентам 3 13.01.2010 20:13
Не простая задача !!! MaxZoa Microsoft Office Excel 2 06.03.2008 18:07
Простая задача utyyf Помощь студентам 25 18.10.2007 14:50