Вопрос № 181898: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Задача на циклы WHILE, REPEAT Написать консольное приложение C++ Текст задачи: Рассмотрим некоторое натуральное число n. Если это- не палиндром, то изме...
Вопрос № 181899: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: 2 задачи на цикл FOR. Консольное приложение C++. Текст задачи 1: Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m.Вопрос № 181917: Здравствуйте! Прошу помощи в следующем вопросе: 2 Задачи на строки Консольное приложение C++ Builder 3.1 Максимально простым кодом, без выделения пространства имен и т.д. Задача 1: Дана символьная строка, содержащая английский ...
Вопрос № 181898:
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Задача на циклы WHILE, REPEAT Написать консольное приложение C++
Текст задачи: Рассмотрим некоторое натуральное число n. Если это- не палиндром, то изменим порядок его цифр на обратный и сложим исходное число с получившимся. Если сумма- не палиндром, то над ним повторяется те же действия и т.д., пока не получится палиндром. До настоящего времени неизвестно, завершается ли этот процесс для любого
натурального числа n. Даны натуральные числа n,m. Проверить, верно ли, что для n процесс завершается не позднее, чем после m таких действий.
Ответ отправил: Micren (Профессионал)
Ответ отправлен: 16.01.2011, 18:18
Номер ответа: 265447 Украина, Краматорск
Оценка ответа: 5 Комментарий к оценке: Отличный ответ но для меня еще сложноват
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 265447
на номер 1151 (Россия) |
Еще номера »
Отвечает Сергей (4-й класс) :
Здравствуйте, Denis Loran!
Задача №1, VS 2008
Исправила на вариант из мини-форума
-----
∙ Отредактировал: Киселёва Алёна aka Verena (Профессор)
∙ Дата редактирования: 17.01.2011, 15:48 (время московское)
Приложение:
Ответ отправил: Сергей (4-й класс)
Ответ отправлен: 16.01.2011, 19:44
Номер ответа: 265449 Россия, Самара
Оценка ответа: 5 Комментарий к оценке: Простым, понятным кодом, спасибо.
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 265449
на номер 1151 (Россия) |
Еще номера »
Отвечает coremaster1 (Профессионал) :
Здравствуйте, Denis Loran! Задача 2. Неэффективная, но простая реализация:
Код:
#include <iostream>
// Вычисление НОД с помощью алгоритма Евклида unsigned nod(unsigned a, unsigned b) { unsigned
n = (a > b) ? a : b; unsigned m = (a > b) ? b : a; while (m != 0) { unsigned r = n % m; n = m; m = r; } return n; }
int main() { unsigned q, p; std::cout << "Введите p, q: "; std::cin >> p >> q;
std::cout << "Делители: { "; for (unsigned d = 1; d <= q; ++d) { if ((q % d) == 0 && nod(d, p) == 1) std::cout <
;< d << ' '; } std::cout << "}\n";
system("pause"); return 0; }
Ответ отправил: coremaster1 (Профессионал)
Ответ отправлен: 17.01.2011, 10:31
Номер ответа: 265466 Россия, Москва
Оценка ответа: 5 Комментарий к оценке: Благодарю за еще один вариант
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 265466
на номер 1151 (Россия) |
Еще номера »
Вопрос № 181917:
Здравствуйте! Прошу помощи в следующем вопросе:
2 Задачи на строки Консольное приложение C++ Builder 3.1 Максимально простым кодом, без выделения пространства имен и т.д.
Задача 1: Дана символьная строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b
Задача 2: Символьная строка, содержащая произвольный текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически
правильной форме: например: а — 25 раз, к — 3 раза и т.д.
Отвечает Алексей (1-й класс) :
Здравствуйте, Denis Loran! Ниже привожу листинги.
В первой задаче на первой итерации идёт сравнение непроинициализированной переменной prev с 32, результат сравнения может быть неопределённым. Во второй задаче неосторожная работа с индексами, и решение не вполне корректно.
-----
∙ Отредактировал: Киселёва Алёна aka Verena (Профессор)
∙ Дата редактирования: 17.01.2011, 18:10 (время московское)
Приложение:
Ответ отправил: Алексей (1-й класс)
Ответ отправлен: 17.01.2011, 16:47
Номер ответа: 265476
Оценка ответа: 4 Комментарий к оценке: вторая задача немного недоработана
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 265476
на номер 1151 (Россия) |
Еще номера »
int main() { char
s[1024]; int i, k, m, n; puts("Введите строку:"); gets(s); n = strlen(s); k = m = 0; for (i=0; i<n; i++) { if (isalpha(s[i])) k++; else k = 0; if ((k==1) && (s[i]=='b')) m++; } printf("Слов, начинающихся с буквы 'b': %d", m); return 0; }
2. Программа учитывает только латинские буквы, причем не различает заглавные и строчные.
int main() { char s[200]; int k[26]; int i, m, n; for (i=0; i<26; i++) k[i] = 0; puts("Введите строку:"); gets(s); n
= strlen(s); for (i=0; i<n; i++) { if (isalpha(s[i])) { m = tolower(s[i]) - 'a'; if ((m>=0) && (m<26)) k[m]++; } } puts("Буквы в строке встречаются:"); for (i=0; i<26; i++) { int r; if (k[i]==0) continue; if (k[i]%10>=2 && k[i]%10<=4 && k[i]/10!=1) r = 'а'; else r = ' '; printf("'%c' - %i раз%c\r\n", i+'a', k[i], r); } get
s(s); return 0; }
Ответ отправил: Жерар (8-й класс)
Ответ отправлен: 17.01.2011, 17:24
Номер ответа: 265478 Россия, Томск Тел.: 8-923-411-36-58
Оценка ответа: 5 Комментарий к оценке: Отлично
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 265478
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.