Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2014, 22:02   #1
Dumbl-D
Пользователь
 
Регистрация: 25.11.2013
Сообщений: 26
Вопрос Удалить строку с минимальным производным из матрицы C++

Доброго времени суток!
Возникла проблема...
Нужно из квадратной матрицы А сформировать матрицу В, исключив из нее строку с минимальным производным.
Все, вроде бы, нормально кроме последнего пункта. Не совсем понимаю, как исключать строку матрицы в таком случаи. Пожалуйста, подскажите, что изменить в коде или же подтолкните на мысль. Очень нуждаюсь в помощи))

Код:
#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");
                }
}
Dumbl-D вне форума Ответить с цитированием
Старый 12.05.2014, 20:00   #2
PACTBOP_KOBAPEH
 
Регистрация: 12.05.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Dumbl-D Посмотреть сообщение
Доброго времени суток!
Возникла проблема...
Нужно из квадратной матрицы А сформировать матрицу В, исключив из нее строку с минимальным производным.
Все, вроде бы, нормально кроме последнего пункта. Не совсем понимаю, как исключать строку матрицы в таком случаи. Пожалуйста, подскажите, что изменить в коде или же подтолкните на мысль. Очень нуждаюсь в помощи))
Надо копировать из одной матрицы в другую все строки, кроме одной. В чем проблема? Вот примерный код:

Код:
double matrix_a[LINES][COLUMNS];
double matrix_b[LINES - 1][COLUMNS];

void copy_matrix(int excluded_line)
{
    int cur_line_of_matrix_b = 0;
    for( int i = 0; i < LINES; ++i ) {
        if( i != excluded_line ) {
            for( int j = 0; j < COLUMNS; ++j ) {
                matrix_b[cur_line_of_matrix_b][j] = matrix_a[i][j];
            }
            ++cur_line_of_matrix_b;
        }
    }
}
PACTBOP_KOBAPEH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27
Удалить элементы в массиве, стоящие между максимальным и минимальным элементами Tkas Помощь студентам 0 04.03.2012 16:50
Дана матрица размера MxN и целое число К(1<K<M). Удалить строку матрицы с номером К bolshe_ne_RUS Паскаль, Turbo Pascal, PascalABC.NET 6 14.06.2011 16:26
Как удалить строку из матрицы? Klik_1602 Помощь студентам 13 12.01.2011 17:31
Поменять местами строку с минимальным и максимальным элементами deathz0r Помощь студентам 0 05.06.2010 17:33