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

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

Восстановить пароль Регистрация
 
Aleksey13_
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 4
30.06.2014, 11:19     Найти две первые цифры натурального числа #1
Задача
Дано натуральное число:
  • найти две первые цифры числа;
  • верно ли, что первая цифра числа четная.

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.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 11:19     Найти две первые цифры натурального числа
Посмотрите здесь:

C++ Выбросить из записи введенного натурального числа n цифры 0 и 5
C++ Если у данного натурального четырехзначного числа все цифры одинаковые, то найти их сумму, в противном случае их произведение
Переставить первую и последнюю цифры числа натурального числа n C++
C++ Определение максимальной и минимальной цифры натурального числа
Для натурального числа определить истинность предиката «все цифры в записи числа равны» C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 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;
Issues
429 / 364 / 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;
}
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)
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 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;
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
30.06.2014, 14:09     Найти две первые цифры натурального числа #6
-10 не натуральное.
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 5
Завершенные тесты: 4
30.06.2014, 14:13     Найти две первые цифры натурального числа #7
zss, эх, так и знал, что это будет сказано

Тогда такой вариант: 00001201, правильный ответ - 1 и 2 , у вас - 0 и 0
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
30.06.2014, 14:17     Найти две первые цифры натурального числа #8
Цитата Сообщение от Psilon Посмотреть сообщение
эх, так и знал, что это будет сказано
эх, так и знал, что Вы об этом подумаете
Еще хуже, если будет введено (O - буква):
1O2O1
Но пусть ТС об этом подумает.
Новичок
Модератор
 Аватар для Новичок
1141 / 712 / 148
Регистрация: 17.07.2012
Сообщений: 4,043
Записей в блоге: 1
Завершенные тесты: 2
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;
}
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;
}
А как работает этот код объЯсните пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 19:13     Найти две первые цифры натурального числа
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Новичок
Модератор
 Аватар для Новичок
1141 / 712 / 148
Регистрация: 17.07.2012
Сообщений: 4,043
Записей в блоге: 1
Завершенные тесты: 2
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;
}
Yandex
Объявления
30.06.2014, 19:13     Найти две первые цифры натурального числа
Ответ Создать тему
Опции темы

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