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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2011, 20:57   #1
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию С++ симметричная матрица

легкая задачка только
подскжите плз,как правильно вывести ответ, чтобы он не повторялся?
можно ведь добавить return 0, я так сделала, но ответ вообще не выводится....
Код:
#include <iostream>
using namespace std;

	int main()
	{
	
			int n;
			cin>>n;
			int a[n][n];
			for (int i=0; i<n; i++)
			for (int j=0; j<n; j++)
			cin>> a[i][j];
	
	      	for (int i=0; i<n; i++)
	      	{
					for (int j=0; j<n; j++)
					{
						if (a[i][j]!=a[j][i]) cout<<"no";
						  return 0;
					
					}
		       
		      }
	          cout<<"yes";
	return 0;
	}
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 06.02.2011, 21:08   #2
alex_8
Пользователь
 
Регистрация: 18.10.2009
Сообщений: 30
По умолчанию

Напишите пожалуйста полностью задачу.
ICQ 422605533
alex_8 вне форума Ответить с цитированием
Старый 06.02.2011, 21:37   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

На вскидку
Код:
if (a[i][j]!=a[j][i]) {cout<<"no"; return 0;}
И сразу - если программа вылетает, то делаем паузу любым известным способом, например, getchar(); перед return'ом (#include <stdio.h>)
eoln вне форума Ответить с цитированием
Старый 06.02.2011, 21:39   #4
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

Проверьте, является ли массив симметричным относительно главной диагонали.
Формат входных данных

Программа получает на вход число n, являющееся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по n чисел, являющихся элементами массива.
Формат выходных данных
Программа должна выводить слово yes для симметричного массива и слово no для несимметричного.

Код:
Ввод

3
0 1 2
1 2 3
2 3 4

Вывод
 yes
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 06.02.2011, 21:39   #5
0479
Форумчанин
 
Аватар для 0479
 
Регистрация: 27.09.2009
Сообщений: 153
По умолчанию

Я как понял это проверка симметричности.Вроди вот так.

Код:
#include <iostream>

using namespace std;
int main()
{
int n;
cin>>n;
int a[n][n];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
cin>> a[i][j];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
if (a[i][j]!=a[j][i]) {cout<<"no";
return 0;}
cout<<"yes";
}

Последний раз редактировалось 0479; 06.02.2011 в 21:42.
0479 вне форума Ответить с цитированием
Старый 06.02.2011, 21:42   #6
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

eoln, ага, точно) спасибо!
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Старый 06.02.2011, 21:49   #7
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

Цитата:
Сообщение от 0479 Посмотреть сообщение
Я как понял это проверка симметричности.Вроди вот так.
да, спасибо, нашла ошибку)
можно тут же еще вопрос,

Напишите программу, которая определяет, есть ли в данном массиве два соседних элемента с одинаковыми знаками.
Программа должна вывести YES, если есть два соседних элемента с одинаковыми знаками, и NO – иначе.

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

	int main()
	{
		int n, k=0;
		cin>>n;
		int a[n];

		for (int i=0; i<n; i++)
		cin>>a[i];
	
		for (int i=2; i<n-1; i++)
		{
			if ((a[i]>0 && a[i-1]>0) || (a[i]<0 && a[i-1]<0))
			{
			    cout<<"YES";
			    return 0;
		        }
			
		}
	  	   cout<<"NO"; 
  	   	
		  	 return 0;
   }
постоянно выходит NO
I'm a rebel. [I think positively].

Последний раз редактировалось Guzal; 06.02.2011 в 21:51.
Guzal вне форума Ответить с цитированием
Старый 06.02.2011, 21:55   #8
0479
Форумчанин
 
Аватар для 0479
 
Регистрация: 27.09.2009
Сообщений: 153
По умолчанию

Код:
for (int i=0; i<n-1; i++)
{
if ((a[i]>0 && a[i+1]>0) || (a[i]<0 && a[i+1]<0)
0479 вне форума Ответить с цитированием
Старый 06.02.2011, 22:01   #9
Guzal
Форумчанин
 
Аватар для Guzal
 
Регистрация: 11.09.2010
Сообщений: 101
По умолчанию

то что нужно)спасибо!
I'm a rebel. [I think positively].
Guzal вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
матрица в 1С Steisha Помощь студентам 0 27.02.2010 15:08
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
Матрица (Си) ManInBlack Помощь студентам 3 13.01.2009 13:43