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

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

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

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

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

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

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

Задача на двумерные массивы... - C++
Как найти сумму цифр нижнего правого треугольника матрицы без диагонали??? например матрица 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3...

Двумерные массивы (матрицы) - C++
Добрый день!!!!!! Помогите решить такую задачу: Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных...

двумерные массивы(задача) - C++
прошу помочь с задачей.:):):)вот текст задачи Дана целочисленная прямоугольная матрица. Определить: 1) количество строк,...

Практика\двумерные массивы - C++
Дана матрица A(n,n). Преобразовать матрицу по следующему правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n -...

Двумерные массивы C++.Функции. - C++
Помогите пожалуйста,очень нужно. В каждой строке матрицы n*m вместо максимального элемента записать количество положительных элементов...

Циклы и двумерные массивы - C++
1. Цикл For... Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна данному числу k. 2. двумерные массивы ...

Массивы (двумерные) и Строки - C++
в теории всё легко, а вот на практике не могу описать задачи((( работаю в DevCpp Массивы (двумерные) Задать символьный массив...

про двумерные массивы - C++
Даны два двумерных массива целых чисел с размерами (5х5) эле¬ментов каждый. Подсчитать произведение элементов главных диагоналей в каждом...


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

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

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