0 / 0 / 1
Регистрация: 25.01.2012
Сообщений: 49
1

Каждый символ строки записать в целочисленный массив

07.06.2012, 18:11. Показов 5845. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
char to int

Здравствуйте. Вопрос, простой.
У меня есть строка "123456789"
Мне нужно каждый символ из этой строки записать в целочисленный массив.
C++
1
2
3
4
5
6
7
    while(optarg[z]!='\0') {size1++;z++;}
    a=new int[size1];
    z=0; 
    for (int i=0; i<size1; i++)
    {
      a[i]=atoi(&optarg[i]);
    }
Так явно не правильно потому что получается вот такой вот массив:

123456789
23456789
3456789
456789
56789
6789
789
89
9

Я так подозревал, что optarg - это строка, т.е. массив символов, т.е. каждый символ можно считать отдельно и записать как отдельное число. Или я не прав?
Как правильно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2012, 18:11
Ответы с готовыми решениями:

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым
я написал код но не могу разобраться. вот дано :...

Считать определённый символ из строки файла и записать его в массив
Как считать определённый символ из строки в файле и записать его в массив? Ещё не очень понятно...

Преобразовать строку, удалив каждый символ * и удвоив каждый символ, отличный от *
Дана строка преобразовать ее, удалив каждый символ * и удвоив каждый символ отличный от *.

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *....

5
Нуб со стажем
36 / 34 / 10
Регистрация: 19.02.2012
Сообщений: 118
07.06.2012, 19:34 2
C++
1
2
3
4
unsigned int len=strlen(optarg);
int *ar=new[len];
for(int i=0;i<len;++i)
    ar[i]=atoi(optarg[i]);
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
07.06.2012, 20:13 3
C++
1
a[i] = optarg[i] - '0';
1
92 / 88 / 17
Регистрация: 13.11.2011
Сообщений: 193
07.06.2012, 20:25 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
#include<string>
using namespace std;
int main(){
    string str="123456789";
    int *a=new int[str.size()];
    for (int i=0; i<str.size(); i++){
        a[i]=(int)str[i]-48;
        cout<<a[i]<<" ";
    }
system("pause");
return 0;
}
0
0 / 0 / 1
Регистрация: 25.01.2012
Сообщений: 49
08.06.2012, 06:25  [ТС] 5
Bash
1
2
3
maxim@maxim:~/j/Program$ g++ jprog.cpp -o jrun
jprog.cpp: In function ‘int main(int, char**)’:
jprog.cpp:53: error: request for member ‘sizein ‘optarg’, which is of non-class type ‘char*
C++
1
2
3
4
    int size1=optarg.size(); //53-я строка
    int *a=new int [size1];
    for (int i=0; i<size1; i++){
        a[i]=(int)optarg[i]-48;
Добавлено через 9 минут
Цитата Сообщение от Somebody Посмотреть сообщение
C++
1
a[i] = optarg[i] - '0';
а вот это работает, да... а что значит эта запись? optarg[i] это i-й элемент строки, так? А -'0' ?
0
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
08.06.2012, 11:08 6
Цитата Сообщение от Alendorff Посмотреть сообщение
а вот это работает, да... а что значит эта запись? optarg[i] это i-й элемент строки, так? А -'0' ?
'0' - то же, что и 48, только более наглядно. char - это же обычный целочисленный тип, а символы - те же числа.
0
08.06.2012, 11:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2012, 11:08
Помогаю со студенческими работами здесь

Преобразовать строку, удалив каждый символ «*» и повторив каждый символ, отличный от «*»
Дана строка. Преобразовать ее, удалив каждый символ «*» и повторив каждый символ, отличный от «*»....

Преобразовать строку, удалив каждый символ * и повторив каждый символ, отличный от *
Кто может решить задачки по С++? Решите плиз 1. Дана строка. Указать те слова, которые содержат...

Строки, символы. вычислить, сколько раз встречается каждый символ в обоих строках, вывести второе слово второй строки в обратном порядке
Пусть даны две строки и два символа. Необходимо определить длину каждой строки, вычислить, сколько...

Вывести каждый второй символ строки
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;iostream.h&gt; int main() { char str ,ch,*p_str;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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