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

Удаление нулевой(-ых) строчки и столбца из матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оператор xor http://www.cyberforum.ru/cpp-beginners/thread629687.html
Всем добрый вечер.Чем отличаются следующие выражения: (a || b) && !(a && b); и (a^b);
C++ Лафоре задача по классам Задача из книги лафоре по классам №7: нужно написать программу используя классы для ввода и вывода координат, кроме того нужно написать конструктор который будет принимать 3 аргумента и написать функцию main которая будет создавать переменную с помощью трёхаргументного конструктора и будет выводить её значение на экран а затем циклически запрашивает ввод координат и после их выводит. Собственно... http://www.cyberforum.ru/cpp-beginners/thread629686.html
C++ Не удается найти ошибку
Линкер ругается (2001) на не разрешенный внешний символ, гуглил но не втыкнул из-за чего конкретно он выдает эту ошибку.Вот код: //заголовок #ifndef SAVINGSACCOUNT_H #define SAVINGSACCOUNT_H class SavingsAccount{ public: SavingsAccount(int = 0);
Таймеры C++
Здравствуйте, скажите какие есть готовые таймеры? Пользовался поиском, нашел только winapi и простую библиотеку time.h, только почему то используя функцию clock() у меня выводится результат = 0 :scratch:. . Rdtsc - выводит точный результат совершенных тактов? #include <time.h> #include <intrin.h> #pragma intrinsic(__rdtsc) unsigned __int64 rdtsc(){ return __rdtsc(); }
C++ Применение http://www.cyberforum.ru/cpp-beginners/thread629640.html
Возможно вы посчитаете данный вопрос глупым. Но я его задам. Где можно применять C++ и C программисту, при этом не используя GUI? И возможно-ли потом к определенной программе без GUI прикрутить GUI?
C++ Автоматическое выведение типа У С. Прата встретил вот такой непонятный код const double *f2(const double arr, int n) { return arr; } int main() { auto p2 = f2; // Автоматическое выведение типа С++11 подробнее

Показать сообщение отдельно
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
27.07.2012, 21:53     Удаление нулевой(-ых) строчки и столбца из матрицы
Что то вроде этого.
Не компиллил. Возможны небольшие баги. Но вроде - верно.
Оформил процедуру для строк. Для столбцов - попробуйте сами по аналогии.
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
48
49
50
51
52
53
54
55
56
    // Ввод данных
    // ...
    
    // Непосредственная обработка
    
    // Сначала - идем по строкам
    int *buf = new int(colCount);   // Массив нулевых строк
    int currentBufIndex = 0;
    for (int i = 0; i < rowCount; i++)
    {
        bool b = true;
        for (int j = 0; j < colCount; j++)
        {
            if (matr[i][j] != 0)
            {
                b = false;
                break;
            }
        }
        if (b == true)
        {
            // i - ая строка - нулевая
            // Занесем ее в массив для удаления
            buf[currentBufIndex] = i;
            currentBufIndex++;
        }
    }
    
    // Непосредственное удаление
    int currentBufIndex_1 = 0;
    int lineOffset = 0;
    for (int i = 0; i < rowCount - currentBufIndex; i++)
    {
        // Сдвигаемся построчно вверх
        if (i == buf[currentBufIndex_1])
        {
            // Увеличиваем счетчик сдвига
            lineOffset++;
            // Сдвигаемся к следующему элементу массива
            currentBufIndex_1++;
        } else {
            // Текущая строка - значимая
            // => сдвигаемся
            for (int j = 0; j < colCount; j++)
            {
                matr[i - lineOffset][j] = matr[i][j];
            }
        }
    }
    // Все сдвиги - произведены. Уменьшаем число строк
    rowCount -= currentBufIndex;
    
    delete buf;
    
    // Аналогично - со строками.
    // ...
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru