Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Michail97
93 / 40 / 23
Регистрация: 18.09.2016
Сообщений: 372
1

Фунция удаления столбца в матрице

09.04.2017, 17:58. Просмотров 306. Ответов 0
Метки нет (Все метки)

Проверьте, пожалуйста. правильно ли я перераспределил память для i - ой строки.
Для строк то всё ясно, а для столбца я впервые перераспределяю.
Сама функция:
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
void delete_column (int ***array, int *N, int *M) // функция удаления указанного столбца в целочисленной матрице
{
const int counter = 1;
  if( !*array )  { printf("\nNot created matrix\n"); return; }
   Bool flag = FALSE;
    int i, j;
    for( i = 0; i < *N; i++  )
        for( j = 0; j < *M; j++ )
            if( (*array)[i][j] == 0);
                    else  flag = TRUE;
      if( !flag ) { printf("\nYou must input matrix and then delete columns\n"); return; }
       int d; //  ввод номера столбца для удаления
       int k; // доп переменная для счётчика
printf("\nEnter number of column which you want to delete. First column has number zero: "); scanf("%d", &d);
        if( *M - 1 == d )
        {
            for( i = 0; i < *N; i++) (*array)[i] = ( int* )realloc( (*array)[i], sizeof(int)*(*M) - sizeof(int));
            *M = *M - counter;
        }
        else
        {
             for( i = 0; i < *N; i++ )
             for( j = d + 1, k = 0; k < *M - d - 1; j++, k++ )
                (*array)[i][j - 1] = (*array)[i][j];
                for( i = 0; i < *N; i++) (*array)[i] = ( int* )realloc( (*array)[i], sizeof(int)*(*M) - sizeof(int));
                 *M = *M - counter;
        }
     printf( "Your matrix is updated:\n" );
   for( i = 0; i < *N; i++ )
    {
        for( j = 0; j < *M; j++ )
        printf("%d  ", (*array)[i][j]);
    printf("\n");
    }
}
Вот эта строка
C
1
  for( i = 0; i < *N; i++) (*array)[i] = ( int* )realloc( (*array)[i], sizeof(int)*(*M) - sizeof(int));
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2017, 17:58
Ответы с готовыми решениями:

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

Поиск столбца с минимальным произведением в матрице
вот задачка: среди столбцов заданной целочисленной матрицы, содержащих только такие элементы,...

Удаление строки и столбца в матрице с использованием других матриц
Задача: сделать программу, удаляющую из матрицы строку с самым минимальным элементом и столбец с...

В матрице упорядочить элементы каждого столбца по возрастанию методом обмена
В матрице размером 10х12 упорядочить элементы каждого столбца по возрастанию методом обмена. С...

В матрице А[6][6] найти номер столбца, элементы, которого являются монотонной спадающей последовательностью
Гуглил - не нагуглил, смог только вывести матрицу #include &lt;stdio.h&gt; int main() { int a = {...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2017, 17:58

В заданной матрице найти среднее арифметическое каждого столбца, расположенного над главной диагональю
Срочно нужна помощь помогите пожалуйста, заранее благодарен:составьте программу вычисления среднего...

Определить максимальное значение в матрице и номер его столбца и строки. Почему не работает программа?
Дана матрица размером N*M. Напишите программу, определяющую максимальное значение в матрице и номер...

Фунция для редактирования txt-файлов
Доброго времини суток уважаемые програмисты. Помогите. Нужно написать функцию с помощью которой...


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

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

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