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

Оканчивается ли число на 1? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
16.10.2010, 23:22     Оканчивается ли число на 1? #1
Помогите пожалуйста с алгоритмом, мне нужно определить, когда число оканчивается на 1 (кроме 11), т.е. 1, 21, 31, 41 и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2010, 23:22     Оканчивается ли число на 1?
Посмотрите здесь:

Определить оканчивается ли целое число цифрой 7 C++
Выяснить нечетное ли число и оканчивается ли на 6. C++
C++ Некоторое число оканчивается на 2
Некоторое число оканчивается на 2. Если же эту его последнюю цифру переставить на первое место, то число удвоится. Найти это число C++
C++ Определить, сколько слов оканчивается на заданную букву
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.10.2010, 23:34     Оканчивается ли число на 1? #2
C++
1
bool ends1(int val) { return val % 10 == 1 && val != 11; }
Unforgiven_00
60 / 60 / 2
Регистрация: 12.10.2010
Сообщений: 129
16.10.2010, 23:34     Оканчивается ли число на 1? #3
Если число минус адын делится на 10
Knockkk
14 / 14 / 2
Регистрация: 10.10.2010
Сообщений: 42
16.10.2010, 23:35     Оканчивается ли число на 1? #4
C++
1
2
3
4
5
6
double chislo;
double res1;
res1=(chislo-1)/10;
res2=int(res1);
if ((res1==res2) && (res2!=1))
  // число верное
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
16.10.2010, 23:39     Оканчивается ли число на 1? #5
Knockkk, велосипедищще!
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
16.10.2010, 23:46  [ТС]     Оканчивается ли число на 1? #6
Спасибо!)))

Добавлено через 1 минуту
Цитата Сообщение от neske Посмотреть сообщение
велосипедищще!
Согласен. Но всеравно спасибо
Я тоже думал через остаток но не додумался разделить на 10)))
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
17.10.2010, 07:57     Оканчивается ли число на 1? #7
double chislo;
double res1;
res1=(chislo-1)/10;
res2=int(res1);
if ((res1==res2) && (res2!=1))
Cчитать через double - это большой изврат

Добавлено через 5 минут
И приведенный код Knockkk неправильный
Если взять chislo == -9, то ответ будет "число верное"
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.10.2010, 11:45     Оканчивается ли число на 1? #8
Цитата Сообщение от Unforgiven_00 Посмотреть сообщение
Если число минус адын делится на 10
да уж, проблема...
C++
1
2
#include <cstdlib>
bool ends1(int val) { return abs(val) % 10 == 1 && val != 11; }
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
17.10.2010, 12:28  [ТС]     Оканчивается ли число на 1? #9
Ну на самом деле мне неважно про -1, т.к. я изначально проверяю это число чтобы оно было >0
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
17.10.2010, 15:48     Оканчивается ли число на 1? #10
#include <cstdlib>
bool ends1(int val) { return abs(val) % 10 == 1 && val != 11; }
easybudda, зря ты испугался
На самом деле при val == -1
код val % 10 выдает -1
поэтому проверка val % 10 == 1 не срабатывает
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
20.10.2010, 19:41  [ТС]     Оканчивается ли число на 1? #11
Вот еще задача: нужно обработать случаи, когда число оканчивается на *,5(точнее больше него), т.е. 2,5; 2,5709. Тоже %10?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.10.2010, 19:47     Оканчивается ли число на 1? #12
Тут надо сначала умножить на 10, потом привести к инту и взять остаток от деления.
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
20.10.2010, 20:03  [ТС]     Оканчивается ли число на 1? #13
эээ... а можно код?) и на что делить?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.10.2010, 20:07     Оканчивается ли число на 1? #14
А логически подумать?)))
C++
1
lastNum = (int)(num * 10.0) % 10;
Т.е. имеем 2.543.
Сначала умножаем на 10. Получаем 25.43.
Затем приводим к инт (т.е. по сути берём целую часть) - получаем 25.
А потом остаток от деления на 10 - получаем последнюю цифру числа - 5.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2010, 20:15     Оканчивается ли число на 1?
Еще ссылки по теме:

Определить, на какую цифру, чётную или нечётную, оканчивается число C++
Написать программу, которая определяет, оканчивается ли данное целое число цифрой 7 C++
C++ Дано натуральное число. Определить оканчивается ли оно цифрой 7 C++

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

Или воспользуйтесь поиском по форуму:
shalad
 Аватар для shalad
7 / 7 / 0
Регистрация: 17.05.2010
Сообщений: 122
20.10.2010, 20:15  [ТС]     Оканчивается ли число на 1? #15
Точно, туплю))) спасибо)))
Yandex
Объявления
20.10.2010, 20:15     Оканчивается ли число на 1?
Ответ Создать тему
Опции темы

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