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

Удалить строку с минимальным производным из матрицы - C++

Восстановить пароль Регистрация
 
AlexHolmes
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
08.05.2014, 20:46     Удалить строку с минимальным производным из матрицы #1
Доброго времени суток!
Возникла проблема...
Нужно из квадратной матрицы А сформировать матрицу В, исключив из нее строку с минимальным производным.
Все, вроде бы, нормально кроме последнего пункта. Не совсем понимаю, как исключать строку матрицы в таком случаи. Пожалуйста, подскажите, что изменить в коде или же подтолкните на мысль. Очень нуждаюсь в помощи))

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
#include <stdio.h>
#include <math.h>
 
main()
{
int n = 4;
int i,j, min, k, m;
float dob[4];
int A[4][4], B[3][4];
for(i = 0; i < n; i++)
{
     for(j = 0; j < n; j++)
     {
        scanf("%d",&A[i][j]);
        printf("%d\t  ",A[i][j]);
     }
     printf("\n");
}
    for(i = 0; i < n; i++)
   {
    dob[i]=1;
        for( j = 0; j < n; j++)
          dob[i]*=A[i][j];
          printf("Dobutok stroki %d =%.0f\n",i,dob[i]);
   }
     min=dob[0];
     for(i = 1; i < n; i++)
       if  ( dob[i]<min)
       {
        min=dob[i]; k=i; 
        }
        printf("min=%d  k=%d\n",min, k);
        for(i = 0; i < n; i++)
          for(j = 0; j < n; j++)
             if(i>=k)
             A[i][j]=A[i+1][j];
               for(i = 0; i < n; i++)
               {
           m=0;
                  for(j = 0; j < n; j++)
                  if(i!=k)
                  B[i][m]=A[i][j];
                  m++;
                printf("%d\t  ",A[i][j]);
        printf("\n");
                }
}
Добавлено через 2 часа 14 минут
Есть еще такой вариант.. но он какой-то искусственный. Хотелось бы все же разобраться как делать это автоматически.

C++ (Qt)
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
#include <stdio.h>
#include <math.h>
main()
{
int n = 4;
int i,j, min, k, m;
float dob[4];
int A[4][4], B[3][4];
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
scanf("%d",&A[i][j]);
printf("%d \t ",A[i][j]);
}
printf("\n");
}
for(i = 0; i < n; i++)
{
dob[i]=1;
for( j = 0; j < n; j++)
dob[i]*=A[i][j];
printf("Dobutok stroki %d =%.0f\n",i,dob[i]);
}
min=dob[0];
for(i = 1; i < n; i++)
if ( dob[i]<min)
{min=dob[i]; k=i; }
printf("min=%d k=%d\n",min, k);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(i!=k)
B[i][j]=A[i][j];
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
if(B[i][j!=0])
printf("%d \t ",B[i][j]);
printf("\n");
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 20:46     Удалить строку с минимальным производным из матрицы
Посмотрите здесь:

Поменять местами строку с максимальный элемент и строку с минимальным элементом матрицы C++
C++ Из заданной матрицы удалить строку и столбцы
C++ Сместить строку с минимальным элементом матрицы
Удалить из целочисленной квадратной матрицы строку с минимальным средним значением элементов C++
Удалить из матрицы строку и столбец C++
Поменять местами строку с максимальным и минимальным элементом матрицы C++
Удалить строку матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4281 / 3712 / 1247
Регистрация: 14.04.2014
Сообщений: 14,516
09.05.2014, 11:34     Удалить строку с минимальным производным из матрицы #2
После 26 строки добавить
C++
1
k = 0;
Вот создание матрицы B
C++
1
2
3
4
5
6
7
m = 0;
for(i = 0; i < n; i++)
    if(i != k)
    {
        for(j = 0; j < n; j++) B[m][j] = A[i][j];
        m++;
    }
Yandex
Объявления
09.05.2014, 11:34     Удалить строку с минимальным производным из матрицы
Ответ Создать тему
Опции темы

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