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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2009, 19:48   #1
dimmkka
 
Регистрация: 17.02.2009
Сообщений: 6
По умолчанию Помогите найти ошибку в задаче!

Задача:В двухмерном массиве размером n на n элементов, заполненный единицами, обнулить все элементы массива лежащие выше главной диагонали. Значение n вводить с клавиатуры.
Составил код:
int n;
Console.WriteLine( " Vvedite razmer elementa n ");
n=Convert.ToInt32(Console.ReadLine( ));
int [,] mas=new int[n,n];
for (int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{mas[i,j] =1;
Console.Write(" " +mas[i,j]);
}
Console.WriteLine(" ");
}
Console.WriteLine(" ");
for(int i=0; i<n+1; i++)
{
for(int j=i+1; j<n; j++)
{mas[i,j]=0;
Console.Write(" "+ mas[i,j]);
}
Console.WriteLine(" ");
}
Console.WriteLine(" ")
Не могу найти ошибку, а надо чтобы на экране отображался массив в таком виде:
1 0 0 0 0
1 1 0 0 0
1 1 1 0 0
1 1 1 1 0
dimmkka вне форума Ответить с цитированием
Старый 20.02.2009, 20:07   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Используйте тег CODE для кода.

Ошибка здесь:
Код:
for(int i=0; i<n+1; i++) 
{ 
for(int j=i+1; j<n; j++) 
{mas[i,j]=0; 
Console.Write(" "+ mas[i,j]); 
} 
Console.WriteLine(" "); 
}
Во-первых, i от 0 до n (не включительно), а не n+1.
И во-вторых, вы нулевые элементы выводите, а про остальные забыли.

Исправлено:
Код:
int n; 
			Console.WriteLine( " Vvedite razmer elementa n "); 
			n=Convert.ToInt32(Console.ReadLine()); 
			int [,] mas=new int[n,n]; 
			for (int i=0; i<n; i++) 
			{ 
				for(int j=0; j<n; j++) 
				{
					mas[i,j] =1;
					Console.Write(" " +mas[i,j]); 
				} 
			Console.WriteLine(" "); 
			} 
			Console.WriteLine(" "); 
			for(int i=0; i<n; i++) 
			{ 
				for(int j=0;j<=i;j++)
					Console.Write(" "+ mas[i,j]);
				for(int j=i+1; j<n; j++) 
				{
					mas[i,j]=0;
					Console.Write(" "+ mas[i,j]); 
				} 
				Console.WriteLine(" "); 
			} 
			Console.WriteLine(" ");
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.02.2009, 20:09   #3
dimmkka
 
Регистрация: 17.02.2009
Сообщений: 6
По умолчанию

Спасибо большое за помощь!
dimmkka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти ошибку в задаче на ПАскаль Анжелика Помощь студентам 3 16.01.2009 00:55
помогите пожалуйста найти ошибку в задаче! Fatality Помощь студентам 2 15.01.2009 16:22
помогите найти ошибку в задаче. Wia Помощь студентам 1 16.12.2008 19:15
помогите найти ошибку в задаче. Wia Помощь студентам 1 14.12.2008 17:19
Помогите найти ошибку в задаче Filosofijka Паскаль, Turbo Pascal, PascalABC.NET 34 04.12.2008 13:36