Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9

Формат командной строки

10.04.2013, 15:11. Показов 1368. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно выполнить задание.
Есть X потоков в которых лежит по объекту, эти объекты я в случайном порядке сую в контейнер размером Y. При заполнении контейнера, начинаю удалять самые старые объекты и делаю это бесконечно пока не нажму enter. При нажатии enter печатаю данные из контейнера в формате "ПОТОК - КОЛИЧЕСТВО ЕЛЕМЕНТОВ".

В условии сказано:
" 1. Формат командной строки 'test_app X Y'. " -что это значит?
" 2. Y - целое число (size_t) на величину которого ограничение не накладывается (в рамках ограничения типа переменной). " - что это значит?

Какой контейнер наиболее оптимален для этой задачи?

И еще. В подобных задачах при запуске программы консоль выскакивает сама (в коде я ничего для этого не пишу кроме cin>>.... ) -грамотно ли это? Может нужно писать что то типа: отобразить консоль\скрыть консоль?

Добавлено через 1 час 10 минут
Все! тема закрыта.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2013, 15:11
Ответы с готовыми решениями:

Слияних 2 файлов в третий + строки + использование командной строки
Помогите с заданием пожалуйста. Задано 2 файла, строки в которых упорядочены по алфавиту. Написать программу, осуществляющую слияние этих...

Аргументы командной строки
Пытаюсь разобраться с этой штукой. У Дейтела это собственно только дополнение, а не отдельный пункт раздела так что всё написано сжато и с...

Аргументы командной строки
Необходимо открыть файл на чтение, используя аргументы main. Не хотелось бы прописывать путь к файлу, который хотим открыть. Файл помещен в...

10
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.04.2013, 15:15
Цитата Сообщение от Pavel1111 Посмотреть сообщение
Формат командной строки 'test_app X Y'. " -что это значит?
Это значит, что программа должна принимать 2 целых аргумента, первый будет интерпретироваться как Х, второй - как Y. Читайте про argv,argc для main().

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Y - целое число (size_t) на величину которого ограничение не накладывается (в рамках ограничения типа переменной). " - что это значит?
То, что переменная объявлена будет как-то так:
C++
1
size_t Y;
И при чтении ее из списка аргументов (п.1) никаких ограничений делать не надо. Т.е. подходит любое, введенное пользователем значение.

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Какой контейнер наиболее оптимален для этой задачи?
Если нужно удалять самые старые, то нужна, скорее всего, очередь std::queue

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Может нужно писать что то типа: отобразить консоль\скрыть консоль?
Не заморачивайтесь на этот счет, если это не оговорено в условии.

Добавлено через 30 секунд
Цитата Сообщение от Pavel1111 Посмотреть сообщение
Все! тема закрыта.
Не успел
0
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9
10.04.2013, 15:46  [ТС]
Спасибо. А я подумал что ни кто не ответит даже новую тему создал..
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.04.2013, 15:53
Цитата Сообщение от Pavel1111 Посмотреть сообщение
даже новую тему создал..
Это зря

Не по теме:

Не забывайте плюсовать, если что пригодилось.

0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 18:02
Pavel1111, не знаю то или нет, но "test_app X Y" test_app - название приложения, X и Y понятно, я думаю все должно быть так: написал приложение, потом запускаешь командную строку, пишешь путь к своему приложению(test_app), указываешь кол-во потоков и размер контейнера. Тут тебе нужно почитать про параметры функции main, она - то и позволяет принимать данные из командной строки, где

C++
1
int argc, _TCHAR* argv[]
argc - кол-во параметров, а это массив, в твоем случае X и Y будут 1 и 2 элементом массива argv соответственно. Не знаю то это или нет, 100% уверенности нет, но если помог, буду рад. А на счет контейнера я бы предложил использовать list<T>, так как можно добавлять/удалять как в головы так и с конца.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2013, 09:44
Цитата Сообщение от yoghurt92 Посмотреть сообщение
я бы предложил использовать list<T>, так как можно добавлять/удалять как в головы так и с конца.
Зачем? Это же классическая очередь FIFO по заданию.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 12:14
Tulosba, но с STK-ой версией очереди не так удобно работать(я имею в виду вывод(приходиться удалять и добавлять элементы для вывода), а очередь это что? Это частный случай списка, так что чего-то страшного я не вижу, там так же можно использовать FIFO, исправьте если я не прав
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
11.04.2013, 12:39
Цитата Сообщение от yoghurt92 Посмотреть сообщение
STK-ой версией
Что это?
Если нужно не просто добавлять в конец/удалять с начала, а ещё иметь всякий обвес типа вывода, то, наверное, да, лучше взять list или deque.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 12:45
Tulosba, опечатался STL, мне кажется, что содержимое контейнера придется же выводить, я предложил list из соображения удобства, не более.
0
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9
11.04.2013, 16:24  [ТС]
Я не стал сразу грузить , а если нужно осуществлять следующую логику:
добавляя новый элемент в очередь (как мы помним элемент находится в своем потоке) нужно проверить из какого потока последний элемент этой очереди и если
1. это один и то же поток, то последний элемент не удаляется
2. из разных потоков то последний элемент удаляем.
В какой то момент очередь конечно заполнится и в проверке отпадет смысл, поскольку добавляя мне все равно придется удалять последний.
0
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 16:45
Pavel1111, может использовать ключ(который для каждого нового потока будет индивидуален)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2013, 16:45
Помогаю со студенческими работами здесь

Аргументы командной строки
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include &lt;string.h&gt; #include &lt;Windows.h&gt; #include &lt;string&gt; using...

Чтение из командной строки
всем привет!такая проблема,вот таким образом обрабатываю командную строку : sscanf_s((char*)lpCmdLine,&quot;%i %i %i %i %i&quot;, &amp;q,...

Задержка командной строки
При нажатии кнопки на форме Билдера открывается командная строка, пингует айпишник и тут же закрывается. Как мне ее задержать, чтобы я...

Имитация командной строки
Написать программу на С++, имитирующую командную строку. Программа должна уметь запускать exe-файлы, имена/пути которых вводятся...

Аргументы командной строки
Здравствуйте, у меня вопрос, почему программа сбрасывается, так и не выполнив никаких действий? Я знаю , что она возвращает 0 и выходит,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru