Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 58
1

Программа, которая определяет, является ли заданная строка правильным IP-адресом

29.07.2017, 20:35. Показов 5463. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Вот задание
В сети интернет каждому компьютеру присваивается четырехбайтовый код, который принято записывать в виде четырех чисел, каждое из которых может принимать значения от 0 до 255, разделенных точками. Вот примеры правильных IP-адресов:
127.0.0.0
192.168.0.1
255.0.255.255
Напишите программу, которая определяет, является ли заданная строка правильным IP-адресом.

Входные данные

Программа получает на вход строку из произвольных символов.
Выходные данные

Если эта строка является корректной записью IP-адреса, выведите YES, иначе выведите NO.
Примечание

Для перевода из строки в число удобно пользоваться функцией stoi, которая принимает на вход строку, а возвращает число.

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
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
   int k, point, s;
   string adress, str;
    k = 0;
    getline(cin, adress);
    for (auto c : adress){
        if (c == '.'){
            s = stoi (str);
            k++;
            if (k > 3 || s < 0 || s > 255 || str == ""){
                k = 0;
                break;
            }else{
                str = "";
            }
        }else {
            str = str + c;
        }
    }
    if (k == 3){
        cout << "YES";
    }else{
        cout << "NO";
    }
В общем загвоздка в том, что не знаю как задать if, который определял бы является символ числом или буквой, т.к. в качестве теста подают на вход буквы и компилятор ругается, потому что stoi не работает с буквами. Была мысль преобразовать строковый символ в чар, а затем по анси задать границы, но не получается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2017, 20:35
Ответы с готовыми решениями:

Напишите программу, которая определяет, является ли заданная строка правильным IP-адресом
Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он...

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

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

Определить, является ли заданная строка правильным IP-адресом
Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он...

3
1494 / 1209 / 821
Регистрация: 29.02.2016
Сообщений: 3,614
29.07.2017, 20:39 2
https://stackoverflow.com/ques... dress-in-c
0
62 / 62 / 34
Регистрация: 09.07.2017
Сообщений: 475
29.07.2017, 20:41 3
Qitelery,
C++
1
2
isalpha(symb); //проверка на букву
isdigit(symb); //проверка на цифру
afront, я так понимаю, что это учебное задание, поэтому такое вряд ли прокатит.
1
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
29.07.2017, 20:59 4
Цитата Сообщение от Qitelery Посмотреть сообщение
В сети интернет каждому компьютеру присваивается четырехбайтовый код, который принято записывать в виде четырех чисел, каждое из которых может принимать значения от 0 до 255, разделенных точками
окей, а является ли адрес 0.0.0.0 правильным? Если судить исходя из твоего определения, то да, если из здравой логики - нет. Также адрес 192.168.0.255 в сети с маской 255.255.255.0 является широковещательным и не может быть присвоен компьютеру.
0
29.07.2017, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2017, 20:59
Помогаю со студенческими работами здесь

Регулярные выражения - является ли заданная строка правильным MAC-адресом?
Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом. –...

Написать регулярное выражение определяющее является ли заданная строка правильным MAC-адресом
Доброго времени суток:) Помогите пож. решить задачу 5.Написать регулярное выражение определяющее...

Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом
Написать регулярное выражение, определяющее является ли заданная строка правильным MAC-адресом....

Является ли строка правильным e-mail - адресом
Добрый день. Есть кодstring = &quot;123-451-38 56/16/23 my@mail.ru(34) 16.апреля.2015&quot; regex =...

Определите является ли заданная строка правильным скобочным выражением
Пожалуйста готовый код Дана последовательность скобок вида «(», «)», «», «{», «}». Правильными...

Проверка, является ли заданная строка адресом веб-страницы
Как сделать такую проверку в c#?


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

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