Форум программистов, компьютерный форум CyberForum.ru

Написать программу которая по заданному n проверяет число на палиндром - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
klimentij
0 / 0 / 0
Регистрация: 06.10.2012
Сообщений: 10
07.10.2012, 00:24     Написать программу которая по заданному n проверяет число на палиндром #1
Привет! Поступил учиться на дистанционное высшее образование, получил по предмету основы программирования домашнюю работу! Вот описание:

1) Написать программу которая по заданному n проверяет число на палиндром. ( Вроде написал )
2) Написать программу которая выводит все шестизначные палиндромы. ( Написал, но выводит начиная с 701107 , помогите разобраться )
3) Написать программу где пользователю нужно угадать число 0-100 за 10 попыток. ( Написал )
4) Написать программу где компьютеру нужно угадать число 0-100 за 10 попыток.

Вот что у меня есть на данный момент, до чего я сам своими силами добрался! Учебный материал что прислали очень маленький и непонятный! Очень буду благодарен за любую помощь! Может у кого-то есть в архиве что-то такое уже готовое.


Задание - 3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
int main()
{
    srand(time(0)); 
 
    int cislo = rand() % 100 + 1;  
    int popitki = 0;
    int otvet;
    
    cout << "\t\igra ugadaj 4islo (0-100)\n\n u vas 10 popitok\n\n";
 
 
do
{
 
   cout << "vvedite 4islo:";
   cin >> otvet;
   ++popitki;
 
   if (otvet > cislo)
       cout << "4islo mense!\n\n";
 
   if (otvet < cislo)
       cout << "4islo bol6e!\n\n";
 
} while (otvet != cislo && popitki != 10);
 
 
 if (popitki != 10)
 {
 cout << "\n pravlejno, vi ugadali!!!\n";
 cout << "\n 4islo ugadano s " << popitki
  << " popitok\n";
 }
 else
 {
  cout << "Vi proigrali, praveljnij otvet " << cislo << "!" << endl;
 }
 
system("pause");
return 0;
}

Задание - 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
 
bool isPalindrome( int val ) {
   int tmp1 = 0,
       tmp2 = val;
 
   while ( val ) {
      tmp1 = tmp1 * 10 + val % 10;
      val /= 10;
   }
   
   return ( tmp1 == tmp2 );
}
 
int main() {
   int value;
 
   cout << "vvedite cislo: ";
   cin >> value;
 
   if ( isPalindrome( value ))
      cout << "palindrom. " << std::endl;
   else
      cout << "ne palindrom." << std::endl;
   system("pause");
   return 0;
 
}

Задание - 2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
bool isPalindrome( int val ) {
   int tmp1 = 0,
       tmp2 = val;
 
   while ( val ) {
      tmp1 = tmp1 * 10 + val % 10;
      val /= 10;
   }
   
   return ( tmp1 == tmp2 );
}
 
 
int main ()
 
{
    
 
for (int i=100000;i<1000000;i++)
 
{
if (isPalindrome(i))
{               
cout<<i<<endl;
}
 
}
    system ("pause");
    return 0;
}
Исправьте ошибки если есть где-то! 4 задание вроде алгоритм тот-же но не могу врубится! Заранее большое спасибо за помощь! П.C. программа на которой работаю Dev-C++ .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 00:24     Написать программу которая по заданному n проверяет число на палиндром
Посмотрите здесь:

НАписать программму, которая проверяет находится ли введённое с клавиатуры число в массиве C++
[C++] Написать программу, которая проверяет, является ли введенное пользователем целое число простым C++
C++ Написать программу, которая проверяет, делится ли на три введенное с клавиатуры целое число
Написать программу, которая проверяет, является ли введенное пользователем целое число четным C++
C++ Написать программу, которая проверяет, находится ли введенное с клавиатуры число в массиве.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
07.10.2012, 00:33     Написать программу которая по заданному n проверяет число на палиндром #2
Во второй задаче выводит все, просто оно находится выше. Можно попробовать в 28 строчке заменить endl на " ".
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
07.10.2012, 03:12     Написать программу которая по заданному n проверяет число на палиндром #3
C++
1
int cislo = rand() % 100 + 1;
Здесь от 1 до 100, а в задании от 0 до 100, нужно сделать просто rand()%101.
По поводу последней задачи, в третьей если поменять строку 23
C++
1
cin >> otvet;
на
C++
1
otvet = rand()%101;
Ну и соответственно убрать сообщения пользователю на каждой итерации "число больше\меньше" на, например, "компьютер на такой попытке загадал число такое", то получится 4-я задача.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
07.10.2012, 03:54     Написать программу которая по заданному n проверяет число на палиндром #4
Цитата Сообщение от klimentij Посмотреть сообщение
угадать число 0-100 за 10 попыток.
угараю. и кто-то же это составляет. Либо студенты настолько ленивые, что препод "ну хоть за 10 попыток сделайте", либо ленивым был преподаватель. В любом случае ужастик доставляет. Метод половинного деления позволяет найти число в промежутке [0, 128] за 7 попыток, потому что http://www.cyberforum.ru/cgi-bin/latex.cgi?2^{7} = 128.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
int main(int argc, char** argv) {
 
    int num, beg = 0, end = 100, ans, count = 0;
 
    puts("enter num");
    scanf("%i", &num);
    getchar();
 
    do {
        fprintf( stdout, "num > %i? yes - 1, no - 0\n", beg + ( (end - beg ) / 2) );
        fscanf(stdin, "%i", &ans);
        getchar();
 
        if (ans)
            beg = beg + ( (end - beg ) / 2);
        else if (end > beg)
            end = end - ( (end - beg ) / 2);
        ++count;
 
    } while (end - beg != 1);
 
    fprintf(stdout, "%i == %i\n", end, num);
    fprintf(stdout, "count trying = %i\n", count);
 
    return 0;
}
klimentij
0 / 0 / 0
Регистрация: 06.10.2012
Сообщений: 10
08.10.2012, 09:06  [ТС]     Написать программу которая по заданному n проверяет число на палиндром #5
Цитата Сообщение от BumerangSP Посмотреть сообщение
Во второй задаче выводит все, просто оно находится выше. Можно попробовать в 28 строчке заменить endl на " ".
Да помогло,но тогда всё в одну строчку пишется! В задание не указано как выводит поэтому думаю годится! Спасибо!


Цитата Сообщение от alkagolik Посмотреть сообщение
угараю. и кто-то же это составляет. Либо студенты настолько ленивые, что препод "ну хоть за 10 попыток сделайте", либо ленивым был преподаватель. В любом случае ужастик доставляет. Метод половинного деления позволяет найти число в промежутке [0, 128] за 7 попыток, потому что .
Я так понимаю препод каждый год одно и тоже даёт и ему параллельно! Например способ как ты написал я даже не могу ему скинуть так как в материале такого стиля написания не объясняется. Мне бы в таком стиле как у меня задание 3, и должно быть как он написал в задание так же и давать ответы - больше,меньше и о концовку игры туже. Если тебя не затруднит помоги пожалуйста!

Добавлено через 19 часов 5 минут
Помогите пожалуйста с 4 задачей, сроки горят а не как не могу разобраться ! Буду очень благодарен за помощь!
Yandex
Объявления
08.10.2012, 09:06     Написать программу которая по заданному n проверяет число на палиндром
Ответ Создать тему
Опции темы

Текущее время: 09:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru