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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Профессионал
Рейтинг: 201
∙ повысить рейтинг >>
Micren
Статус: Студент
Рейтинг: 150
∙ повысить рейтинг >>
Николай // Programmator
Статус: Студент
Рейтинг: 62
∙ повысить рейтинг >>

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

Выпуск № 1239
от 12.02.2009, 18:05

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

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

Вопрос № 159769: Дана целочисленная прямоугольная матрица, найти номера первых столбцов, не содержащих ниодного отридцательного элемента, чтобы проверялся эхо контроль.. вводились только цифры и в коде несколько мэйнов.. видел подобное, не содержащее нули.. преподава...


Вопрос № 159790: Уважаемые эксперты и люди, знающие программирование на С++. Помогите, пожалуйста, ещё разок! Дана матрица А[6][6], нужно найти произведение элементов, находящихся под главной диагональю. Уверена, что для Вас это не составит большого труда! Заранее бл...
Вопрос № 159833: День добрый многоуважаемые господа эксперты.....Вопрос в следующем ... Имеется указатель на массив как по этому указателю опредилить количество элементов в массиве ? _msize(*p) не подходит так как не всегда указатель ссылается на динамический ...
Вопрос № 159864: Здра вствуйте! Пожалуйста, помогите решить 2 задачи с помощью комбинаторики... <img src="http://rusfaq.ru/images/Forum/10.gif" border="0"> 1 Вопрос: Волейбол: Партия в волейболе выигрывается командой, которая первой набирает 2...
Вопрос № 159869: Здравствуйте! У меня тут ещё 2 задачи с длинной арифметикой... Пожалуйста помогите решить! 1 Вопрос: A / B Требуется получить точное значение частного А/В для двух натуральных чисел A и B. Входные данные: <br...

Вопрос № 159.769
Дана целочисленная прямоугольная матрица, найти номера первых столбцов, не содержащих ниодного отридцательного элемента, чтобы проверялся эхо контроль.. вводились только цифры и в коде несколько мэйнов.. видел подобное, не содержащее нули.. преподавателю не понравилось, еще чтобы программа не закрывалась до тех пор пока не надоест выводить результаты.. Прошу помощи, помогите разобраться.. и еще мы пишем консольные приложения, у меня почему-то после добавления строки
locale::global(locale("rus_rus.866")); - все равно с кодировкой беда.. Заранее благодарен
Отправлен: 06.02.2009, 15:40
Вопрос задал: Степанов Андрей Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 9)

Отвечает: Micren
Здравствуйте, Степанов Андрей Сергеевич!
Вот такая программа.

Приложение:

