RE: Вопросы по C/C++ (Для новичков)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-06 22:28:28.263333
|
|
|
Merovingian
Сообщений: 59
Оценки: 0
Присоединился: 2008-12-29 13:55:36.936666
|
_SaZ_, напиши как это будет выглядеть. Просто мне нужно чтобы не приходилось нажимать ENTER после каждого символа, а ввод строчки выглядел цельно.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 00:38:19.186666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: _SaZ_ Читай ручками в цикле через getchar() - каждый раз перевыделяя память… Но это паранойя, оно того не стоит. зачем каждый раз? можно взять буфер фиксированного размера (килобайт, например), можно удваивать его размер (как это сделано в большинстве реализаций std::vector)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 00:58:53.950000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Человеку надо по мере набора, без удваивания (я знаю, как вектор устроен ;) ), т.к. это лишние затраты памяти. "Идеально" в данном случае - std::list, но про параною написано выше. P.S. Автор, а тебя и не просит никто Enter после каждого символа нажимать.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 01:02:52.883333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: _SaZ_ без удваивания (я знаю, как вектор устроен ;) ), т.к. это лишние затраты памяти ты телепат?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 01:37:15.003333
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: _SaZ_ Человеку надо по мере набора, без удваивания (я знаю, как вектор устроен ;) ), т.к. это лишние затраты памяти. "Идеально" в данном случае - std::list, но про параною написано выше. Не такие уж и лишние. Ведь если нам один раз потребовался буфер в два раза больше, значит может потребоваться и второй раз. И было бы здорово если бы память в хипе была бы зарезервирована под это дело. Кроме того, это положительно сказывается на скорости: malloc'и бывает подтормаживают. А если мы ещё и перевыделяем постоянно – это очень способствует фрагментации памяти, которая приводит к гораздо более нерациональному использованию памяти. И наконец, можно не удваивать, а "уполторять". Умножать на 1.5. Или 1.2. Не суть важно насколько, главное чтобы последовательность размеров была бы геометрической прогрессией, а не арифметической. Но я подозреваю, что посимвольное перевыделение – это требование препода. =) А против препода не попрёшь. Во-всяком случае я бы не попёр, даже если бы был 100% уверен в своей правоте и способности убедить в этой препода. Себе дороже. Хотя, конечно, зависит от препода.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 03:49:44.353333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
К быстродействию никаких требований не было. Просто имхо, что удвоение тут неуместно, хотя и оптимально в большинстве случаев. Но это всё загоны… По мне так выделить сотню-другую килобайт на буфер и не загоняться. Всё равно маловероятно, что с клавиатуры столько натайпят ;). З.Ы. действительно очень похоже на страх выделить лишний байт под строку ;)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 15:32:30.800000
|
|
|
DODZ
Сообщений: 2
Оценки: 0
Присоединился: 2010-06-07 15:28:35.160000
|
Необходимо разработать несколько программ на С++, или хотябы дайте направление в котором рыть именно по темам задания, надеюсь темы вас заинтересуют, буду очень признателен… Задания: 1.1Д. Разработать программу, которая показывает информацию о версии, названии программного продукта и организации-изготовителе в Win32 среде. Пример использования: show_version some_file.exe или show_version some_file.dll. Программа должна извлечь информацию о версии файла, продукта и т.д. из ресурса указанного файла. 1.2Д. Разработать программу под платформой xNIX (Linux), выводящую список пользователей системы с указанием даты/времени последнего входа в систему. hint: система запоминает когда в систему входил пользователь, информация хранится в файлах utmp и wtmp, выводится командой last (см. man utmp, man last) 2.1Д. Разработать программу под платформой Win32, которая показывает все модули (DLL), необходимые для загрузки указанной в параметре программы в память. hint: Описание таблицы импорта есть в MSDN, примеры работы присутствуют в сети. В составе Visual Studio есть аналог - программа depends. Необходимо реализовать консольный упрощенный аналог. 2.2Д. Разработать программу под платформой xNIX (Linux), которая выводит список процессов в системе в виде дерева процессов (начиная с процесса с идентификатором 1).
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 16:39:25.570000
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
1. Твои предложения, что тебя смутило в данных задачах, с чем ты не смог разобраться?8| 2. quote:
1.1Д. Разработать программу, которая показывает информацию о версии, названии программного продукта и организации-изготовителе в Win32 среде. Пример использования: show_version some_file.exe или show_version some_file.dll. Программа должна извлечь информацию о версии файла, продукта и т.д. И где?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 16:53:40.800000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
1.1 - копай в сторону Win32 ресурсов. Документации хватает в MSDN. 2.1 - читай свой же hint
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 17:28:06.106666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: DODZ 1.2Д. Разработать программу под платформой xNIX (Linux), выводящую список пользователей системы с указанием даты/времени последнего входа в систему. hint: система запоминает когда в систему входил пользователь, информация хранится в файлах utmp и wtmp, выводится командой last (см. man utmp, man last) По-моему тут всё понятно. hint объясняет всё. Читаешь для начала `man utmp'. Потом читаешь `man last', и пробуешь ею пользоваться. Затем берёшь сорцы last (они, я думаю, в пакете coreutils), собираешь с отладочной информацией, запускаешь под дебуггером, вешаешь бряки на все функции описанные в utmp.h, и смотришь как оно работает. Без дебуггера быстрее, но требует определённых навыков чтения сорцов. Теоретически, я думаю можно было бы обойтись чтением `man utmp', но пример перед глазами позволяет быстро и непринуждённо решить кучу проблем недопонимания документации. quote:
ORIGINAL: DODZ 2.2Д. Разработать программу под платформой xNIX (Linux), которая выводит список процессов в системе в виде дерева процессов (начиная с процесса с идентификатором 1). Глянь на `man ps'. Эта программка умеет выводить список процессов. В том числе и в виде дерева. Я честно говоря не очень представляю как она это делает. Думаю, что путём ковыряний в /proc. Ну да, я запустил `strace ps', она активно читает /proc. И я не думаю, что читает она опосредованно, через какие-то специальные функции libc для работы со списком процессов. Но опять же, тебе доступны все сорцы. Загляни в них, и всё узнаешь.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 17:36:45.850000
|
|
|
TimSkywalker
Сообщений: 7
Оценки: 0
Присоединился: 2010-03-21 06:08:04.610000
|
Подскажите как можно из строки типа STL string удалить все цифры?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 17:48:26.420000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: TimSkywalker Подскажите как можно из строки типа STL string удалить все цифры? http://www.cplusplus.com/reference/algorithm/remove_if/ http://www.cplusplus.com/reference/clibrary/cctype/isdigit/
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-07 20:58:12.766666
|
|
|
y0b1
Сообщений: 4
Оценки: 0
Присоединился: 2010-04-06 15:56:25.526666
|
Подскажите, зачем нужны классы в С++\С#? Не очень понимаю пригодность, зачем они? п.с: это не троллинг.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 00:16:55.550000
|
|
|
DODZ
Сообщений: 2
Оценки: 0
Присоединился: 2010-06-07 15:28:35.160000
|
спасибо за советы, искренне благодарен!
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 02:48:20.446666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: y0b1 Подскажите, зачем нужны классы в С++\С#? Не очень понимаю пригодность, зачем они? п.с: это не троллинг. Почитай теорию, попиши программы более-менее серьёзные - потом ещё раз почитай теорию - и поймёшь, зачем.
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 08:40:33.153333
|
|
|
iidsp
Сообщений: 379
Оценки: 0
Присоединился: 2009-10-14 23:13:19.856666
|
есть ли в отладчиках такая вещь, как: допустим, что есть ассемблерный код - его границы в отладчике мы как-то определяем и говорим, что - а покажи какие переменные, регистры, флаги на выходе изменили свое значение - куда-то это записалось… Далее, изменяем этот код, например, добавили пару строк. Снова указываем в отладчике границы этого кода и просим показать все изменения. Далее говорим, сравни изменения те, что были до этого с тем, что есть сейчас… я просто уже замучился все это вручную отслеживать…
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 10:51:14.773333
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: y0b1 Подскажите, зачем нужны классы в С++\С#? класс - это пространство имён и контекст (состояние). если тебе нужны процедуры, изменяющие локальное состояние (сохраняющееся между вызовами процедуры), тебе нужны объекты класса
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 10:57:00.990000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: iidsp есть ли в отладчиках такая вещь, как для gdb это пишется скриптом. вот несколько примеров скриптования gdb: http://johnnyjacob.wordpress.com/2009/07/07/gdb-scripting-short-article-for-internal-magazine/ http://darkfader.net/arm/files/Example%20GDB%20script.txt полное описание смотри в документации
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 14:07:41.840000
|
|
|
LeXuS_112
Сообщений: 1
Оценки: 0
Присоединился: 2010-06-08 13:55:46.713333
|
ага, драсте Не могли бы вы написать прогу которая может превратить файл (картинку,программу) в строку символов и обратно? Работать прога должна по такому смыслу: небольшой файл (любой абсолютно) проходя через прогу превращается в blablablakg5jlwil;4tjp34 и тому подобное Этот текст каким то образом (в аське, на бумаге) переноситься к дугому человеку с этой волшебной прогой, ложить в нее непонятный текст и получает тот самый файл. Возможно ли это?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 14:20:23.953333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Тотал коммандер умеет. 1. конвертишь файл в base64 2. передаёшь 3. конвертишь назад
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 14:37:43.396666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
http://lurkmore.ru/Вдоль
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 14:44:08.063333
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Всем привет!Вот решил всомнить С++ , пишу на Dev-C++ , подскажите как сделать условие выбора, тоесть если написали "ДА"(прога продолжит работу), если "НЕТ"(то быход). Заранее благодарен
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:09:28.536666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: Rolan1996 решил всомнить С++ что-что ты решил с ним сделать? quote:
ORIGINAL: Rolan1996 как сделать условие выбора http://www.cplusplus.com/doc/tutorial/control/
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:16:43.620000
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Вспомнить.Слушай, мне нужно сделать так: Если человек написал "да"-то прога продолжит работу Если "нет" то закроется
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:21:05.270000
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
quote:
Если человек написал "да"-то прога продолжит работу Если "нет" то закроется if(!da) exit(1);
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:28:03.166666
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Слушай у меня компилятор на exit(1) ругается, что делать?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:36:34.963333
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
abort();
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:49:05.053333
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Блин опять ругается, можешь написать код #include<stdio.h>
#include<conio.h>
main()
{
int N , da;
printf("Введи да или нет\n");
scanf("%d",&N);
if(da)
abort();
}
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:55:35.286666
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
#include<stdio.h> #include<conio.h> int main() { int da; printf("Write yes or no\n"); scanf("%d",&da); if(da) return 0; } Я наверно не понял что-ты хочешь от проги…
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 15:57:43.756666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Что за бред?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 16:04:59.786666
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Блин , а как написать выход при написании "нет"?А то не получается, просто я мало ещё знаю:)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 16:16:46.286666
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
quote:
ORIGINAL: _SaZ_ Что за бред? Ладно тебе не ругайся) Где я там че не так написал? Сорь реально бред)))
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 16:29:26.330000
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: Rolan1996 Слушай, мне нужно сделать так: нужно? делай!
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 16:30:32.863333
|
|
|
Rolan1996
Сообщений: 29
Оценки: 0
Присоединился: 2010-05-06 15:56:58.863333
|
Ну ведь я попросил помочь,я мало знаю,мне 13 лет и только учусь
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 16:31:36.106666
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
_SaZ_ ?
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 20:55:45.616666
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
quote:
Всем привет! И тебе не болеть. quote:
Вот решил всомнить С++ А залить информацию в твой мозг мы что ли должны? Общий вид: //Заголовочные файлы
int main()
{
string answ="";
std::cin>>answ;
if(answ=="Da")
{
//Операции, когда "Да" (Функций выхода куча)
}
else if(answ=="Net")
{
//Операции, когда "Нет" (Функций выхода куча)
}
}
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-08 23:11:15.510000
|
|
|
yurket
Сообщений: 69
Оценки: 0
Присоединился: 2009-05-04 23:47:54.993333
|
Rolan1996, а что 13-летних гугл банит??? http://msdn.microsoft.com/ru-ru/library/6wdz5232.aspx, http://msdn.microsoft.com/ru-ru/library/k089yyh0.aspx библиотеку нужную не подключил…
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-09 00:00:49.596666
|
|
|
Sрam
Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
|
quote:
//Заголовочные файлы int main() { string answ=""; std::cin>>answ; if(answ=="Da") { //Операции, когда "Да" (Функций выхода куча) } else if(answ=="Net") { //Операции, когда "Нет" (Функций выхода куча) } } Я тоже мог слегка извратиться, и показать в стиле c++, но боюсь данному товарищу нужно по слогам все рассказывать…
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-09 00:59:33.360000
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
quote:
Я тоже мог слегка извратиться, и показать в стиле c++, но боюсь данному товарищу нужно по слогам все рассказывать… Да ладно, забей. Если он не понял после трех постов, то это просто очередной лентяй, который ждет готовый код. Как то не горю желанием таким помогать, так только… слегка поругать:)
|
|
|
RE: Вопросы по C/C++ (Для новичков) - 2010-06-12 21:28:00.786666
|
|
|
kazrulit
Сообщений: 79
Оценки: 0
Присоединился: 2009-07-22 14:23:31.770000
|
никак немогу скомпилировать mciSendString :@ вот код #include "stdafx.h" #include "targetver.h" #include <windows.h> #include <mmsystem.h> #pragma comment(lib, "winmm.lib") int _tmain(int argc, _TCHAR* argv[]) { mciSendString("Set cdaudio door open wait",NULL,0,NULL); return 0; } Ошибка: quote:
—— Build started: Project: mciprogramm, Configuration: Debug Win32 —— Compiling… mciprogramm.cpp e:\мои документы\visual studio 2008\projects\mciprogramm\mciprogramm\mciprogramm.cpp(16) : error C2664: 'mciSendStringW' : cannot convert parameter 1 from 'const char [27]' to 'LPCWSTR' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast Build log was saved at "file://e:\Мои документы\Visual Studio 2008\Projects\mciprogramm\mciprogramm\Debug\BuildLog.htm" mciprogramm - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
|