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

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

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

Снова я со своей квадратной матрицей. - C++

26.03.2012, 22:10. Просмотров 382. Ответов 7
Метки нет (Все метки)

Вроде доделал программу, которая проверяет матрицу на латинский и магический квадрат:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
using namespace std;
int **mass = 0;
int n,i,j;
 
//Вводимо матрицю
int     **Matrix(int n)
{int **matr = new int *[n];
for (int i = 0; i < n; ++i)
matr[i] = new int [n];
for(int i = 0; i < n; i++)
{for(int j = 0; j < n; j++)
{cout << "\n Vvedit` element ryadka " <<i+1 <<" stovbcya " <<j+1 <<" : ";
cin >> matr[i][j];}}
return matr;}
 
//перегляд матриці
void output(int n)
{for(int i = 0; i < n; i++)
{for(int j = 0; j < n; j++)
{cout << mass[i][j] << "\t";}
cout << endl;}}
 
//перевірка на латинський квадрат
void lat (void)
{
int lat=0;
int summa=n*(n+1)/2;
for(int i = 0; i < n; i++)
{for(int j = 0; j < n; j++)
{if (mass[i][j]>n||mass[i][j]<1)
lat=1;} }
//сума рядків
for(int i = 0; i<n; ++i){
int sumr = 0;
for(int j = 0; j<n; ++j){
sumr += mass[i][j];}
if (summa!=sumr) lat=1;}
//сума стовбчиків
for(int j = 0; j<n; ++j){
int sums = 0;
for(int i = 0; i<n; ++i){
sums += mass[i][j];}
if (summa!=sums) lat=1;}
if (lat==1)
cout<<"Kvadrat ne latunskiy";
else cout<<"Kvadrat latunskiy";
}
 
//перевірка на магічний квадрат
void mag (void)
{
int lat=0;
int summa=(n*(pow(n,2)+1))/2;
for(int i = 0; i < n; i++)
{for(int j = 0; j < n; j++)
{if (mass[i][j]<1)
lat=1;} }
//сума рядків
for(int i = 0; i<n; ++i){
int sumr = 0;
for(int j = 0; j<n; ++j){
sumr += mass[i][j];
} if (summa!=sumr) lat=1;}
//сума стовбчиків
for(int j = 0; j<n; ++j){
int sums = 0;
for(int i = 0; i<n; ++i){
sums += mass[i][j];
}
if (summa!=sums) lat=1;}
//сума головної діагоналі
int gdio=0;
for(i=0;i<n;i++)
gdio+= mass[i][i];
if (summa!=gdio) lat=1;
//сума побічної діагоналі
int ddio=0;
for(i=0;i<n;i++)
ddio+= mass[i][n-i-1];
if (summa!=ddio) lat=1;
//перевірка
if (lat==1)
cout<<"Kvadrat ne magichniy";
else cout<<"Kvadrat magichniy";
}
 
//головна программа
void main()
{int r;
{mass = Matrix(n);
while (1)
{clrscr();
cout<<"Vvedit` matrucy 1\nPereglyad matruci 2\nLat 3\nMag 4\nVuxid 4\n\nVvedit` regum \n";
cin>>r;
switch (r)
{case 1:{
{for (int i = 0; i <n; i++)
delete [] mass[i];
delete [] mass;}
cout << "\n Vvedit` rozmirnist` : ";
cin >> n;
Matrix(n);break;}
case 2:{ output(n);break;}
case 3:{ lat();break;}
case 4:{ mag();break;}
case 5:exit(1);}
getch();
}}}
Только работает с матрицами, размерность которых меньше 4*4, если ввожу матрицу 4*4, то появляется ошибка, в чем проблема ?
Снова я со своей квадратной матрицей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2012, 22:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Снова я со своей квадратной матрицей. (C++):

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

Граф задается своей матрицей смежностей; вывести на экран матрицу инцидентности графа. - C++
Пожалуйста помогите с задачкой: Граф задается своей матрицей смежностей; вывести на экран матрицу инцидентности графа. Может я много...

Таблица футбольного чемпионата задана квадратной матрицей порядка N - C++
Привет, дана такая задача: Таблица футбольного чемпионата задана квадратной матрицей порядка N, в которой все элементы, принадлежащие...

Реализовать класс для работы с квадратной целочисленной матрицей - C++
1) Составить описание класса для работы с квадратной целочисленной матрицей. Обязательные функции-члены класса для ввода/вывода ...

Граф задается своей матрицей смежностей вывести на экране окружения каждой его вершины - C++
Привет, ребят! Прошу Очень помочь! Граф задается своей матрицей смежностей. Вывести на экране окружения каждой его вершины. ...

Составить описание класса для работы с квадратной целочисленной матрицей - C++
Здравствуйте! Помогите, пожалуйста, написать при объектно-ориентированном подходе программу: составить описание класса для работы с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
26.03.2012, 22:13 #2
Явно напортачил с указателями или выделением памяти.
То ли за границы массива выходишь, то ли вообще, где-то указатель на невыделенную память указывает.
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
26.03.2012, 22:43  [ТС] #3
Пересмотрел уже раз 20, не могу найти в чем проблема(
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
31.03.2012, 13:20  [ТС] #4
Апну тему, так и не разобрался в чем проблема
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.03.2012, 13:31 #5
Код отформатирован ужасно.
Ошибка тут
Цитата Сообщение от wildfires Посмотреть сообщение
cin >> n;
Matrix(n);break;}
wildfires
1 / 1 / 0
Регистрация: 09.01.2012
Сообщений: 114
31.03.2012, 13:41  [ТС] #6
soon, а в чем там проблема, я просто хотел, что бы при нажатие 1 мы создавали новую матрицу, при этом удаляли старую и могли выбрать новую размерность матрицы
TwiX
60 / 60 / 1
Регистрация: 27.10.2011
Сообщений: 189
31.03.2012, 13:56 #7
Цитата Сообщение от wildfires Посмотреть сообщение
а в чем там проблема
C++
1
2
cin >> n;
mass=Matrix(n);break;}
Avazart
Эксперт С++
7152 / 5329 / 278
Регистрация: 10.12.2010
Сообщений: 23,584
Записей в блоге: 17
31.03.2012, 14:18 #8
wildfires Ищи ошибки ставя брекпоинты и трассируя пошагово
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 14:18
Привет! Вот еще темы с ответами:

Выполнить над квадратной матрицей А порядка n последовательность действий, указанную в задании - C++
Нужна помощь народ ! Мне задали в универе такую батву аш волосы дыбом . В С++ я полный нуль так что если можно прокомментируте прогу ...

Программа с использованием функции. По заданной квадратной матрицей розмиолм 10х10 построить вектор длиной 19 - C++
По заданной квадратной матрицей розмиолм 10х10 построить вектор длиной 19, элементы которого максимумы элементов диагоналей равнобежных...

По заданной квадратной матрице из нулей и единиц определите, может ли данная матрица быть матрицей смежности простого неориентированного графа - C++
помогите решить вот такую задачу пожалуйста(( По заданной квадратной матрице n*n из нулей и единиц определите, может ли данная матрица...

Создать файл с квадратной матрицей; чётные элементы переместить в один файл, нечётные - в другой - C++
• Создать файл с массивом А. • Четные элементы переместить в файл А • Нечетные элементы переместить в файл В Не могу понять Как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.03.2012, 14:18
Ответ Создать тему
Опции темы

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