Ответ отправил: Micren (статус: Студент)
Ответ отправлен: 06.02.2009, 17:51

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243045 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо огромное! Буду должен


    Вопрос № 159.790
    Уважаемые эксперты и люди, знающие программирование на С++. Помогите, пожалуйста, ещё разок! Дана матрица А[6][6], нужно найти произведение элементов, находящихся под главной диагональю. Уверена, что для Вас это не составит большого труда! Заранее благодарю!
    Отправлен: 06.02.2009, 19:28
    Вопрос задала: Martynova Katya (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Micren
    Здравствуйте, Martynova Katya!
    Программа простая. Краткие комментарии в программе.

    Приложение:

    Ответ отправил: Micren (статус: Студент)
    Ответ отправлен: 06.02.2009, 19:57

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243053 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо, Micren, опять ты меня выручил! )))


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

    вот функция, которая принимает в качестве параметров указатель на массив и размерность массива.
    Думаю разберетесь!

    int func(int *mas, int n)

    {
    int S=1;
    for(int i=0;i<n-1;i++)

    {
    for(int j=i;j<i+1;j++)

    {
    S*=mas[i+1][j];
    }
    }

    return S;
    }
    Ответ отправил: Kamerad (статус: 7-й класс)
    Ответ отправлен: 06.02.2009, 22:50

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243066 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо большое за отклик! ставлю 5 за труды!


    Вопрос № 159.833
    День добрый многоуважаемые господа эксперты.....Вопрос в следующем ... Имеется указатель на массив как по этому указателю опредилить количество элементов в массиве ?

    _msize(*p) не подходит так как не всегда указатель ссылается на динамический массив, а если воспользоваться им для статики сразу КРАХ . . .

    vector тоже не подходит по ряду причин . . .

    Да по большому счету есть функция вида ->

    unsigned int function(type *Array)
    {
    ----//----
    return ArrayCount;

    }
    Отправлен: 07.02.2009, 06:18
    Вопрос задал: Жилкин Сергей Анатольевич (статус: Посетитель)
    Всего ответов: 3
    Мини-форум вопроса >>> (сообщений: 5)

    Отвечает: Хватов Сергей
    Здравствуйте, Жилкин Сергей Анатольевич!

    Никак не узнать. Приходится либо количество элементов передавать отдельно и явно, либо придумывать дополнительное соглашение, например записывать 0 в конце, как в символьных строках.
    Ответ отправил: Хватов Сергей (статус: Практикант)
    Ответ отправлен: 07.02.2009, 11:07

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243087 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Kamerad
    Здравствуйте, Жилкин Сергей Анатольевич!

    может быть вот так...
    unsigned int function(type *Array)
    {
    unsigned int ArrayCount=0;
    while(*Array)
    {
    ArrayCount++;
    }

    return ArrayCount;
    }
    Ответ отправил: Kamerad (статус: 7-й класс)
    Ответ отправлен: 07.02.2009, 12:59

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243093 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Сандров Алекс
    Здравствуйте, Жилкин Сергей Анатольевич!

    Ну, по идее, надо всегда "помнить", кто статический, а кто динамический массив и применять к ним соответсвующие функции.

    Но если это библиотека, например, то можно сделать следующее:
    Проверяем адрес первого элемента массива. Статические и динамически созданные объекты лежат в разных кусках памяти, поэтому по адресу первого объекта можно понять, из кучи он или нет, если из кучи - _msize, если нет - sizeof/sizeof
    Ответ отправил: Сандров Алекс (статус: Студент)
    Ответ отправлен: 09.02.2009, 06:19

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243216 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 159.864
    Здравствуйте!
    Пожалуйста, помогите решить 2 задачи с помощью комбинаторики...

    1 Вопрос:

    Волейбол:

    Партия в волейболе выигрывается командой, которая первой набирает 25 очков с преимуществом минимум в два очка. В случае равного счета 24-24, игра продолжается до достижения преимущества в 2 очка (26-24; 27-25).

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

    Комитет по проведению соревнований по волейболу заинтересовался, количеством различных партий, заканчивающихся счетом 25:23. Их оказалось 16123801841550.

    Определить, сколько существует различных партий, заканчивающихся заданным счетом.

    Входные данные:

    Во входном файле INPUT.TXT указан конечный счет в партии (то есть такой, при котором победа в партии отдаётся одной из команд). Также известно, что ни о дна из команд не набрала более 40 очков.

    Выходные данные:

    В выходной файл OUTPUT.TXT выведите количество всевозможных партий, которые заканчиваются данным счетом.

    Примеры:
    1.
    input.txt: 25:12
    output.txt: 1251677700
    2.
    input.txt:20:25
    output.txt:1761039350070
    3.
    input.txt: 25:23
    output.txt: 16123801841550

    2 Вопрос:

    Волейбол - 2


    Партия в волейболе, выигрывается командой, которая первой набирает 25 очков с преимуществом минимум в два очка. В случае равного счета 24-24, игра продолжается до достижения преимущества в 2 очка (26-24; 27-25). Исключение составляет лишь пятая партия (когда счет по партиям 2:2), в этом случае счет ведется по такому же принципу, но до 15 очков, а в случае счета 14:14 игра продолжается так же до достижения преимущества в 2 очка.

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

    Комитет по проведению соревнований по волейболу заинтересовало, сколько различных партий может быть, заканчивающихся со счетом 25:23, оказывается 16123801841550, далее им стало интересно, сколько же существует различных матчей в которых первая команда победила в 3 партиях со счетом 25:23 25:20 25:18, оказывается 10043105786927107686166271970998925000.

    Определить, сколько существует различных матчей, заканчивающихся заданным счетом. Два матча закончившиеся одинаковым количеством партий с одинаковым счетом, считаются различными, если есть различно сыгранные партии.

    Входные данные:

    Во входном файле INPUT.TXT сначала записано число N - количество партий в матче. Далее следует N пар чисел, описывающих счет в каждой партии. При этом результаты партий разделяются пробелом, а счет в каждой партии отделяется двоеточием. Гарантируется, что счет в каждой партии соответствует возможному, согласно правилам волейбола, и ни в какой партии, ни одна из к оманд не набирает более 40 очков.

    Выходные данные:

    В выходной файл OUTPUT.TXT выведите количество различных матчей, которые могут оканчиваться данным счетом.

    Примеры:
    1.
    input.txt: 3 25:23 25:20 25:18
    output.txt: 10043105786927107686166271970998925000
    2.
    input.txt: 4 25:23 20:25 26:24 25:18
    output.txt: 323866095164273521651645790930981230216140667500000

    Заранее, огромное СПАСИБО!!!
    Отправлен: 07.02.2009, 16:46
    Вопрос задал: Talan Biroev (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Micren
    Здравствуйте, Talan Biroev !
    Решение 1й задачи. Тестировалось в MS Visual Studio 2008. На древних компиляторах типа Borland C++ 3.1 компилироваться не будет.

    Приложение:

    Ответ отправил: Micren (статус: Студент)
    Ответ отправлен: 08.02.2009, 03:26

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243136 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 159.869
    Здравствуйте!
    У меня тут ещё 2 задачи с длинной арифметикой...
    Пожалуйста помогите решить!

    1 Вопрос:

    A / B


    Требуется получить точное значение частного А/В для двух натуральных чисел A и B.

    Входные данные:

    В единственной строке входного файла INPUT.TXT записано частное двух натуральных чисел, не превышающих 1000. Числа разделены символом «/» без лишних пробелов.

    Выходные данные:

    В выходной файл OUTPUT.TXT нужно вывести точное значение A/B без лишних точек, нулей и пробелов. В случае присутствия бесконечной записи числа следует вывести период в скобках.

    Например, неправильно выведены числа: 08.92, 3.20, 120.6(6), 0.(33), 5.(0), 2. , .3, 0.33(03) . Их следует выводить как 8.92, 3.2, 120.(6), 0.(3), 5, 2, 0.3, 0.3(30) .

    Пример:
    1.
    input.txt:10/7
    output.txt: 1.(428571)

    2.
    input.txt: 1/3
    output.txt: 0.(3)

    3.
    input.txt: 100/25
    output.txt: 4

    2 Вопрос:

    A-B

    Требуется найти разность между неотрицательными числами А и В.

    Входные данные:

    Во входном файле INPUT.TXT в двух строках записаны два неотрицательных целых числа A и B, не превышающие 101000. Запомните, цифры могут быть очень большими!

    Выходные данные:

    В выходной файл OUTPUT.TXT выведите значение A-B.

    Примеры:

    1.
    input.txt:
    7
    5
    output.txt: 2


    2.
    input.txt:
    5
    17
    output.txt: -12


    СПАСИБО!!!
    Отправлен: 07.02.2009, 17:18
    Вопрос задал: Talan Biroev (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Micren
    Здравствуйте, Talan Biroev !
    Решение 1й задачи. Что касается 2й то подозреваю что числа не превышают 10^1000, а не 101000. Иначе длинная арифметика не нужна.

    Приложение:

    Ответ отправил: Micren (статус: Студент)
    Ответ отправлен: 07.02.2009, 18:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 243113 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


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

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

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

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

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

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


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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


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

    ∙ Версия системы: 5.13 от 01.12.2008

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

    В избранное