Форум программистов, компьютерный форум CyberForum.ru

Двумерные массивы - C++

Восстановить пароль Регистрация
 
gelfer
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 5
21.02.2012, 22:51     Двумерные массивы #1
Доброго времени суток, стоит задача:

Дано число n. Создайте массив int A[n][n], и заполните его по следующему правилу:

Числа на диагонали, идущей из правого верхнего в левый нижний угол равны 1.
Числа, стоящие выше этой диагонали, равны 0.
Числа, стоящие ниже этой диагонали, равны 2.

Полученный массив выведите на экран. Числа разделяйте одним пробелом. Пример
Вход Выход
4 0 0 0 1
0 0 1 2
0 1 2 2
1 2 2 2

Решение получилось такое:
Код
#include <iostream>
using namespace std;

int main()
{

	int r,c,i,j;
	cin>>r>>c;
	int **mas = new int *[r];
	for(i=0; i<r; i++)
	{
		mas[i] = new int [c];
	}
	
	for(i=0;i<r;i++)
	{
       for(j=r-1;j>=0;j--)
       {
          if (i<j)
		  {
             mas[i][j]=2;
			 cout<<mas[i][j];
		  }
          else if(i>j)
		  {
             mas[i][j]=0;
			 cout<<mas[i][j];
		 
		  }
          else
		  {
             mas[i][j]=1;
			 cout<<mas[i][j];
			 
		  }
		  
       }
	   cout<<endl;
	}


	for(i=0; i<r;i++)
	{
		delete [] mas[i];
	}
	delete [] mas;
	return 0;
}

Это решение правильно, но! оно работает через оператор if.
Как написать этот же код, но только с операторами цикла for?
Я написал похожее, но где-то есть ошибка...

Код
#include <iostream>
using namespace std;

int main()
{

	int r,c,i,j;
	cin>>r>>c;
	int **mas = new int *[r];
	for(i=0; i<r; i++)
	{
		mas[i] = new int [c];
	}
	
	for(i=0;i<r;i++)
	{
		for(j=r-1;j>i;j--)
		{
			 mas[i][j]=2;
			cout<<mas[i][j];
		}
		for(j=r-1;j>=0;j--)
		{
			mas[i][j]=1;
			cout<<mas[i][j];
		}
		for(j=r-1;j<i;j--)
		{
			 mas[i][j]=0;
			cout<<mas[i][j];
		}
		
		cout<<endl;
	}
	



	for(i=0; i<r;i++)
	{
		delete [] mas[i];
	}
	delete [] mas;
	return 0;
}
Помогите исправить пожалуйста или предложите свои варианты решения. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 22:51     Двумерные массивы
Посмотрите здесь:

Двумерные массивы. C++
C++ двумерные массивы
C++ Двумерные массивы
C++ двумерные массивы
C++ Двумерные массивы
C++ Двумерные массивы
C++ Двумерные массивы
C++ Двумерные массивы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru