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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
#1

Текст является десятичной записью числа, кратного 9 - C++

03.06.2012, 07:42. Просмотров 3051. Ответов 49
Метки нет (Все метки)

Добрый всем день. Помогите мне решить данное задание , я плохо разбираюсь в этом языке программирования ,т.к. мягко говоря ,наш преподаватель - не компетентен.

1.Текст является десятичной записью числа, кратного 9.

Заранее благодарен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 07:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Текст является десятичной записью числа, кратного 9 (C++):

Проверить, является ли текст десятичной записью числа, кратного 5 - C++
Задан текст,состоящий из букв и цифр. Определить удовлетворяет ли он следующему свойству: текст является десятичной записью числа, ...

Определить, является ли текст десятичной записью числа, кратного 9 - C++
Является ли текст записью десятичного числа,кратного 9 В заданный непустой текст входят только цифры и буквы. Определить. ...

Определить, является ли текст десятичной записью числа, кратного 5 - C++
Задан текст,состоящий из букв и цифр.Определить удовлетворяет ли он следующему свойству:текст является десятичной записью числа,кратного 5....

Определить, является ли текст десятичной записью числа, кратного 5 - C++
Задан текст,состоящий из букв и цифр. Определить удовлетворяет ли он следующему свойству: текст является десятичной записью числа, ...

ООП. Определить, является ли текст десятичной записью числа, кратного 4 - C++
Задан текст, в который входят буквы и цифры. Определить, является ли текст десятичной записью числа, кратного 4. Как написать эту...

Строки: является ли текст записью десятичного числа, кратного 4 - C++
В заданный непустой текст входят только цифры и буквы. Определить, является ли текст записью десятичного числа, кратного 4.

49
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 15:37 #31
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
А может быть косяк в том , что мне надо было перезапускать программу , когда я менял txtшник ?
Вообще да Перезапустили, работает?
0
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:39  [ТС] #32
Цитата Сообщение от Лжец Посмотреть сообщение
Вообще да Перезапустили, работает?
Теперь пишет всё время "false")
0
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.06.2012, 15:41 #33
Скорее всего, поток ломается из-за русских символов. Проблема именно в том, что вы используете символы, которые не влезают в тип char(точнее, они могут влезать, но это на всех компиляторах по разному реализовано).
1
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 15:41 #34
Каждый раз, когда вы меняете значение в файле txt - программу нужно перезапускать Ну или переписать программу, что бы она постоянно проверяла значение в текстовом файле или требовала ввод с клавиатуры новой строки.
1
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:49  [ТС] #35
Цитата Сообщение от diagon Посмотреть сообщение
Ну так это русские символы.
Не факт, что они вообще правильно считываются и поток на них не ломается, но можно попробовать изменить условие
C++
1
for (char ch; ifs >> ch && ch >= '0' && ch <= '9'; sum += ch, sum %= 9);
Изменил , но ничего не произошло

Добавлено через 6 минут
А если переделать так , чтобы текст вводить с клавиатуры ?
0
Joke+R
41 / 41 / 3
Регистрация: 18.11.2011
Сообщений: 112
03.06.2012, 15:57 #36
попробуй тогда
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <fstream.h>
#include <ctype.h>
 
int main()
{
    ifstream ifs("input.txt");
    char sum = 0;
    for (char ch; ifs >> ch && isdigit(ch); sum += ch, sum %= 9);
    if (!ifs && !sum) cout<< "false";
    else cout<<"true";
}
0
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 15:58 #37
Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#include <fstream.h>
#include <ctype.h>
 
int main()
{
    char str[256];
    cout << "Enter string: ";
    cin.getline(str,255);
    char sum = 0;int i=0;
    for (char ch;  ch=str[i], isdigit(ch); sum += ch, sum %= 9, i++);
    
    cout << (!str[i] && !sum ? "true" : "false" );
    return 0;
}
1
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 16:09  [ТС] #38
Joke+R, Вроде ничего не изменилось


Лжец, Он всегда выводит "false"
0
Joke+R
41 / 41 / 3
Регистрация: 18.11.2011
Сообщений: 112
03.06.2012, 16:13 #39
попробуй так
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
#include <iostream.h>
#include <fstream.h>
#include <ctype.h>
 
int main()
{
    char arr[250];
    int i = 0;
    char end = 1;
    while (end)
{
cout<<"1 - add new\n0 - finish add";
cin>>end;
if (end) 
{
cout<<"Enter:";
cin>>arr[i++];
 
}
}
    char sum = 0;
    for (char ch; ch = arr[--i] && isdigit(ch); sum += ch, sum %= 9);
    if (!sum) cout<< "false";
    else cout<<"true";
}
0
Лжец
31 / 31 / 3
Регистрация: 13.12.2011
Сообщений: 106
03.06.2012, 16:14 #40
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
Он всегда выводит "false"
Не может быть такого. Какие значения вы вводите?
0
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 16:21  [ТС] #41
Цитата Сообщение от Лжец Посмотреть сообщение
Не может быть такого. Какие значения вы вводите?
Когда просто цифры вводишь , он всё нормально выдаёт , а когда вводишь буквы с цифрами , то false
0
Joke+R
41 / 41 / 3
Регистрация: 18.11.2011
Сообщений: 112
03.06.2012, 16:28 #42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#include <fstream.h>
#include <ctype.h>
 
int main()
{
    char str[256];
    cout << "Enter string: ";
    cin.getline(str,255);
    char sum = 0;int i=0;
    for (char ch;  ch=str[i], isdigit(ch); sum += ch - '0', sum %= 9, i++);
    
    cout << ( !sum ? "true" : "false" );
    return 0;
}
1
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 16:34  [ТС] #43
Joke+R, Тоже на просто введенные цифры работает , если вместе с буквами вводить , то только false
0
Joke+R
41 / 41 / 3
Регистрация: 18.11.2011
Сообщений: 112
03.06.2012, 16:36 #44
'9s' true...
а какой результат должен быть когда букву введешь, чёт я не въеду никак...
0
Takezo Kensai
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 16:41  [ТС] #45
Кажись всё нормально работает Всем огромное спасибо за помощь !!
0
03.06.2012, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 16:41
Привет! Вот еще темы с ответами:

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

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

Определить, является ли заданный текст двоичной записью числа, кратного 6 - C++
Вот моя программа,она вроде работает верно,но есть цисла ,для которых она считает не верно или вообще не считает,помогите...

Дан текст. Определить, является ли он правильной десятичной записью вещественного числа - C++
Вот можете проверить пожалуйста #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s; ...


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

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

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