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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
#1

Преобразование из int в char в массиве (не обычно) - C++

17.10.2010, 13:51. Просмотров 2068. Ответов 5
Метки нет (Все метки)

Прет всем.
есть файл с 2 строками
456321
hi man

Нужно поставить по индексу типо если первая цифра 4, то берем 4 сивол из строки и ставим под 4 и тд., и записать в массив v;
_________ 456321
(4 символ) man ih

Тут вроде все норм
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ifstream in;
    ofstream out;
    in.open("in.txt");
    out.open("out.txt", ios::app);
//----------------
    char a;
    char x[20];
    char p[20];
    char v[20];
    in.getline(x,20); //берем первую строку с цифрами
    in.getline(p,20); //берем вторую строку с буквами
    for (int i=0;i<10;i++){
        a = x[i]; //вот тут и ошибка берется код символа а не значение. 
        v[i] = p[a];
    }
Пробовал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
char a;
int z;
    char x[20];
    char p[20];
    char v[20];
    in.getline(x,20); //берем первую строку с цифрами
    in.getline(p,20); //берем вторую строку с буквами
    for (int i=0;i<10;i++){
        a = x[i]; //вот тут и ошибка берется код символа а не значение. 
    z = atoi(a);  //пишет  error C2664: atoi: невозможно преобразовать параметр 1 из 'char' в 'const char *'
        v[i] = p[z];
    }
хелп
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 13:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование из int в char в массиве (не обычно) (C++):

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

Преобразование int к char - C++
Вот код #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream.h&gt; #include &lt;cstdio&gt; #include &lt;fstream&gt; #include &lt;cstdlib&gt; ...

Преобразование char в int - C++
Решаю задачу из книги, требуется написать программу, которая запрашивает у пользователя степень и возводит в эту степень число, надо...

Преобразование Int в char - C++
от скуки баловался с кодом.решил проверить,можно ли сделать так? #include &lt;iostream&gt; int main(){ char b = 't'; int a =b; ...

Преобразование const char* в int - C++
Всем привет. В исходниках одного проекта встретил вот такой участок. typedef struct { char* name; int* location; ...

Преобразование int char и обратно - C++
надо разложить число на два байта... unsigned char ghj; int fff = 11111; ghj = fff / 256; ghj = fff - (ghj * 256); //обратно ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
17.10.2010, 14:13 #2
Цитата Сообщение от borovik Посмотреть сообщение
for (int i=0;i<10;i++){
вместо 10 стоило бы использовать длину строки, ну это так

Цитата Сообщение от borovik Посмотреть сообщение
a = x[i]; //вот тут и ошибка берется код символа а не значение.
это правда, надо перевести из char в int, делается это обычно
'7'-'0' = 7 (x[i]-'0')
это так сказать особенности ascii
конечно стоило бы проверять, что у вас число в char находится
потом, использовать стоило бы std::string
0
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 14:59  [ТС] #3
ничего не получилось, напиши как должно выглядеть
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
17.10.2010, 15:01 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 ifstream in;
 ofstream out;
 in.open("in.txt");
 out.open("out.txt", ios::app);
//----------------
 char a;
 char x[20];
 char p[20];
 char v[20];
 in.getline(x,20); //берем первую строку с цифрами
 in.getline(p,20); //берем вторую строку с буквами
 for (int i=0;i<10;i++){
 v[i] = p[x[i]-'0'];
}
1
borovik
209 / 203 / 1
Регистрация: 25.07.2010
Сообщений: 1,151
17.10.2010, 15:06  [ТС] #5
Оо, большое спс теперь я разобрался
буду передавать знания (если кто спросит)
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
17.10.2010, 15:16 #6
видимо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 ifstream in;
 ofstream out;
 in.open("in.txt");
 out.open("out.txt", ios::out);
//----------------
 char a;
 char x[20];
 char p[20];
 char v[20];
 in.getline(x,20); //берем первую строку с цифрами
 in.getline(p,20); //берем вторую строку с буквами
 size_t len = strlen( p );
 for (int i=0;i<len;i++){
  v[i] = p[x[i]-'0'];
 }
 v[i] = '\0';
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2010, 15:16
Привет! Вот еще темы с ответами:

Преобразование int и char в строку - C++
#include &lt;iostream.h&gt; #include &lt;istream.h&gt; //dlya cin.getline() #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;fstream.h&gt; ...

преобразование между char и int - C++
Зачем? Чтобы работать с char как с целыми числом, принимающим значение от 0 до 255. Специально для этой цели я написал такой класс: class...

Преобразование указателя из char в int и double - C++
указатель sadr является типом char мне нужно перопределить его на типы на int и double int a; double b; void cr(char **sadr) { ...

Преобразование 2-х char в один short int - C++
Пробую преобразовать 2 char в один short int таким образом: char buf; short int skl; int kol=0; for(int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.10.2010, 15:16
Ответ Создать тему
Опции темы

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