Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

08.05.2014, 20:46. Просмотров 197. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 20:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить строку с минимальным производным из матрицы (C++):

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

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

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

Поменять местами строку матрицы с максимальным и минимальным элементом - C++
Проблема такова: программа меняет местами строку с максимальным и минимальным элементом. Когда я пытаюсь присвоить минимальному и...

Строку матрицы с минимальным элементом поменять со строкой с максимальным - C++
не получается поменять местами строку в которой находится минимальный элемент на строку в которой находится максимальный элемент....

Поменять местами строку с максимальным и минимальным элементом матрицы - C++
Задана матрица размером NxN. Поменять местами строку с максимальным элементом матрицы и строку с минимальным эле-ментом.

1
nmcf
6194 / 5505 / 1927
Регистрация: 14.04.2014
Сообщений: 23,108
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++;
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 11:34
Привет! Вот еще темы с ответами:

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Удалить строку матрицы - C++
Ввести матрицу размерности m х n и число k. Удалить k строку с матрицы. Вывести исходную и полученную матрицы.

Удалить из матрицы строку и столбец - C++
Привет всем ,помогите пожалуйста написать программу : Заранее спасибо всем. Добавлено через 11 часов 45 минут Никто не...

Удалить строку матрицы с номером К - C++
ПЛЗ оч прошу, помогите :wall: :help: 4 задачи, надо написать на С 1) - Дана матрица размера M x N и целое число K ( 1&lt;=K&lt;=M)....


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

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

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