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

Проверка на IP-адрес - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проги С++ http://www.cyberforum.ru/cpp-beginners/thread211295.html
Люди помогите написать программы на языке С++!!! Очень надо!!!! Горит зачёт!!!! Вот задания: 1) Дано натуральное число n . Требуется получить последовательность , которая состоит из нулей и семёрок и образует десятичную запись некоторого натурального числа , делящегося на n. 2) Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементом. 3)...
C++ алгоритм быстрый поиск нашел в интернете описание алгоритма быстого поиска Быстрый поиск Сдвиг плохого символа, используемый в алгоритме Боуера - Мура, не очень эффективен для маленького алфавита, но, когда размер алфавита большой по сравнению с длиной образца, как это часто имеет место с таблицей ASCII и при обычном поиске в текстовом редакторе, он становится чрезвычайно полезен. Использование в алгоритме... http://www.cyberforum.ru/cpp-beginners/thread211288.html
C++ В массиве целых чисел поменять местами минимальный и максимальный элементы
Эту задачу можно как нибудь упростить? #include <stdio.h> #define N 3 #define M 3 struct index{ int i; int j; }min_idx,max_idx;
Одномерный массив C++
Помогите переделать эту задачу так чтобы в самом начале задачи вводился массив))) Вот само условие:Вычислить среднее арифметическое элементов массива Х, расположенных между его минимальным и максимальным значениями. Если минимальный элемент размещается в массиве раньше максимального, то упорядочить массив на данном промежутке по возрастанию его элементов (возможна и обработка ситуации)....
C++ Односвязанные списки http://www.cyberforum.ru/cpp-beginners/thread211276.html
Здравствуйте! Создал односвязанный список, нужно к нему ещё такие методы класса List: 1. Добавление элемента в заданную позицию 2. Удаление с заданной позиции. Помогите, а то запутался с указателями struct ele {
C++ Массив структур Пожалуйста, помогите с программой. Задание: разработать программу , позволяющую добавлять данные структур с указанными полями в массив. Поля структуры: тип компьютера, год выпуска, цена. Операция: удалить все компьютеры с заданным годом выпуска. подробнее

Показать сообщение отдельно
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.12.2010, 10:14     Проверка на IP-адрес
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
33
34
35
36
37
38
39
#include <stdio.h>
 
int func(const char *s);
 
int main(void)
{
    const char *sa, *sb;
    
    sa = "127.0.0.1";
    sb = "0.0.0.0";
    
    if (func(sa))
        printf("sa: %s" "\n", sa);
    if (func(sb))
        printf("sb: %s" "\n", sb);
    
    return 0;
}
 
#include <stdlib.h>
#include <ctype.h>
 
int func(const char *s)
{
    char *p;
    int i, n;
    
    for (i = 0; i < 4; i++) {
        if (!isdigit((unsigned char) *s))
            return 0;
        n = strtol(s, &p, 10);
        if (n < 0 || n > 255)
            return 0;
        if (i + 1 < 4 && *p != '.')
            return 0;
        s = p + (i + 1 < 4);
    }
    return *s == '\0';
}
Код
[guest@localhost tests]$ ./t
sa: 127.0.0.1
sb: 0.0.0.0
[guest@localhost tests]$
Добавлено через 4 минуты
там ещё переполнение проверять можно
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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
 
int func(const char *s);
 
int main(void)
{
    const char *sa, *sb;
    
    sa = "1111111111111.0.0.1";
    sb = "0.0.0.0";
    
    if (func(sa))
        printf("sa: %s" "\n", sa);
    if (func(sb))
        printf("sb: %s" "\n", sb);
    
    return 0;
}
 
#include <stdlib.h>
#include <ctype.h>
#include <errno.h>
 
int func(const char *s)
{
    char *p;
    int i, n;
    
    for (i = 0; i < 4; i++) {
        if (!isdigit((unsigned char) *s))
            return 0;
        n = strtol(s, &p, 10);
#if 1
        printf("%d %d" "\n", n, errno);
        if (errno)
            perror("");
#endif
        if (n < 0 || n > 255)
            return 0;
        if (i + 1 < 4 && *p != '.')
            return 0;
        s = p + (i + 1 < 4);
    }
    return *s == '\0';
}
Код
[guest@localhost tests]$ ./t
2147483647 34
Numerical result out of range
0 34
Numerical result out of range
0 34
Numerical result out of range
0 34
Numerical result out of range
0 34
Numerical result out of range
sb: 0.0.0.0
[guest@localhost tests]$
 
Текущее время: 16:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru