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

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

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

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

09.03.2010, 13:37. Просмотров 923. Ответов 7
Метки нет (Все метки)

помогите пожалуйста)) нужно к сегодняшнему дню до 19:00

Дана строка. Выяснить является ли эта строка записью десятичного вещественного числа. Функции преобразования типов не использовать.
Входные данные:
Строка символов s.
Выходные данные:
Сообщение YES, если строка s является аписью десятичного вещественного числа. И сообщение NO в противном случае. Сообщение выводится в одной строке заглавными латинскими буквами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2010, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выяснить является ли заданная строка записью десятичного вещественного числа. (C++):

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

Строки. Определить, является ли он правильной десятичной записью вещественного числа - C++
Дан текст. Определить, является ли он правильной десятичной записью вещественного числа. Помогите с алгоритмом, пожалуйста. Что и в...

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

Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака - C++
Помогите с задачами. 1)Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака. 2)...

Перевод вещественного десятичного числа в любую СС - C++
При запуске программы пользователь вводит вещественное число, записанное в десятичной системе и основание системы счисления, в которую он...

Перевод десятичного вещественного числа в новую систему счисления - C++
Перевод десятичного вещественного числа в новую систему счисления. Само число и основание новой системы счисления должны вводится со...

7
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2010, 15:19 #2
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
26
27
28
29
30
31
32
#include <iostream>
#include <string>
#include <iterator>
#include <algorithm>
 
bool real(std::string::iterator it)
{
    if(*it=='.')
        return true;
        else if(*it=="-")
                return true;
    else if((*(it)>='0')&&(*(it)<='9'))
        return true;
    else
        return false;
}
 
int main()
{
    std::string string;
    std::getline(std::cin, string);
    bool rl=true;
    for(std::string::iterator it=string.begin(); it<string.end(); ++it)
        if(!real(it))
        {
            rl=false;
            break;
        }
    std::cout << ( rl ? "YES" : "NO" ) << std::endl;
    system("pause");
    return EXIT_SUCCESS;
}
Щас еще для С напишу...

Добавлено через 14 минут
Вот:
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
26
27
28
29
30
#include <stdio.h>
#include <stdlib.h>
 
int real(char ch)
{
    if(ch=='.')
        return 1;
    if(ch=='-')
        return 1;
    else if((ch>='0')&&(ch<='9'))
        return 1;
    else
        return 0;
}
 
int main()
{
    char string[80];
    unsigned int i, rl=1;
    scanf("%s", string);
    for(i=0; string[i]!='\0'; ++i)
        if(!real(string[i]))
        {
            rl=0;
            break;
        }
 
    printf(( rl ? "YES\n" : "NO\n"));
    system("pause");
}
1
ancara
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 18
09.03.2010, 15:24  [ТС] #3
спасибо Вам большое)) Вы меня очень выпучили))))

unsigned
system("pause")

объясните пожалуйста, что это и зачем??)
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2010, 15:38 #4
unsigned int - беззнаковое целое. В принципе, в данной программе не важно, как определять переменные i, rl (знаковыми или беззнаковыми).

Цитата Сообщение от ancara Посмотреть сообщение
system("pause")
Если запускать программму из моего IDE (MS VS 2008), а не из командной строки, то окно консоли появится и сразу пропадет, и результаты посмотреть не получится.
Фyнкция system(char* command) выполняет команду command DOS'а, в данном случае - команду pause, которая ждет нажатия на любую клавишу, т.е. таким образом я смогу посмотреть результаты работы программы до того, как она завершится
0
ancara
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 18
09.03.2010, 15:46  [ТС] #5
ясно))
спасибо))

Добавлено через 5 минут
Используя функцию обмена значениями двух переменных, напишите программу, инвертирующую статический массив целых чисел из 12 элементов.
Входные данные:
Двенадцать целых чисел в одной строке, разделенные пробелами.
Выходные данные:
Двенадцать целых чисел в одной строке, разделенные пробелами, представляющие инвертированный массив.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
int ob(int *a,int *b)
{
int c=*a;
*a=*b;
*b=c;
}
 
void main(){
int i,j=12;
int a[12];
for (i=0;i<12;i++)
scanf("%i",&a[i]);
for (j=0;j<6;j++){
ob(a[i],a[j]);
j--;
}
for (i=0;i<12;i++)
printf("%i ",a[i]);
}
можете помочь?? что не так?? не работает))
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2010, 16:05 #6
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
 
void ob(int *a,int *b)
{
    int c=*a;
    *a=*b;
    *b=c;
}
 
void main()
{
    int i;
    int a[12];
    for (i=0;i<12;i++)
        scanf("%i",&a[i]);
    for(i=0; i<6; i++)
        ob(&a[i], &a[11-i]);
    for (i=0;i<12;i++)
        printf("%i ",a[i]);
}
Добавлено через 2 минуты
У тебя функция ob(int *a,int *b) объявлена как int, а значения не возвращает, это ошибка; нужно объявить как void. Параметрами функция принимает указатели на переменные типа int, значит, при вызове нужно передавать не переменную, а ее адрес (см. 17 строку у меня)
0
ancara
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 18
09.03.2010, 16:19  [ТС] #7
еще раз спасибо за помощь!)))))))
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
09.03.2010, 16:21 #8
Да пожалуйста...
0
09.03.2010, 16:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2010, 16:21
Привет! Вот еще темы с ответами:

Перевод десятичного вещественного числа в двоичное путем побитовых операций (Делить на 2 нельзя) - C++
Нужно написать код на С++, который переводит вещественное десятичное число в двоичное с помощью битовых операторов(Сдвиги, &amp;, | и т.п) ...

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

Определить, является ли заданная строка палиндромом - C++
1. Определить, является ли заданная строка палиндромом (пример палиндрома:'А РОЗА УПАЛА НА ЛАПУ АЗОРА'). Ответ “YES” или “NO”. С++ ...

Является ли заданная строка правильным IP-адресом - C++
В сети интернет каждому компьютеру присваивается четырехбайтовый код, который принято записывать в виде четырех чисел, каждое из которых...


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

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

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