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

квадратная матрица порядка n - C++

Восстановить пароль Регистрация
 
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
31.03.2012, 18:47     квадратная матрица порядка n #1
Дана целочисленная квадратная матрица порядка n. Удалить из нее строку и столбец, на пересечении которых находится максимальный элемент (считаем, что он один).
в этой программе они просто выводятся.как сделать ,чтобы они удалялись?
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
#include <iostream.h>
#include <stdlib.h>
int n,I,j;
int main()
{
cout<<”n=;
cin>>n;
int **mass=new int *[n];
int max,imax=0,jmax=0;
for (i=0;i<n;i++)
mass[i]=new int[n];
cout<<”\n Matrix:\n”;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
mass[i][j]=rand()%10;
cout<<” “<<mass[i][j];
}
cout<<endl;
}
max=mass[0][0];
imax=0;
jmax=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if (max<mas[i][j])
{
max=mass[i][j];
imax=I;
jmax=j;
}
cout<<”\n max=<<max;
cout<<”\n new matrix:\n”;
for (i=0;i<n;i++)
{
for(j=0;j<n;j++)
if (i!=imax)
if(j!=jmax)
cout<< “ “<<mass[i][j];
cout<<endl;
}
for (i=0;i<n;i++)
delete [] mass[i];
delete [] mass;
system (“pause”);
cin.get();
cin.get();
}
Добавлено через 11 минут
помогитеразобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DoZZer_
11 / 11 / 1
Регистрация: 09.08.2011
Сообщений: 53
31.03.2012, 18:57     квадратная матрица порядка n #2
Не совсем понял, что вы имеете в виду. Вам требуется, чтобы значения удалялись в самом массиве, а не просто не выводились, я правильно понял?
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
31.03.2012, 19:06  [ТС]     квадратная матрица порядка n #3
да,именно так
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.03.2012, 19:06     квадратная матрица порядка n #4
Что значит удалялись?
1. Стали равны нулю
2. Ихнее место заняли элементы снизу и справа ( то есть смещение эл-тов)
3. Что бы был сгенерирован новый массив без этих элементов
4. ...
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
31.03.2012, 19:17  [ТС]     квадратная матрица порядка n #5
сгенерирован новый массив без этих элементов.
solyar
31.03.2012, 20:35
  #6

Не по теме:

Avazart,

Цитата Сообщение от Avazart Посмотреть сообщение
Ихнее
? Просьба выучите русский язык, это личная просьба...

elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
31.03.2012, 20:44  [ТС]     квадратная матрица порядка n #7
может кто-нибудь помочь?
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.03.2012, 20:46     квадратная матрица порядка n #8
Вот что на скорую руку получилось
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
//------------------------------------------------------------------
void generate(int **mass,unsigned size)
{
for (unsigned i=0;i<size;i++)
 for (unsigned j=0;j<size;j++) mass[i][j]=rand()%10;
}
//----------------------------------------------------------------
void print(int **mass,unsigned size)
{
cout<<endl<<" Matrix:"<<endl;
for (unsigned i=0;i<size;i++)
 {
  for (unsigned j=0;j<size;j++)cout<<" "<<mass[i][j];
  cout<<endl;
 }
}
//-----------------------------------------------------------------
void del(int **mass,unsigned size)
{
for (unsigned i=0;i<size;i++) delete[] mass[i];
}
//--------------------------------------------------------------
void max(int** mass,unsigned size,unsigned &col,unsigned &row)
{
 int max_value=mass[0][0];
 for (unsigned i=0;i<size;i++)
  for (unsigned j=0;j<size;j++)
   if(mass[i][j]>max_value)
   {
    max_value= mass[i][j];
    row=i;col=j;
   }
}
//--------------------------------------------------------------
int** minor(int** mass,unsigned size,unsigned col,unsigned row)
{
int **new_mass=new int *[size-1];
unsigned a=0,b=0;
 for(unsigned i=0;i<size;i++)
  {
   b=0;
   if(i==row) continue;
   new_mass[a]=new int[size-1];
   for(unsigned j=0;j<size;j++)
    {
     if(j==col) continue;
     new_mass[a][b]= mass[i][j];
     b++;
    }
  a++;
  }
return new_mass;
}
//------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
const int n=5;
int **mass=new int *[n];
for (int i=0;i<n;i++) mass[i]=new int[n];
 
generate(mass,n);
print(mass,n);
 
cout<<endl;
 
unsigned c,r;
 
max(mass,n,c,r);
 
int **new_mass = minor(mass,n,c,r);
 
print(new_mass,n-1);
 
del(mass,n);
del(new_mass,n-1);
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
31.03.2012, 20:52  [ТС]     квадратная матрица порядка n #9
без функций нужно
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
31.03.2012, 21:15     квадратная матрица порядка n #10
Тогда:
Добавлено через 21 минуту
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
int n,i,j;
//------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"n= ";
cin>>n;
int **mass=new int *[n];
int max,imax=0,jmax=0;
for (i=0;i<n;i++)  mass[i]=new int[n];
 
cout<<"\n Matrix:\n";
for (i=0;i<n;i++)
 {
  for (j=0;j<n;j++)
   {
   mass[i][j]=rand()%10;
   cout<<" "<<mass[i][j];
   }
  cout<<endl;
 }
 
max=mass[0][0];
imax=0;
jmax=0;
 
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
 if (max<mass[i][j])
 {
  max=mass[i][j];
  imax=i;
  jmax=j;
 }
 
int **new_mass=new int *[n-1];
unsigned a=0,b=0;
 for(unsigned i=0;i<n;i++)
  {
   b=0;
   if(i==imax) continue;
   new_mass[a]=new int[n-1];
   for(unsigned j=0;j<n;j++)
    {
     if(j==jmax) continue;
     new_mass[a][b]= mass[i][j];
     b++;
    }
  a++;
  }
 
cout<<"\n max= "<<max;
cout<<"\nNew Matrix:\n";
for (i=0;i<n-1;i++)
 {
 for (j=0;j<n-1;j++) cout<<" "<<new_mass[i][j];
 cout<<endl;
 }
 
for (i=0;i<n;i++) delete [] mass[i];
for (i=0;i<n-1;i++) delete [] new_mass[i];
 
delete [] mass;
delete [] new_mass;
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
08.05.2012, 19:38  [ТС]     квадратная матрица порядка n #11
преподаватель говорит, что программа не удаляет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 20:23     квадратная матрица порядка n
Еще ссылки по теме:

C++ Дана квадратная матрица A порядка M.
Квадратная матрица n - го порядка по образцу C++
C++ Дана действительная квадратная матрица порядка n

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
08.05.2012, 20:23     квадратная матрица порядка n #12
Что не удаляет?
Как надо что б было?
Yandex
Объявления
08.05.2012, 20:23     квадратная матрица порядка n
Ответ Создать тему
Опции темы

Текущее время: 23:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru