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

ПреобразоваТЬ строку символов в массив - C++

Восстановить пароль Регистрация
 
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
29.10.2013, 20:04     ПреобразоваТЬ строку символов в массив #1
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
#include <cstdio>
#include <cctype>
#include <iostream>
#include <cmath>
#include "QTime"
void stuToArr(char s[], int ar[], int&size);
using namespace std;
int main(){
    char s[80];
    int ar [80], size;
    cout<<" Введіть рядок з якого необхідно створити масив:";
    cin>>size;
    cout<<stuToArr(s, ar, size);
}
void stuToArr(char s[], int ar[], int&size)
{
    int i=0; size=0;
    forever {
        while (s[i]='\0'&&!isdigit(s[i]))i++;
        if(s[i]!='\0') return;
        for(ar[size]=0;isdigit(s[i]);i++)
            ar[size]=(ar[size]*10+(s[i])-48);
        size ++;
    }
}
код неверный! вернее функция верная а код главной программы нет! подправьте пожалуйста! нужно в главной функции ввести строку символов, а потом вызвать дополнительную функцию и преобразовать строку в массив символов!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2013, 20:04     ПреобразоваТЬ строку символов в массив
Посмотрите здесь:

C++ Как правильно преобразовать строку символов в строку типа CComBSTR?
Как корректно преобразовать lpVolumeSerialNumber в строку символов? C++
C++ Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания
Преобразовать строку символов, удалив из нее все символы, не являющиеся буквами C++
Преобразовать строку, удалив из нее каждую пару символов ‘<<’ и повторив каждую пару символов ‘>>’. C++
Дана строка символов.Преобразовать строку, удалив из неё C++
Задан массив из k символов. Преобразовать массив следующим образом: расположить символы в обратном порядке C++
C++ Преобразовать массив из символов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
n1l
 Аватар для n1l
135 / 137 / 4
Регистрация: 26.07.2010
Сообщений: 911
29.10.2013, 20:56     ПреобразоваТЬ строку символов в массив #2
Вообще Страуструп говорит о таком решении:
C++
1
char lolstr[] = "asdsadasdasdasda";
Честно говоря, получить от юзера такой литерал мне не удалось сейчас, но вдруг вам удастся.

Если же нет, то вот я наковырял:
ввод пользователя получаю, как аргументы в методе main, ибо не вижу смысла получать их в программе
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdlib.h>
#include <string>
 
using namespace std;
 
int main(int argc, char* input[]) {
 
    char* arr= input[1];
    int size = 0;
    while(*arr!=0){
        size++;
        arr++;
    }
 
    char* symbols = new char[size];
    arr = input[1];
    for(int i=0;i<size;i++,arr++){
        symbols[i] = *arr;
        cout << symbols[i];
    }
    cout<<endl;
}
Там правда пробел является разделителем, так что со строками и пробелами может не проканать, но думаю это легко исправить.
Yandex
Объявления
29.10.2013, 20:56     ПреобразоваТЬ строку символов в массив
Ответ Создать тему
Опции темы

Текущее время: 17:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru