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

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

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

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

26.03.2012, 22:10. Просмотров 380. Ответов 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++
Дана целочисленная квадратная матрица NxN определить: 1)Cумму элементов в тех столбцах,которые не содержат отрицательных элементов.( у...

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 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;}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 14:18     Снова я со своей квадратной матрицей.
Еще ссылки по теме:

Программа с матрицей - C++
Помогите не получается. Дан массив целых чисел, проверить, верно ли, что сумма элементов, значение которых меньше 5, не превышает 10. ...

и снова С++ - C++
помогите записать програмку которая сможет написать минимальное количество простых присваиваний, содержащих по одному умножению (без...

Работа с динамической матрицей - C++
Всем доброго времени суток, проблема заключается в том, что я ввожу значения в матрицу, а когда пытаюсь их обработать или просто вывести на...

не могу разобраться с матрицей. - C++
Здравствуйте. Дело в том что я лох в программировании На C++ и нужна помощь с задачей. Задача: Дана матрица А(4,3) 1. Найти...


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

Или воспользуйтесь поиском по форуму:
Avazart
Эксперт С++
7115 / 5292 / 273
Регистрация: 10.12.2010
Сообщений: 23,386
Записей в блоге: 17
31.03.2012, 14:18     Снова я со своей квадратной матрицей. #8
wildfires Ищи ошибки ставя брекпоинты и трассируя пошагово
Yandex
Объявления
31.03.2012, 14:18     Снова я со своей квадратной матрицей.
Ответ Создать тему
Опции темы

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