![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
Добрый вечер! вот задача: Дан файл содержащий текст произвольной длины. Найти контрольную сумму текста, как сумму кодов символов по модулю 256. Реализовать два потока: первый для чтения содержимого файла буфер длиной m символов, второй – для расчета контрольной суммы.
Вот что я написала: Код:
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.03.2008
Сообщений: 127
|
![]()
Изначально 2 мьютекса свободны и потоки "одновременно" начинают выполнение....
Попробуй так: Код:
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
виснет
![]()
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
вот исправила:
Код:
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
У меня программа вылетает на втором проходе строки
str[i+scale]=getc(file); потому что по умолчанию строка содержит один нулевой символ, и, соответственно, буфер размером 1 байт. Проще сделать так: str += getc(file); буфер будет автоматически расширяться. Кстати, функции reader() и summator() у тебя выполняются в случайном порядке, потому что новый поток запускается не сразу при его создании, а когда ось решит, что время пришло. На самом деле, формулировка самой задачи дурацкая - потоки тут вообще никаким боком. Можно сделать так: Код:
Последний раз редактировалось ds.Dante; 07.04.2010 в 12:24. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 15.05.2009
Сообщений: 1,222
|
![]()
спасибо за совет, приду домой буду пробовать
Единственное, что ограничивает полет мысли программиста-компилятор
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование *.swf | Романнн | Мультимедиа в Delphi | 14 | 02.04.2010 09:27 |
Использование WriteProcessMemory | Ra88 | Помощь студентам | 0 | 31.01.2010 08:56 |
Использование toupper() | Golovastik | Общие вопросы C/C++ | 2 | 02.09.2009 15:49 |
Использование ComboBox | Василь | Microsoft Office Excel | 11 | 24.04.2009 17:16 |
Использование while и while do | prikolist | Общие вопросы C/C++ | 20 | 06.04.2009 18:40 |