Вопросы и ответы по программированию.

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Deus_Ex_Machina
Капитан
Капитан
Сообщения: 492
Зарегистрирован: 23.05.2010
Благодарил (а): 14 раз
Поблагодарили: 43 раза
Контактная информация:

#61 Сообщение 05.03.2011, 19:50

Таки мы пришли к выводу, что важен мозг, а не язык, с которого начинать, не так ли?

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#62 Сообщение 30.03.2011, 19:50

Как в linux в консольном приложении переместить курсор(точнее указать чтобы cout выводил именно в этом месте) на позицию XY?(надо дерево красиво вывести)
Последний раз редактировалось GanGSISoft 30.03.2011, 19:53, всего редактировалось 1 раз.

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#63 Сообщение 30.03.2011, 21:35

ищи реализацию gotoxy на си, либо используй curses/ncurses.
Ну, есть вариант проще.. вывести нужное количество пробелов. Я даже функцию как-то писал, выравнивающую текст
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#64 Сообщение 30.03.2011, 22:38

Ну, есть вариант проще.. вывести нужное количество пробелов. Я даже функцию как-то писал, выравнивающую текст
Я так хотел сделать, но сам так и не соображу до конца. У меня дерево и выводится рекурсивно, и так не сделаешь(тоесть оно в нгачаде выводит все правые ветки, потом начинает лазить по левым), однако можно же загнать него в масив но всёравно чёто не соображу до конца. Хотя идеи появляются, спасибо, попробую какнибудь сделать.

Добавлено спустя 24 минуты 7 секунд:
Сделал кое как вывод, криво, но более менея понятно, и без масива.
Спасибо за ответы

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#65 Сообщение 17.04.2011, 16:57

Нету ли в Linux стандартной функции, чтобы она в строке перед всякими символами типа кавычки,пробел,скобки и другими ставила символ '\', чтобы можно было например путь передать в какую нибудь консольную программу.
Написал сам такую, но время от времени выясняется что какой-то символ упустил. Думаю функция полезная, и может есть в стандартных библиотеках

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#66 Сообщение 17.04.2011, 17:01

Погугли аналог addslashes из PHP или просто посмотри исходники этого самого PHP.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#67 Сообщение 17.04.2011, 23:56

NiGHt-LEshiY
спасибо большое в очередной раз, но я думал есть стандартная, а так у меня своя, только где тогда достать полный список всех символов, перед которыми надо ставить слеш? Искал, но чёто не совсем разобрался, чтобы именно для Linux.
Ещё вопрос: в С++ через =new char[1Gb] выделяется гигабайт памяти идущей подряд?, или нет? А если не окажется свободной столько именно подряд, а будет свободно много но пор кускам?
И как настроить gdb в Code::Blocks, я читал что проблема с этим не только у меня. Точки останова не работают.
И ещё, если освобождать память через delete скорость работы программы существенно замедляется?, как то написал программу с кучей new и без единого delete, в итоге она по окончанию работы занимала ~3.5Gb памяти(обрабатывала 899 FB2 книг), я наставил delete везде где нашёл, в итоге у меня она стала занимать ~2.5Gb и работать в 1.5раза медленней.

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#68 Сообщение 18.04.2011, 07:09

GanGSISoft писал(а):в С++ через =new char[1Gb] выделяется гигабайт памяти идущей подряд?, или нет?
Либо выделится, либо нет, если недостаточно памяти для выделения. выделение памяти по кускам нарушает концепцию массива - подряд идущие данные одного типа. Вот списки да..
GanGSISoft писал(а):И ещё, если освобождать память через delete скорость работы программы существенно замедляется?,
Ну, как бы это же операция. Этот весь "срач", созданный new, ещё же убрать надо. Хотя, если у тебя где-нибудь такой сценарий (просто предполагаю)

Код: Выделить всё

for (int i = 0; i < N; i++)
{
	char *TheData = new char[10*1024*1024];
	DoSomeStuffWithTheData(TheData);
	delete [] TheData;
}
То понятное дело, что прога заметно будет работать медленне от постоянного дёргания этих операторов. Логично, конечно вынести в данном случае new и delete за for() и при случае просто проверять нужно ли нам немного больше, чем сейчас:

Код: Выделить всё

int size = 10*1024*1024;
char *TheData = new char[size];
for (int i = 0; i < N; i++)
{
	int len = GetDataLen();
	if (len > size)
	{
		TheData = my_realloc(TheData, len);
		size = len;
	}
	DoSomeStuffWithTheData(TheData);
}
delete [] TheData;
И да, это печально, что ты вовремя не понял того, что new без delete - никуда.
И ещё: зачем тебе целый гиг памяти сразу? Может попробуешь читать кусками?

testncrash
Капитан
Капитан
Сообщения: 459
Зарегистрирован: 25.02.2007
Благодарил (а): 22 раза
Поблагодарили: 33 раза
Контактная информация:

#69 Сообщение 22.04.2011, 17:20

Посоветуйте парочку годных учебников по ассемблеру

Аватара пользователя
Snakeus
Полковник
Полковник
Сообщения: 1213
Зарегистрирован: 03.05.2006
Контактная информация:

#70 Сообщение 22.04.2011, 19:08

x_000 писал(а): 1) прочесть хороший учебник по ассемблеру, лично я всегда Питера Абеля рекомендую новичкам
2) проштудировать wasm.ru
3) проштудировать cracklab.ru

peoplecanfly
Лейтенант
Лейтенант
Сообщения: 193
Зарегистрирован: 11.12.2009

#71 Сообщение 01.05.2011, 23:43

http://depositfiles.com/files/eszqmqlie
Пробный вариант ЕГЭ по информатике. На 31й странице пример программы на паскале.
var
min:extended;
...
Первый раз вижу такой тип переменной. Гугл и справка к компилятору его не знают.
ИРЛ спросить быстро не получится.
Изображение
Изображение

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#72 Сообщение 01.05.2011, 23:52

peoplecanfly
For an even larger variable, use the 10 bytes real data type call Extended. An Extended variable can store a number that ranges from 3.4 x 10-4932 to 1.1 x 104932.
вторая ссылка в гугле

peoplecanfly
Лейтенант
Лейтенант
Сообщения: 193
Зарегистрирован: 11.12.2009

#73 Сообщение 02.05.2011, 13:12

Pr0Ger
Cпасибо, не заметил.
Изображение
Изображение

Аватара пользователя
GanGSISoft
Полковник
Полковник
Сообщения: 1430
Зарегистрирован: 27.03.2008
Откуда: Бацькаўшчына
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

#74 Сообщение 17.05.2011, 22:21

Может вдруг можете кратко и доступно объяснить что такое Графы
И есть ли в stl готовые классы для матрицы и большого числа(бинарного)?
Последний раз редактировалось GanGSISoft 17.05.2011, 22:22, всего редактировалось 1 раз.

Аватара пользователя
x_000
Полковник
Полковник
Сообщения: 4889
Зарегистрирован: 25.02.2008
Откуда: Deutsches Reich
Благодарил (а): 6 раз
Поблагодарили: 18 раз

#75 Сообщение 17.05.2011, 23:22

GanGSISoft писал(а):Может вдруг можете кратко и доступно объяснить что такое Графы
не можем, лучше прочитай вот эту книгу: http://eqworld.ipmnet.ru/ru/library/boo ... 977ru.djvu (рекомендую)

Ответить Вложения 1