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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2018, 16:06   #1
syavon
 
Регистрация: 22.11.2018
Сообщений: 4
По умолчанию Нужна помощь с двумерным массивом

Вот задание:
Дан двумерный массив a, размером (n x m). Переставить каждый элемент побочной диагонали с элементом первой строки.
Я окончательно запутался. Помогите первокурснику
Код:
int main()
{
	setlocale(LC_ALL, "Russian");
	const int n = 3, m = 3;
	int i, j, s = 0;
	int prom = 0;
	int A[n][m];
	srand(time(NULL));
	for(i=0; i<n; i++)
	for (j=0; j<m; j++)
	{
    A[i][j] = rand() % 10 ;  
   	}
   	cout << "Массив: " << endl;
   	for(i=0; i<n; i++)	
   	{
   	for (j=0; j<m; j++)
	{ 
		cout << "  " << A[i][j] << "  ";
	}
	cout << endl;
    }
	cout << "\n\n";
	
	for(i=0; i<n; i++)	
   	{
   	s = 0;
   	for (j=0; j<m; j++)
	{ 
     if (i+j == n-1)
     {
     	prom = A[0][j];
		A[0][j - s] = A[i][n-1-i];
		A[]
		s--;
	 }
	   s++; 
	cout << "  " << A[i][j] << "  ";
	}
	cout << endl;
    }
	getch();
}
syavon вне форума Ответить с цитированием
Старый 14.12.2018, 16:17   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Код:
s = 0;
   	for (j=0; j<m; j++)
	{ 
     if (i+j == n-1)
     {
     	prom = A[0][j];
		A[0][j - s] = A[i][n-1-i];
		A[]
		s--;
	 }
	   s++;
Объясните логику сего цикла. Что вы им хотели добиться? Какая роль у s? Что такое A[]?

Если вам надо переставить элементы только диагонали и первой строки - зачем вам два цикла по всей матрице? Индексы побочной диагонали легко выражаются через одну переменную, индексы первой строки тоже...
p51x вне форума Ответить с цитированием
Старый 14.12.2018, 17:09   #3
syavon
 
Регистрация: 22.11.2018
Сообщений: 4
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Объясните логику сего цикла. Что вы им хотели добиться?
Это недоделанный кусок( мои безуспешные попытки поменять эл. побочной диагонали с первой строкой).
syavon вне форума Ответить с цитированием
Старый 14.12.2018, 19:53   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Меня смущает неквадратность массива. Были ли даны какие-нибудь рекомендации по выбору индексов элементов на побочной диагонали?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с двумерным массивом С++ max.sokol Помощь студентам 7 08.01.2016 11:18
Нужна помощь (задача с массивом)... Goldberg Паскаль, Turbo Pascal, PascalABC.NET 36 19.04.2011 20:31
Нужна помощь с двумерным массивом в паскале.. MyLastHit Помощь студентам 3 20.12.2009 16:46
Нужна помощь с одномерны массивом!!! KnighTeX Помощь студентам 0 09.10.2009 20:55
С массивом нужна помощь !! zerob132 Паскаль, Turbo Pascal, PascalABC.NET 11 11.05.2009 17:10