Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 18:12   #1
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
Печаль Программы по палиндромам и 2 игры.

Всем привет.
Хотелось бы попросить у опытных программистов помощи с домашним заданием в С++. Работу желательно сдать в это воскресенье.

Вот условия:
1. Напишите программу которая по введённому числу n проверяет является ли оно палиндромом.
2. Напишите программу которая выводит все 6-и значные палиндромы.
3. Написать игру. Программа задумывает число 0 – 100. Пользователю необходимо угадать число вводя предполагаемые варианты. После каждой попытки программа выводит одно из сообщений:
“число больше введённого”
“число меньше введённого”
“число угадано с N попытки”
Максимальное число попыток – 10. Если число не было угадано с 10 попыток, программа выводит сообщение:
“Вы проиграли! Правильный ответ N”
4. То же что 2-е задание, только с другой стороны. Сейчас пользователь задумывает число, а программа пытается угадать. Пользователь НЕ вводит задуманное число в программу!!!

Функциональное требование:
Программа должна угадать число с 10 попыток!



В программировании я как в тёмном лесу, по большей части. Очень надеюсь на Вашу помощь. Буду очень благодарен. Заранее спасибо.
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 18:40   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

1. перевести число в строку, и сравнивать боковые цифры сдвигаясь к центру
2. первую половину берете трехзначное число (начиная со 100) а вторую часть шестизначного отражаете итого; 100 001 , 101101 и т.д.
3. даже не знаю что вызвало затруднение... прописываете зерно отсчета.. а затем генерируйте число в нужных пределах, поставьте счетчик на попытки пользователя и сверяйте с числом.
4. тут почитайте про бинарный (двоичный, дихотомия) поиск. только установить границы значений чисел. а по поводу 10 попыток - это уже смотря какая разбежка будет между верхней и нижней границей.

p.s. если что пишите в личку... помогу за материальную благодарность... и будет у тебя оно уже в пятницу...
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 12.10.2012 в 18:44.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 12.10.2012, 19:31   #3
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
По умолчанию

я тебе в ICQ отправил приглашение.
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 19:44   #4
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
По умолчанию

Ребята, помогите.. Кто-нибудь. А-то форум хвалят, а тут только за материальные благодарности.. За мной не заржаваеет за такую гигантскую услугу.
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 19:53   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

1-я http://programmersforum.ru/showpost....61&postcount=3
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.10.2012, 20:00   #6
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
не работает
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 20:18   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Все работает
Код:
#include <stdlib.h>
#include <stdio.h>

bool
pali(int n)
{
    int k = n, e = 0;
    for(; n > 0; n /= 10) {
        e += n % 10;
        e *= 10;
    }
    return (e / 10) == k;
}

int
main(void)
{
    printf("%s", (pali(12321)) ? "Yes" : "No"); 
    getchar();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.10.2012, 20:21   #8
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Все работает
Код:
#include <stdlib.h>
#include <stdio.h>

bool
pali(int n)
{
    int k = n, e = 0;
    for(; n > 0; n /= 10) {
        e += n % 10;
        e *= 10;
    }
    return (e / 10) == k;
}

int
main(void)
{
    printf("%s", (pali(12321)) ? "Yes" : "No"); 
    getchar();
    return 0;
}
странно, мой dev c++ ,в данном случае, выдаёт только "yes"
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 20:25   #9
divvine
Новичок
Джуниор
 
Регистрация: 12.10.2012
Сообщений: 13
По умолчанию

..и, если что, то я только на первом курсе в колледже на дистанционном обучении. было бы неплохо, если бы ответы имели какие-то комментарии.. заранее спасибо.
divvine вне форума Ответить с цитированием
Старый 12.10.2012, 20:31   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Код:
#include <iostream>
using namespace std;

bool
pali(int n)
{
    int k = n, e = 0;
    for(; n > 0; n /= 10) {
        e += n % 10;
        e *= 10;
    }
    return (e / 10) == k;
}

int
main(void)
{
    int n;
    cin >> n;
    if (pali(n))
        cout << "Yes";
    else
        cout << "No";
    getchar();
    return 0;
}
А тут и до второй недалеко:
Код:
#include <iostream>
using namespace std;

int
reverse(int n)
{
    int e = 0;
    for(; n > 0; n /= 10) {
        e += n % 10;
        e *= 10;
    }
    return (e / 10);
}

int
main(void)
{
    for (int i = 100; i < 1000; ++i)
        cout << 1000 * i + reverse(i) << endl;
    getchar();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 12.10.2012 в 21:14.
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Теория взаимодействия программы и игры zinador Общие вопросы C/C++ 0 13.02.2012 20:19
Какие программы нужны для создания онлайн игры? :=) Помощь студентам 0 26.12.2011 20:35
Открытие игры во фрейме программы! sting Общие вопросы Delphi 9 14.01.2009 19:14
Научиться программировать программы, игры и т.д.? CyberOrcX Помощь студентам 5 03.12.2008 18:14
Создание очень интересной программы-игры. Готов заплатить. klinkoff Фриланс 2 16.01.2008 12:39