1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 77
1

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

08.05.2014, 20:46. Показов 1033. Ответов 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");
}
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2014, 20:46
Ответы с готовыми решениями:

Удалить из матрицы строку с минимальным произведением элементов
Ввести прямоугольную матрицу действительных чисел. Удалить из матрицы строку с минимальным...

Удалить из матрицы строку с минимальным значением произведения всех его элементов.
Ввести прямоугольную матрицу действительных чисел. Удалить из матрицы строку с минимальным...

Удалить из целочисленной квадратной матрицы строку с минимальным средним значением элементов
Доброго времени суток.. Помогите пожалуйста решить вот эту задачу,кажется вроде не сложная,но...

Поменять местами строку с максимальный элемент и строку с минимальным элементом матрицы
привет!я хотел бы попросить знающих людей написать программу на языке С!надо поменять местами рядок...

1
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
09.05.2014, 11:34 2
Лучший ответ Сообщение было отмечено AlexHolmes как решение

Решение

После 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++;
    }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2014, 11:34
Помогаю со студенческими работами здесь

Переставить местами строку матрицы с max элементом и строку с минимальным средним арифметическим
Здравствуйте. Помогите, пожалуйста, с написанием программы. Дан массив А(N,N). Переставить местами...

Сместить строку с минимальным элементом матрицы
Помогите пожалуйста, очень срочно надо, у самой ничего не выходит. Дана прямоугольная...

Исключить из матрицы строку с минимальным элементом
всем доброго времени суток! помогите, пожалуйста, решить 2 задачи. задачи простые, но я в ступоре,...

Найти строку матрицы С с минимальным коэффициентом
Помогите пожалуйста. Фулл код, если можно Даны две матрицы А и B (обе M x N). Нужно найтри строку...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru