Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aleksey13_
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 4
#1

Найти две первые цифры натурального числа - C++

30.06.2014, 11:19. Просмотров 1622. Ответов 10
Метки нет (Все метки)

Задача
Дано натуральное число:
  • найти две первые цифры числа;
  • верно ли, что первая цифра числа четная.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  str: string;
  i,x: integer;
begin
  write('Введите натуральное число: ');
  readln(str);
  writeln('1-я цифра числа: ',str[1]);
  writeln('2-я цифра числа: ',str[2]);
  val(str[1],i,x);
  if i mod 2=0 then 
    writeln('1-я цифра числа четная') else
      writeln('1-я цифра числа нечетная');
  readln;
end.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 11:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти две первые цифры натурального числа (C++):

Найти количество цифр натурального числа, больших заданной цифры - C++
Здравствуйте! Помогите чем сможете) Дано натуральное число: 1. Найти количество цифр этого числа, больших А (число А вводится с...

Найти наибольшую и наименьшую цифры в записи данного натурального числа - C++
Найти наибольшую и наименьшую цифры в записи данного натурального числа. В С++

Если у данного натурального четырехзначного числа все цифры одинаковые, то найти их сумму, в противном случае их произведение - C++
помогите найти программный код пожалуйста

Найти все пятизначные числа, в которых ровно две одинаковые цифры - C++
Помогите написать программу циклами! Не получается что-то. Необходимо: вывести на экран все пятизначные числа, в которых ровно две...

Найти все пятизначные числа, в которых ровно две одинаковые цифры (только циклами !) - C++
Помогите пожалуйста. Никак не получается решить задачу. Необходимо вывести на экран все пятизначные числа, в которых ровно две одинаковые...

Для натурального числа определить истинность предиката «все цифры в записи числа равны» - C++
Для натурального числа определить истинность предиката «все цифры в записи числа равны». Если предикат истинен, то вывести эту цифру.

10
zss
Модератор
Эксперт С++
6567 / 6129 / 2021
Регистрация: 18.12.2011
Сообщений: 15,982
Завершенные тесты: 1
30.06.2014, 11:29 #2
Если цифры нумеровать справа налево, то так:
C++
1
2
3
4
5
6
7
8
9
10
cout<<"Введите натуральное число:";
  int n;cin>>n;
  int d1=n%10;
  int d2=(n/10)%10;
  cout<<"1-я цифра числа:"<<d1<<endl;
  if(d1%2==0)
     cout<<"Она четная"<<endl;
  else
     cout<<"Она нечетная"<<endl;
  cout<<"2-я цифра числа:"<<d2<<endl;
Если слева направо, то так:
C++
1
2
3
4
5
6
7
8
9
10
cout<<"Введите натуральное число:";
  unsigned char str[100];cin>>str;
  int d1=str[0]-'0';
  int d2=str[1]-'0';
  cout<<"1-я цифра числа:"<<d1<<endl;
  if(d1%2==0)
     cout<<"Она четная"<<endl;
  else
     cout<<"Она нечетная"<<endl;
  cout<<"2-я цифра числа:"<<d2<<endl;
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
30.06.2014, 11:32 #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
#include <iostream>
#include <string>
 
int main()
{
    int n;
    
    std::cout << "Enter number: ";
    std::cin >> n;
 
    std::string strn = std::to_string(n);
 
    std::cout << "\n1 digit: " << strn[0] << std::endl;
    std::cout << "2 digit: " << strn[1] << std::endl;
 
    char fdig = strn[0];
 
    if (!(atoi(&fdig) % 2))
        std::cout << "\n1 digit is even. \n";
    else
        std::cout << "\n1 digit is not even. \n";
 
    return 0;
}
0
Aleksey13_
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 4
30.06.2014, 13:13  [ТС] #4
Выдает следующую ошибку
--------------------Configuration: 1зад - Win32 Debug--------------------
Compiling...
1зад.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\1зад\1зад.cpp(11) : error C2039: 'to_string' : is not a member of 'std'
C:\Program Files\Microsoft Visual Studio\MyProjects\1зад\1зад.cpp(11) : error C2065: 'to_string' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\1зад\1зад.cpp(11) : error C2440: 'initializing' : cannot convert from 'int' to 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.

1зад.exe - 3 error(s), 0 warning(s)
0
Psilon
Master of Orion
Эксперт .NET
5912 / 4809 / 634
Регистрация: 10.07.2011
Сообщений: 14,409
Записей в блоге: 5
Завершенные тесты: 4
30.06.2014, 13:16 #5
Цитата Сообщение от zss Посмотреть сообщение
Если слева направо, то так:
-10, что дальше?

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout<<"Введите натуральное число:";
  int n;cin>>n;
  while (abs(n) >= 100)
     n /= 10;
  int d1=(n/10)%10;
  int d2=n%10;
  cout<<"1-я цифра числа:"<<d1<<endl;
  if(d1%2==0)
     cout<<"Она четная"<<endl;
  else
     cout<<"Она нечетная"<<endl;
  cout<<"2-я цифра числа:"<<d2<<endl;
0
zss
Модератор
Эксперт С++
6567 / 6129 / 2021
Регистрация: 18.12.2011
Сообщений: 15,982
Завершенные тесты: 1
30.06.2014, 14:09 #6
-10 не натуральное.
0
Psilon
Master of Orion
Эксперт .NET
5912 / 4809 / 634
Регистрация: 10.07.2011
Сообщений: 14,409
Записей в блоге: 5
Завершенные тесты: 4
30.06.2014, 14:13 #7
zss, эх, так и знал, что это будет сказано

Тогда такой вариант: 00001201, правильный ответ - 1 и 2 , у вас - 0 и 0
1
zss
Модератор
Эксперт С++
6567 / 6129 / 2021
Регистрация: 18.12.2011
Сообщений: 15,982
Завершенные тесты: 1
30.06.2014, 14:17 #8
Цитата Сообщение от Psilon Посмотреть сообщение
эх, так и знал, что это будет сказано
эх, так и знал, что Вы об этом подумаете
Еще хуже, если будет введено (O - буква):
1O2O1
Но пусть ТС об этом подумает.
1
Новичок
Модератор
1278 / 825 / 189
Регистрация: 17.07.2012
Сообщений: 4,352
Записей в блоге: 1
Завершенные тесты: 3
30.06.2014, 14:30 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian" );
    cout<<"Введите натуральное число:";
    int a,n;
    cin>>n;
    while (n>=100) n/=10;
    a=n/10;
    cout<<"Первые две цифры числа:"<<n<<endl;
    cout<< ((a%2==0) ? "Первая цифра четная." : "Первая цифра нечетная.");
    getch();
    return 0;
}
1
Aleksey13_
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 4
30.06.2014, 19:05  [ТС] #10
Цитата Сообщение от Новичок Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian" );
    cout<<"Введите натуральное число:";
    int a,n;
    cin>>n;
    while (n>=100) n/=10;
    a=n/10;
    cout<<"Первые две цифры числа:"<<n<<endl;
    cout<< ((a%2==0) ? "Первая цифра четная." : "Первая цифра нечетная.");
    getch();
    return 0;
}
А как работает этот код объЯсните пожалуйста
0
Новичок
Модератор
1278 / 825 / 189
Регистрация: 17.07.2012
Сообщений: 4,352
Записей в блоге: 1
Завершенные тесты: 3
30.06.2014, 19:13 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian" );//Это чтобы нормально русский шрифт выводился,можно убрать
    cout<<"Введите натуральное число:";//Выводим на экран
    int a,n;//Объявляем переменные - целые числа
    cin>>n;//Вводим с клавиатуры переменную n
    while (n>=100) n/=10;//В цикле пока n>100 делим(деление целочисленное,остаток отбрасывается) n на 10
    a=n/10;//Делим n на 10 получая первую цифру
    cout<<"Первые две цифры числа:"<<n<<endl;//Выводим на экран n, в котором содержятся первые 2 цифры
    cout<< ((a%2==0) ? "Первая цифра четная." : "Первая цифра нечетная.");//Если первая цифра четная(%-операция остатка), выводим одно, иначе другое
    getch();//Для паузы, можно убрать
    return 0;
}
1
30.06.2014, 19:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 19:13
Привет! Вот еще темы с ответами:

Переставить первую и последнюю цифры числа натурального числа n - C++
Переставить первую и последнюю цифры числа натурального числа n! Заранее спасибо!

Вывести цифры заданного натурального числа - C++
Помогите пожалуйста. Нужно: Вывести цифры заданного натурального числа.

Ввести пять чисел. Вывести первые две цифры чисел. - C++
Ввести пять чисел. Вывести первые две цифры чисел. Использовать свою функцию, которая не возвращает значение.

Переставить первую и последнюю цифры натурального числа - C++
Дано натуральное число n, переставить первую и последнюю цифры числа.Если число n&lt;10,то вывести просто число. Выходные данные вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.