Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
gelfer
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 5
#1

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

21.02.2012, 22:51. Просмотров 252. Ответов 0
Метки нет (Все метки)

Доброго времени суток, стоит задача:

Дано число 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;
}
Помогите исправить пожалуйста или предложите свои варианты решения. Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 22:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двумерные массивы (C++):

Двумерные массивы - C++
Привет всем! если есть у кого время, посмотрите что можно сделать, нужна ваша помощь! Сформировать одномерный массив B из максимальных...

Двумерные массивы - C++
Никогда особо раньше не занимался программирование,больше как то математикой.И вот на первом курсе стали изучать язык Си на лекциях.На...

Двумерные массивы. - C++
Помогите решить задачку!!!!!! Дана действительная квадратная матрица порядка 2N. Подучить новую матрицу, переставляя ее блоки размера N х...

двумерные массивы - C++
Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы 4x4. зарание спасибо!

с++ двумерные массивы - C++
с++ двумерные массивы, можете помочь написать код пожалуйста №1 Заполнить матрицу А(9,9), от левого верхнего угла по диагонали: вправо -...

Двумерные массивы - C++
Ребята, помогите очень прошу! :с По массиву А(n,m) получить массив В(n) (типа boolean), присвоив k-му элементу значение true, если все...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2012, 22:51
Привет! Вот еще темы с ответами:

Двумерные массивы - C++
Помогите люди добрые:) Дана целочисленная прямоугольная матрица, определить: 1) Кол-во отрицательных эл-тов тех строк, которые содержат...

Двумерные массивы в С++ - C++
Написать программу, которая дает пользователю ввести 5 фамилий студентов, а затем находит среди них самую длинную фамилию. Все фамилии...

Двумерные массивы. - C++
для заданной матрицы размером 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Как это вообще? Второй день голову...

Двумерные массивы (+символьные) - C++
Вот 5 задач... необходимо помочь братишке... сам я в С++ не особо силен... Сильно прошу вас помочь мне... За оказанную услугу готов...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru