Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1065
от 28.04.2008, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 474, Экспертов: 60
В номере:Вопросов: 6, Ответов: 8

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 133459: Сдраствуйте помогите пожалуйста исправить небошой код программы! Вот задание всей программы: Дана целочисленная прямоугольная матрица. Определить: 1)количество строк, не содержащих ни одного нулевого элемента 2)максимальное из чисел,встре...
Вопрос № 133472: Добрый вечер! Вопрос такой...требуется написать программу.Программа при помощи randoma выбирает любое 4-х значное число.После этого она проверяет его на условие,что цифры в этом числе отличны друг от друга.От пользователя требуется угадать это ч...
Вопрос № 133581: Здравствуйте эксперты! Подскажите пжлста как решить следующую проблему: в параллельном потоке заполняется такой массив: unsigned int *data; data = new unsigned int[n*m]; ... // заполняется массив ... delete d...
Вопрос № 133637: Всем привет. Несколько вопросов: 1) Поясните на примерах, что означает операция ~. В книгах написано, что это побитовое дополнение. Для меня это ничего не значащие слова, т. к. я знаю логические операции И, ИЛИ, искл. ИЛИ, НЕ, а "побитового ...
Вопрос № 133657: Помогите пожалуйста написать программу. Условие: "Найти номер первой из строк прямоугольной матрицы, не содержащих ни одного отрицательного элемента." (Оформить подпрограммы заполнения, подсчета нужного числового значения и вывода масси...
Вопрос № 133666: Здравствуйте, уважаемые эксперты! Пожалуйста, помогите решить следующую задачу конкретно на языке программирования C. Условие задачи: "Дан непустой список слов с точкой в конце. Напечатать элементы и порядковые номера тех слов, которые имеют наи...

Вопрос № 133.459
Сдраствуйте помогите пожалуйста исправить небошой код программы! Вот задание всей программы:
Дана целочисленная прямоугольная матрица. Определить:
1)количество строк, не содержащих ни одного нулевого элемента
2)максимальное из чисел,встречающихся в заданной матрице более одного раза
Надо исправить первое задание. Код программы в приложении:

Приложение:

Отправлен: 21.04.2008, 22:14
Вопрос задал: 1988sergey1988
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, 1988sergey1988!

Исправьте строку:
if (h=n) k++; на if (h==n) k++;
т.к. оператор сравнения в C++ - '=='.

В первоначальном варианте это означало следующее:
1) присвоить h значение n
2) если в результате значение h отлично от нуля, увеличить k.

---------
Доступно только то, что видимо (c) Б. Керниган
Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 22.04.2008, 00:03

Отвечает: Drumm3R
Здравствуйте, 1988sergey1988!
тут f (h=n) k++;
вместо проверки, вы присваиваете значение.
правильно будет f (h==n) k++;

Ответ отправил: Drumm3R (статус: 2-ой класс)
Ответ отправлен: 22.04.2008, 00:30


Вопрос № 133.472
Добрый вечер!
Вопрос такой...требуется написать программу.Программа при помощи randoma выбирает любое 4-х значное число.После этого она проверяет его на условие,что цифры в этом числе отличны друг от друга.От пользователя требуется угадать это число,с неограниченым количеством попыток.После каждой попытки программа выдает количество угаданных цифр и также показывает цифры совпавшие,но находящиеся не на своих местах.Например:если компьютер выбирает число 2463,пользователь набрал число 6492,то программа показывает число 4 ,которое совпало и числа 2 и 6,которые совпали,но находятся на разных местах.
Программа должна состоять из 4-х функций:
Первая функция должна отдавать значение random и проверять на разность цифр.Вторая принимает число,которое вводит пользователь и число первой функции и сравнивает их и возвращает количество совпадений.Третья принимает снова эти два значения и возвращает количество совпавших цифр,но находящихся не на своих местах.И четвертая функция самая основная объясняющая всю игру:компьютер выбирает число,игрок пытается угадать,компьютер показывает число совпадений.Игра продолжается до тех пор пока игрок не угадает число.Программа посчитает и покажет количество попыток.
Спасибо!!!
Отправлен: 21.04.2008, 22:49
Вопрос задал: MuMiY (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, MuMiY!
Вообще-то это игра "Быки и коровы". Подробнее смотрите по ссылкам:
Описание алгоритмаalgolist.manual.ru)
Исходники на C++sources.codenet.ru)
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 22.04.2008, 07:14


Вопрос № 133.581
Здравствуйте эксперты!

Подскажите пжлста как решить следующую проблему:
в параллельном потоке заполняется такой массив:

unsigned int *data;
data = new unsigned int[n*m];
...
// заполняется массив
...
delete data;

Как мне передать этот массив в главный поток, чтобы потом с ним там можно было спокойно
работать?
Заранее спасибо.
CBuilder5.
Отправлен: 22.04.2008, 13:38
Вопрос задал: Муратов Радик Анатольевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Mitya86
Здравствуйте, Муратов Радик Анатольевич!

Я бы на Вашем месте сделал бы так:
Создал бы массив в главном потоке и в параллельный передал бы указатель на него, а так же какую-нибудь глобальную переменную в качестве флага, затем в параллельном потоке, в критической секции заполнил бы массив и установил бы флаг, а в главном потоке проверяя флаг, работал бы с массивом. См. приложение (заранее прошу прощения за возможные ошибки - нет возможности сейчас проверить этот код, пишу его "на коленях").

Приложение:

Ответ отправил: Mitya86 (статус: 4-ый класс)
Ответ отправлен: 22.04.2008, 14:07
Оценка за ответ: 5

Отвечает: Терсков Сергей
Здравствуйте, Муратов Радик Анатольевич!
Вернуть напрямую значение из потока не получится, т.к. функция ThreadProc имеет возвращаемый параметр типа DWORD, что не подходит. Но в поток передается параметр, и именно через него можно передать указатель на ваш массив. Т.е. в параллельном потоке создается массив и через параметр передаваемый в функцию потока, возвращается в главный поток. Память выделенную в паралелльном потоке нужно будет освобождать в главном.

Приложение:

Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 23.04.2008, 04:28
Оценка за ответ: 5


Вопрос № 133.637
Всем привет. Несколько вопросов:
1) Поясните на примерах, что означает операция ~. В книгах написано, что это побитовое дополнение. Для меня это ничего не значащие слова, т. к. я знаю логические операции И, ИЛИ, искл. ИЛИ, НЕ, а "побитового дополнения" не знаю.
2) Есть код сетевой программы. Подскажите, где лучше разместить код, выполняющий широковещательный запрос для другой копии (предположим таких программ запущено только 2) этой же программы в сети. Копия программы, получив такой запрос, должна ответить и соединение должно считаться установленным. Далее все сообщения (имеется в виду кнопка send) посылаются уже по соотв. IP-адресам.
Объясните в целом как это лучше сделать.

Приложение:

Отправлен: 22.04.2008, 17:13
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Kamerad
Здравствуйте, Blackie!

По первому вопросу.
Операция ~ означает инверсию, т.е. если есть двоичное число 0111011 ,то ~0111011 = 1000100.
Ответ отправил: Kamerad (статус: 1-ый класс)
Ответ отправлен: 22.04.2008, 22:39
Оценка за ответ: 5


Вопрос № 133.657
Помогите пожалуйста написать программу. Условие: "Найти номер первой из строк прямоугольной матрицы, не содержащих ни одного отрицательного элемента."
(Оформить подпрограммы заполнения, подсчета нужного числового значения и вывода массива в виде отдельных функций. В основой программе произвести вызов нужных функций для двух матриц и выдать в качестве результата наибольшее из полученных значений.
Все необходимые данные должны передаваться подпрограммам в качестве параметров; все величины, используемые только внутри подпрограмм, должны быть описаны как локальные. Заполнение массивов следует производить с помощью датчика случайных чисел.)
Часть работы уже выполнена мною (см.Приложение), но она не соответствует всем требованиям, что описаны выше.

Приложение:

Отправлен: 22.04.2008, 19:55
Вопрос задала: Smailik (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Drumm3R
Здравствуйте, Smailik!
Не совсем понял ваш алгоритм.
Зачем просматривать матрицу до конца если вам нужна первая строка с положительными элементами?
по поводу ошибок:
int line - тут line не проинициализирован, ему будет присвоено какое-то значение только если выполниться условие if (count==n) line=i+1;
если условие не выполниться вы пытаетесь вернуть не проинициализированную переменную : return line;
Так же обратите внимание на ф-цию RandomMas, тип её возвращаемого значения должен быть void.
исправленная ф-ция n_line в приложении .


Приложение:

Ответ отправил: Drumm3R (статус: 2-ой класс)
Ответ отправлен: 23.04.2008, 16:49
Оценка за ответ: 5


Вопрос № 133.666
Здравствуйте, уважаемые эксперты! Пожалуйста, помогите решить следующую задачу конкретно на языке программирования C. Условие задачи: "Дан непустой список слов с точкой в конце. Напечатать элементы и порядковые номера тех слов, которые имеют наибольшую и наименьшую длину."
Отправлен: 22.04.2008, 21:01
Вопрос задал: Vesel4 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Drumm3R
Здравствуйте, Vesel4!
Несколько дней назад был аналогичный вопрос.
http://rusfaq.ru/info/question/132611

Неужели трудно сменить несколько операторов чтобы получился код на Си?
вот код, компилировал в gcc.

Приложение:

Ответ отправил: Drumm3R (статус: 2-ой класс)
Ответ отправлен: 23.04.2008, 00:38


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.91 pre 5.0 RC1 от 13.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное