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

Преобразовать string в последовательность чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру с именем TRAIN http://www.cyberforum.ru/cpp-beginners/thread149005.html
Описать структуру с именем TRAIN, содержащую следующие поля:  название пункта назначения;  номер поезда;  время отправления. Написать программу, выполняющую следующие действия:  ввод с...
C++ Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных. Порядок следования ненулевых элементов относительно друг друга не менять. http://www.cyberforum.ru/cpp-beginners/thread149004.html
C++ Шаблоны функций
Добрый день, помогите, пожалуйста, найти ошибку - почему-то оказываюсь за пределами массива: #include<iostream.h> #include<conio.h> #include<iomanip.h> template <class T> void print(T *m,...
C++ Какой компилятор лучше выбрать для проганья на C++?
Добрый день господа,очень хочу попросить совета профессионалов. Учусь программированию на С++,С,но столкнулся с дилеммой,что выбрать к примеру:Visual C,или Dev? Пользую учебник Харви&Пола...
C++ Вывод на экран алфавита http://www.cyberforum.ru/cpp-beginners/thread148993.html
Помогите пожалуйста написать программу, в которой требуется вывести на экран все малые буквы латинского алфавита и их коды.
C++ Как поставить программу на паузу? Можно как то остановить выполнение программы C++ на пол секунды? И затем запустить снова. Если такое возможно то приведите плз пример в коде. подробнее

Показать сообщение отдельно
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
20.07.2010, 04:12
выборочное копирование

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXNUMBER    100
#define MAXINTARRAY  100
#define SELECTVALUE  0
 
int TranslateBin(int [], const char *, int);
int PrintArr(const int *, int);
int SelectByValue(int [], const int [],
                  size_t, const int);
 
/* переводит строковые записи двоичных чисел
   в целочисленные массивы;
   выборочно копирует отдельные числа
   из одного массива в другой по заданному значению */
int main(void) /* ANSI C89 */
{
    char num1[MAXNUMBER] = "010101010101010101";
    char num2[MAXNUMBER] = "000111011111110111";
    
    int arr1[MAXINTARRAY];
    size_t arr1size;
    
    int arr2[MAXINTARRAY];
    size_t arr2size;
    
    
    TranslateBin(arr1, num1, arr1size = strlen(num1));
    TranslateBin(arr2, num2, arr2size = strlen(num2));
    
    printf("Array 1: ");
    PrintArr(arr1, arr1size);
    printf("Array 2: ");
    PrintArr(arr2, arr2size);
    
    
    printf(
        "Array sizes are %s",
        (arr1size == arr2size ? "equal" : "different")
    );
    
    printf(
        ", %s" "\n",
        (arr1size == arr2size ? "continue..." : "stop.")
    );
    
    if (arr1size != arr2size)
        return EXIT_FAILURE;
        
    
    SelectByValue(arr2, arr1, arr1size, SELECTVALUE);
    
    printf("Array 1: ");
    PrintArr(arr1, arr1size);
    printf("Array 2: ");
    PrintArr(arr2, arr2size);
    
    
    return EXIT_SUCCESS;
}
 
int TranslateBin(int n[], const char *s, int maxsize)
{
    int c, i;
 
    for (i = 0; (c = s[i]) != '\0' && i < maxsize; i++)
        n[i] = (c == '1') ? 1 : 0;
 
    return 0;
}
 
int PrintArr(const int *n, int nobj)
{
    while (nobj-- > 0)
        printf(" %d", *n++);
        
    putchar('\n');    
    
    return 0;
}
 
int SelectByValue(int to[], const int from[],
                  size_t fromnobj, const int selvalue)
{
    int n;
    
    while (fromnobj-- > 0) {
        if ((n = *from) == selvalue)
            *to = n;
        from++;
        to++;
    }
    
    return 0;
}
Код
[guest@station src]$ ./test
Array 1:  0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Array 2:  0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1
Array sizes are equal, continue...
Array 1:  0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Array 2:  0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
[guest@station src]$
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.