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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблоны функций http://www.cyberforum.ru/cpp-beginners/thread148998.html
Добрый день, помогите, пожалуйста, найти ошибку - почему-то оказываюсь за пределами массива: #include<iostream.h> #include<conio.h> #include<iomanip.h> template <class T> void print(T *m, const int &s); template <class T>
C++ Какой компилятор лучше выбрать для проганья на C++? Добрый день господа,очень хочу попросить совета профессионалов. Учусь программированию на С++,С,но столкнулся с дилеммой,что выбрать к примеру:Visual C,или Dev? Пользую учебник Харви&Пола Дейтелов,там все прекрасно описано,доступно,но есть маленькое "Но",там нет ни слова о том,какой компилятор взять. Dev на многое ругается,хоть и интерфейс у него русскоязычный и вполне удобный,Visual тоже... http://www.cyberforum.ru/cpp-beginners/thread148996.html
Вывод на экран алфавита C++
Помогите пожалуйста написать программу, в которой требуется вывести на экран все малые буквы латинского алфавита и их коды.
Матрица! Срочно! C++
1) Определить сумму максимальных элементов тех строк матрицы действительных чисел размером 6х8, у которых первый элемент положительный. 2)Дан массив действительных чисел, размером 20. Найти сумму тех чисел, которые лежат в промежутке между средним арифметическим и нулем. Использовать функции для организации исходного массива, нахождение суммы. Нахождение среднего арифметического организовать в...
C++ Массив. Работа с текстом. http://www.cyberforum.ru/cpp-beginners/thread148966.html
В общем, задание такого: пользователь вводит Ф.И.О (неважно чьё) и программа должна вывести суммарное количество введенных букв, количество введенных букв "А" и со скольки букв состоит отдельно фамилия, имя и отчество. Сделал все, кроме последнего. Помогите, пожалуйста. #include <iostream> #include <string> #include <clocale> using namespace std; int main() { ...
C++ Динамическкие структуры данных Здравствуйте, уважаемые программисты! Очень нужна Ваша помощь! Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает: • пункт назначения; • номер рейса; • фамилию и инициалы пассажира; • желаемую дату вылета. Программа должна обеспечивать: • хранение всех заявок в виде двоичного дерева; • добавление и удаление заявок; подробнее

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

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]$
 
Текущее время: 20:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru