2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
1

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

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

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

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

Заранее благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2012, 07:42
Ответы с готовыми решениями:

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

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

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

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

49
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:06  [ТС] 21
Author24 — интернет-сервис помощи студентам
Лжец, Не проходит


diagon, А это сработало Только всегда пишет true

Добавлено через 1 минуту
А если поменять местами , то пишет false. В чём проблемы ?
0
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 15:09 22
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
А если поменять местами , то пишет false. В чём проблемы ?
А строку написать в файле "input.txt" вы не забываете?
0
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:11  [ТС] 23
Вот так сейчас код выглядит.
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("C:\Users\I_SEE_YOU\Desktop\input.txt");
    char sum = 0;
    for (char ch; ifs >> ch && isdigit(ch); sum += ch, sum %= 9);
    cout << (!ifs && !sum ? "true" : "false" );
    return 0;
}
Добавлено через 39 секунд
Цитата Сообщение от Лжец Посмотреть сообщение
А строку написать в файле "input.txt" вы не забываете?
Написал
0
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 15:15 24
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
Написал
И все равно не работает? Попробуйте запустить exe'шник не из ide.
0
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:23  [ТС] 25
Цитата Сообщение от Лжец Посмотреть сообщение
И все равно не работает? Попробуйте запустить exe'шник не из ide.
Программа запускается , но выдаёт один и тот же ответ "true" даже притом , что я меняю текст в txt
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.06.2012, 15:27 26
А какой текст вы вводите в input.txt?
0
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 15:30 27
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
Программа запускается , но выдаёт один и тот же ответ "true" даже притом , что я меняю текст в txt
Положите файл рядом с экзешником. Уберите путь из исходного кода, оставив только ifstream ifs("input.txt"); и сделайте ребилд, введите туда например 11 (выдаст результат false). После чего самостоятельно запустите экзешник, не через среду borland. Должно сработать Ошибки в коде - нет.
0
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:31  [ТС] 28
Цитата Сообщение от diagon Посмотреть сообщение
А какой текст вы вводите в input.txt?
что то вроде этого 1ыаы2цуа2уца3
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.06.2012, 15:33 29
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
что то вроде этого 1ыаы2цуа2уца3
Ну так это русские символы.
Не факт, что они вообще правильно считываются и поток на них не ломается, но можно попробовать изменить условие
C++
1
for (char ch; ifs >> ch && ch >= '0' && ch <= '9'; sum += ch, sum %= 9);
0
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:34  [ТС] 30
А может быть косяк в том , что мне надо было перезапускать программу , когда я менял txtшник ?
0
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 15:37 31
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
А может быть косяк в том , что мне надо было перезапускать программу , когда я менял txtшник ?
Вообще да Перезапустили, работает?
0
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 15:39  [ТС] 32
Цитата Сообщение от Лжец Посмотреть сообщение
Вообще да Перезапустили, работает?
Теперь пишет всё время "false")
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.06.2012, 15:41 33
Скорее всего, поток ломается из-за русских символов. Проблема именно в том, что вы используете символы, которые не влезают в тип char(точнее, они могут влезать, но это на всех компиляторах по разному реализовано).
1
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 15:41 34
Каждый раз, когда вы меняете значение в файле txt - программу нужно перезапускать Ну или переписать программу, что бы она постоянно проверяла значение в текстовом файле или требовала ввод с клавиатуры новой строки.
1
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
41 / 41 / 4
Регистрация: 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
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
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
2 / 2 / 0
Регистрация: 15.05.2012
Сообщений: 72
03.06.2012, 16:09  [ТС] 38
Joke+R, Вроде ничего не изменилось


Лжец, Он всегда выводит "false"
0
41 / 41 / 4
Регистрация: 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
34 / 33 / 6
Регистрация: 13.12.2011
Сообщений: 107
03.06.2012, 16:14 40
Цитата Сообщение от Takezo Kensai Посмотреть сообщение
Он всегда выводит "false"
Не может быть такого. Какие значения вы вводите?
0
03.06.2012, 16:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2012, 16:14
Помогаю со студенческими работами здесь

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

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

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

Проверить является ли строка десятичной записью числа, кратного 3
Задание: для заданных трёх строк определить, какая из них является десятичной записью числа,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru