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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2015, 17:18   #1
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию с++ Матрица

Дана квадратная матрица.Найти сумму элементов этой матрицы сумму элементов главной диагонали сумму элементов побочной сумму элементов некоторой строкию.
Код:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
	setlocale(LC_ALL,"Russian"); 
	const int n=3;
	int s=0,t=0,z=0,y=0;
	int a[n][n];
	srand(time(NULL));
	for (int i=1;i<=n;i++)
	{
	for (int j=1;j<=n;j++) 
	{
		a[i][j]=rand()%20-10;
		
		cout<<"   "<<a[i][j]<<"   ";
		
	}	
	cout<<"\r\n";
}
cout<<"\r\n";
cout<<"\r\n";

for (int i=1; i<=n; i++) 
for (int j=1; j<=n; j++) {
	if (i==j) s+=a[i][j];

}
 cout<<"сумма элементов главной диагонали"<<s<<endl;
  
 for (int i=1; i<=n; i++) 
t+=a[i][n+1-i];
  cout<<" сумма элементов побочной диагонали"<<t<<endl;
  cout<<"введите номер строки";
  cin>>z;
  for (int j=1; j<=n; j++) 
  {
  y+=a[z][j];
    cout<<"сумма элементов"<<" ="<<y<<endl; } 
   system("PAUSE");
	return 0;
}
при вычислении суммы второй строки происходит ошибочное вычисление. В чем ошибка непонимаю.

Последний раз редактировалось Stilet; 06.01.2015 в 17:58.
Андрей199 вне форума Ответить с цитированием
Старый 06.01.2015, 18:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
	setlocale(LC_ALL,"Russian"); 
	const int n=3;
	int k,s=0,t=0,z=0,y=0;
	int a[n][n];
	srand(time(NULL));
  cout<<"введите номер строки";
  cin>>z;
	for (int i=1;i<=n;i++)
	{
	for (int j=1;j<=n;j++) 
	{
		a[i][j]=rand()%20-10;
		s+=a[i][j]; //Сумма элементов
                t+=(j==i)?a[i][j]:0; //Главдиагональ
                k+=(n-i==j)?a[i][j]:0;  //Допдиагональ
                y+=(i==z)?a[i][j]:0;  //Некая строка
		cout<<"   "<<a[i][j]<<"   ";
		
	}	
	cout<<"\r\n";
}
cout<<"\r\n\r\n";

 cout<<"сумма элементов главной диагонали"<<t<<endl;
 cout<<" сумма элементов побочной диагонали"<<k<<endl;
 cout<<"сумма элементов"<<" ="<<s<<endl;
 cout<<"сумма элементов некой строки="<<y<<endl;

 system("PAUSE");
 return 0;
}
Годится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 18:41   #3
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию

http://programmersforum.ru/images/10...tor/attach.gif

Как-то компилируется интересно
Изображения
Тип файла: jpg Снимок.jpg (19.6 Кб, 111 просмотров)
Андрей199 вне форума Ответить с цитированием
Старый 06.01.2015, 18:43   #4
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию

вроде матрица размером 3 на 3
Андрей199 вне форума Ответить с цитированием
Старый 06.01.2015, 18:49   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Циклы неверные. Должны начинаться с нуля и в условии равно убери.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 19:30   #6
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию

о, всё работает только допдиагональ вычисляет неправильно
Андрей199 вне форума Ответить с цитированием
Старый 06.01.2015, 19:40   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наверное -1 нужно было дописать..
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 19:42   #8
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию

Спасибо всё работает

Последний раз редактировалось Андрей199; 06.01.2015 в 19:48.
Андрей199 вне форума Ответить с цитированием
Старый 06.01.2015, 19:47   #9
Андрей199
Пользователь
 
Регистрация: 06.01.2015
Сообщений: 18
По умолчанию

Спасибо всё работает
Андрей199 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
Матрица Максикок Помощь студентам 0 08.06.2011 18:11
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица elya88 Помощь студентам 10 01.02.2010 16:33
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11