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

Устал искать баг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка файов регулярными выражениями. http://www.cyberforum.ru/cpp/thread338680.html
Задайте верное направление. Исходная задача. Необходимо обработать текстовый файл "умным образом". Где то достаточно просто замены "А" на "Б"; где то необходимы регулярные выражения (например, дату из формата dd.mm.YYYY в YYYY-mm-dd) и т.п. Соответственно полгаю использовать регулярные выражения и boost. Думаю хранить пары "рег.выражение"/"на что заменять" хранить в текстовом файле, затем...
C++ Выбор технологии Всем привет! У меня такой вопрос Вот я сейчас работаю в компании, которая занимается разработкой ПО на С++ Начал разработку проекта Про технологию речи не шло, я скачал много учебников (имею небогатый опыт прогарммирования на С++, и в учебниках есть необходимость) Так уж получилось, что почти во всех учебниках, которые я скачал, и которые затрагивают Visual C++, речь идёт об MFC Поэтому... http://www.cyberforum.ru/cpp/thread338604.html
RxGifAnimator C++
Всем привет дайте мне кто нибудь файл RxGifAnimator для С Добавлено через 10 секунд кому не жалко
Работа с pdf в Cairo. C++
Помогите разобраться с выводом графики в pdf. Английский не знаю. Очень трудно читать буржуйские мануалы, 3 день парюсь. Самый важный вопрос: Какая функция начинает вторую страницу pdf??? Менее важные: Как допустим открыть pdf и не удаляя его, продолжить на нем рисовать?? Добавлено через 1 час 21 минуту
C++ При запуске консоль не поддерживается http://www.cyberforum.ru/cpp/thread338400.html
Добрый день. Есть такая проблема, прога работает нормально но одно диалоговое окно задолбало(извините...)... При запуске прилрожения выскакивает: Диалоговое окно "WARNING" Selected console type is not supported in your configuration, using External terminal instead Типа консоль не поддерживается в данной конфигурации...а так прога запускается и работает, помогите исправить если конечно...
C++ сс3260mt.dll Билдер пишет, что на компе нет сс3260mt.dll и упорно отказывается запускать мои проги. Я скачал эту библиотеку, в какую папку её пихать? подробнее

Показать сообщение отдельно
voral
394 / 374 / 50
Регистрация: 16.03.2008
Сообщений: 1,867
03.08.2011, 18:11     Устал искать баг
Как вариант:
1. Обходим матрицу. Двигаемся только по диагонали. Если встречаем 0. Уменьшаем счетчик столбцов/строк
2. Выделяем память под новую матрицу с размерами согласно текущему полученному счетчику строк/столбцов
3. Опять идем по матрице (по диагонали) и копируем во вторую только то, что нужно (т.е. если элемент в диагонали не равен 0)

Добавлено через 1 минуту
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
for(int i = 0,j; i < m; i++)
j -здесь зачем?

Добавлено через 6 минут
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
C++
1
2
for(j = i; j < m - 1; j++) 
memcpy((void *)&a[j],(void *)&a[j + 1],m);
Здесь, как я понял, вы сдивгаете строку. Т.е. согласно рисунку 5 ячеек начина с ячейки со значением "8".. Т.е. на последней строке вы вылетаете за пределы. К томуже еще перебиваете первые ячеки следующей строки (если текущая не последняя)

Добавлено через 4 минуты
К тому же у вас m не изменяется, а элементы сдвигаются

Добавлено через 8 минут
C++
1
for(j = 0; j < m; j++)
Тут тоже вроде нужно не до m, а до i

Добавлено через 10 минут
Стоп. у вас же double..... А последний параметр memcpy размер в байтах. нет?

Добавлено через 6 минут
Не проверял. Но вроде так. (Это как я понял ваш алгоритм только без memcpy). Но нужно еще освободить память. Или просто возвращать новый размер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void compress(int m, double **a, double *b)
{
    for(int i = 0,j; i < m; i++)
    {
        if(a[i][i] == 0)
        {
            for(j = i; j < m - 1; ++j)
                for(k=0;k<m;++k)
                    a[j][k]=a[j+1][k];
            for(j = i; j < m - 1; ++j)
                for(k=0;k<m;++k)
                    a[j][k]=a[j][k+1];
            --m;
        }
    }
}
Добавлено через 1 минуту
Ах да. Наверно надо в 15 строку вставить
C++
1
--i;
т.к. еперь на этом месте еще не проверенный элеент
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru