Вопрос № 143611: Зраствуйте!!! Нужна помощь в написании программы на с++ Вывести все числа от 1 до заданного значения N, являющиеся палиндромами – т.е., читаемые в десятичной системе счисления одинаково с начала и с конца (например, 4884)....Вопрос № 143646: <b> Здравствуйте, уважаемые эксперты! </b> Разрешите к вам обратиться за помощью в решении задачи на C++.NET Написать программу, использующая консольный ввод-вывод. ЗАДАЧА:(при
возможности использовать оператор SWITCH) <font color="blue"> Да...Вопрос № 143647: Уважаемые специалисты! Прошу вас помогите мне в следующей проблеме(как решить эту задачу?) <i> Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).</i> ...
Вопрос № 143.611
Зраствуйте!!! Нужна помощь в написании программы на с++ Вывести все числа от 1 до заданного значения N, являющиеся палиндромами – т.е., читаемые в десятичной системе счисления одинаково с начала и с конца (например, 4884).
Отправлен: 10.09.2008, 22:11
Вопрос задала: Иванова (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Терсков Сергей
Здравствуйте, Иванова! Для этого можно перевести число в строку (функция itoa), после чего сравнить эту строку с ее инверсией (функция strrev). Подробнее смотрите в коде:
if(strcmp(digits, reverse) == 0) cout << i << endl; }
return 0; }
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 11.09.2008, 03:54 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо!!!!!!!!!!!!!!! Оказывается строку можно перевернуть!!!!!!?? Для меня это была основная проблема... я пыталась сравнивать чило (переведя предварительно в строку) с концов к середине... это реализовать до конца, что бы программа адекватно выдавала результаты, не получалось.....Еще раз спасибо!!!!!!!
Вопрос № 143.646
Здравствуйте, уважаемые эксперты! Разрешите к вам обратиться за помощью в решении задачи на C++.NET Написать программу, использующая консольный ввод-вывод. ЗАДАЧА:(при возможности использовать оператор SWITCH) Даны две строки: S1 и S2. Сформировать и вывести новую строку, удалив из строки S1 все подстроки, совпадающие с S2. Если таких подстрок нет, то использовать S1 без изменений.
Отвечает: Терсков Сергей
Здравствуйте, Смирнов Сергей Витальевич! Для этого организуем поиск подстроки s2 в строке s1 и при нахождении вхождения будем его удалять. Поиск будет вестись до тех пор пока будут находиться нужные нам подстроки. Подробнее в коде:
Код:
#include <string> #include <iostream>
using
namespace std;
int main(int argc, char* argv[]) {
string s1 = "This is a test string"; string s2 = "is";
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 12.09.2008, 05:55 Оценка за ответ: 4 Комментарий оценки: Я поставил 4,несмотря на то, что Терсков Сергей является специалистом высокого уровня и задача решена правильно и великолепно
Но, уважаемый Сергей! Всё таки существует способ реализации со switch
Всё равно я вас уважаю и СПАСИБО вам огромное!!!
Вопрос № 143.647
Уважаемые специалисты! Прошу вас помогите мне в следующей проблеме(как решить эту задачу?) Дан массив размера N. Определить количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают). Заранее спасибо!
Отвечает: Терсков Сергей
Здравствуйте, Минин Руслан Васильевич! Для этого определим вспомогательный массив, который будет отражать отношение между соседними элементами ('0' - элементы равны, '-' - правый элемент меньше левого, '+' - правый элемент больше левого). Затем в этом массиве посчитаем кол-во изменений знаков на '+' и '-'. Это и будет искомое значение. Подробнее смотрите в коде:
cout << endl << "Count of intervals of monotonicty: " << interval_count << endl;
return 0; }
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 12.09.2008, 07:00 Оценка за ответ: 5 Комментарий оценки: Уважаемый эксперт,Терсков Сергей!
У меня просто нет слов выражать вам бесконечную благодарность и восхищаться вашими примерами решения задач
Огромное вам за это спасибо!
Отвечает: Ходзинский Александр Валерьеви
Здравствуйте, Минин Руслан Васильевич! Я слегка изменил код от Терскова Сергея. Теперь считается не количество изменений знаков, а число промежутков где один и тот-же знак повторяется не менее чем установленное число раз.
Приложение:
Ответ отправил: Ходзинский Александр Валерьеви (статус: 1-ый класс)
Ответ отправлен: 12.09.2008, 12:23 Оценка за ответ: 4 Комментарий оценки: Решение конечно-неплохое, но что мне оно как-то не нравится!
Конечно не в обиду уважаемому эксперту Александру Валерьевичу, но всё-таки вам огромное спасибо!