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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alendorff
0 / 0 / 0
Регистрация: 25.01.2012
Сообщений: 49
#1

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

07.06.2012, 18:11. Просмотров 1100. Ответов 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 - это строка, т.е. массив символов, т.е. каждый символ можно считать отдельно и записать как отдельное число. Или я не прав?
Как правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 18:11     Каждый символ строки записать в целочисленный массив
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kent
Нуб со стажем
36 / 34 / 2
Регистрация: 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]);
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
07.06.2012, 20:13     Каждый символ строки записать в целочисленный массив #3
C++
1
a[i] = optarg[i] - '0';
rinat_w
89 / 85 / 4
Регистрация: 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;
}
Alendorff
0 / 0 / 0
Регистрация: 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' ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2012, 11:08     Каждый символ строки записать в целочисленный массив
Еще ссылки по теме:

Вводися строка. Удвоить каждый символ строки - C++
Всем доброго времени суток! Вводится строка. Удвоить каждый символ строки Составьте 2 консольные программы. Одна программа решает...

Строки: заменить каждый символ '/' на пару символов ':' - C++
Подсчитать количество пар '23' и '45' по отдельности и заменить каждый символ '/' на пару символов ': '. С использование библиотеки...

Заменить каждый второй элемент строки на заданный символ - C++
1. Написать и протестировать функцию, которая в строке, передаваемой ей в качестве параметра, заменяет каждый второй элемент на заданный...

Написать функцию, которая удваивает каждый символ строки - C++
Народ,спасайте! Не могу написать программу! Написать функцию, которая удваивает каждый символ строки. Заголовок функции: void doubleChar...

Сделать реверс строки и каждый четвёртый символ выкинуть - C++
Помогите со строками пожалуйста.... Условие:Дана строка.Сформировать строку,содержащую символы данной в обратном порядке,причём каждый...

Написать функцию, которая удваивает каждый символ строки. - C++
Ребята, помогите! Написать функцию, которая удваивает каждый символ строки. Заголовок функции: void doubleChar (char * s); Написать...


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

Или воспользуйтесь поиском по форуму:
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
08.06.2012, 11:08     Каждый символ строки записать в целочисленный массив #6
Цитата Сообщение от Alendorff Посмотреть сообщение
а вот это работает, да... а что значит эта запись? optarg[i] это i-й элемент строки, так? А -'0' ?
'0' - то же, что и 48, только более наглядно. char - это же обычный целочисленный тип, а символы - те же числа.
Yandex
Объявления
08.06.2012, 11:08     Каждый символ строки записать в целочисленный массив
Ответ Создать тему
Опции темы

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