Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Alendorff
0 / 0 / 1
Регистрация: 25.01.2012
Сообщений: 49
1

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

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

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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 18:11
Ответы с готовыми решениями:

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

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

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

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

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

5
kent
Нуб со стажем
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
Somebody
2802 / 1613 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
07.06.2012, 20:13 3
C++
1
a[i] = optarg[i] - '0';
1
rinat_w
89 / 85 / 17
Регистрация: 13.11.2011
Сообщений: 192
Завершенные тесты: 1
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
Alendorff
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
Somebody
2802 / 1613 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
08.06.2012, 11:08 6
Цитата Сообщение от Alendorff Посмотреть сообщение
а вот это работает, да... а что значит эта запись? optarg[i] это i-й элемент строки, так? А -'0' ?
'0' - то же, что и 48, только более наглядно. char - это же обычный целочисленный тип, а символы - те же числа.
0
08.06.2012, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2012, 11:08

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

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

Преобразовать строку, вырезав каждый символ "*" и повторив каждый символ, отличный символ "*"
Здравствуйте,уважаемые форумчане!Помогите пожалуйста с написанием программ-а то...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru