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

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

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

Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? - C++

30.07.2014, 21:31. Просмотров 528. Ответов 11
Метки нет (Все метки)

подскажите пожалуйста, есть ли возможность в char массив часть данных ввести в буквах, а часть в цифрах (или в любой другой массив вбить значения обоих типов)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 21:31     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
Посмотрите здесь:

есть часть кода с указателем на массив. в общем, объяснять не умею. в коде вы уж точно поймете - C++
из файла забираю значения для элементов массива но в цикле ведь i,j, а тут, если пытаюсь сделать что-то вроде *(*(Array+i)+j), то...

Как преобразовать часть массива char в double - C++
есть большой массив char в нем есть несколько элементов которые нужно преобразовать в число типа double например char X; ...

почему часть текста исчезает ? переменная char и цикл - C++
вот скрипт , которая пишет текст сверху вниз . но часть текста исчезает . я так понял , переменная может внести в себя весь текст , так как...

Как сделать возможность выбора, между какими столбцами матрицы вставить новый столбец? [часть кода внутри] - C++
Ввожу двумерный массив mas с клавиатуры. Дан одномерный массив чисел A. Нужно вставить массив А, между j и j+1 столбцами, при этом, чтобы я...

Алгоритм Дейкстры (часть кода есть) - C++
Здравствуйте! Нужно реализовать на С++ такую консольную программу: 1. Задается массив размерности n; 2. Найти максим. j такой, что a...

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Пропадает часть данных - C++
Где теряются данные? почему? Как это исправить? я же передаю длину строки верную. Почему после \x00 данные обрезаются? В каком месте? Как...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.07.2014, 21:35     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #2
char - однобайтовое число. Цифры - это символы "0" - "9" (char). Чтобы лучше понять, что нужно, приведите какой-нибудь пример.
Vladislavv
0 / 0 / 0
Регистрация: 30.07.2014
Сообщений: 98
30.07.2014, 21:45  [ТС]     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #3
есть функция modulo, которая считает остаток от деления числа а на число b. Если он больше 9 то переходит в функцию notation(s), которая присваивает ему буквенное значение(с ней все в порядке). В обратном
случае берет непосредственно s. Также есть функция main, в которой находятся a(f) и b(not), а также массив char ar[n], в который вносятся значения с функции modulo. Вопрос: можно ли заполнить массив и цифрами и буквами.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int modulo (int a, int b){
int s;
char m;
s=a%b;
if (s>9){
m=notation(s);
return m;}
else {
    m=char('s');
    return s;
}
}
void main(){
const int n=15;
char ar[n];
int f=27, not=14;
for (int i=n-1; i>0;i--){
ar[i]=modulo(f, not);
    f/=not;
    cout <<ar[i];
}
}
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.07.2014, 22:01     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Покажите, что notation() делает. И смысл этой конструкции?
C++
1
2
3
4
5
     else
     {
        m = char('s');
        return s;
     }
Добавлено через 6 минут
Число от 0 до 9 (s) переводится в цифры (коды символов (char) от "0" до "9") вот так: s + 48.
C++
1
return (s + 48);
Vladislavv
0 / 0 / 0
Регистрация: 30.07.2014
Сообщений: 98
30.07.2014, 22:01  [ТС]     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #5
char ('s') попытка вернуть в char значения s
C++
1
2
3
4
5
6
7
char notation (int d){
    char ss=0;
    char l='A';
    for (int i=10; i<=d ;i++,l++)
        ss=l;
    return ss;
    }
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.07.2014, 22:04     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #6
Цитата Сообщение от Vladislavv Посмотреть сообщение
char ('s') попытка вернуть в char значения s
Нет, тут просто m присваивается значение 's'.
Vladislavv
0 / 0 / 0
Регистрация: 30.07.2014
Сообщений: 98
30.07.2014, 22:04  [ТС]     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #7
alsav22 спасибо, помогло
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
31.07.2014, 20:35     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #8
Символ в одинаковых кавычках - это всего лишь альтернативная форма записи чисел. Т.е. следующие два кода эквивалентны:

C
int x = '0';
C
int x = 48;
'0' - это всего лишь удобная форма записи числа 48 (а точнее, величины (char)48)
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.07.2014, 22:10     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #9
Evg, может быть с точки получения итогового значения в x код и является эквивалентным для ASCII кодировки. Однако не стоит забывать, что в С++ '0' имеет тип char, и занимает 1 байт, а в Си это по сути int, с вытекающим отсюда размером.
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
31.07.2014, 22:12     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #10
Tulosba, да, в очередной я упустил из виду различие в Си и Си++. Т.е. мою последнюю фразу надо переписать как

'0' - это всего лишь удобная форма записи числа 48, которая в Си эквивалентна (char)48, а в Си++ - (int)48
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
31.07.2014, 22:36     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #11
Цитата Сообщение от Evg Посмотреть сообщение
а в Си++ - (int)48
Не совсем так. '0' в плюсах это char, никакого int'а тут нет. преобразование в int появляется только, если всё это сохранить в int'овую же переменную. Т.е. упомянутый int x.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 23:20     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
Еще ссылки по теме:

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

C/C++ вырезать часть данных с файла - C++
Здравствуйте. Есть ли в C/C++ функции, которые помогут вырезать часть данных с файла? Да и вообще, как это корректно делать...

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

На сколько кусков распадется часть листа, если из него вырезать некоторые клетки? Есть алгоритм. - C++
Из листа клетчатой бумаги размером М*N клеток удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Пример....

Какие действия исполняет заданная часть программы? Если есть ошибки исправить их и объяснить исправления - C++
. . . class Anketa { char *fam; char *name; public: Anketa (); ~ Anketa ( char *str); ...


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,639
Записей в блоге: 26
31.07.2014, 23:20     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах? #12
Цитата Сообщение от Tulosba Посмотреть сообщение
'0' в плюсах это char, никакого int'а тут нет. преобразование в int появляется только, если всё это сохранить в int'овую же переменную. Т.е. упомянутый int x
Преобразование типа появляется всегда при присвоении величины одного типа в переменную другого типа. А я по ходу ошибся и перепутал поведение в Си и Си++. Хотя мне казалось, что изначально было правильно

C
#include <stdio.h>
 
int main (void)
{
 
  if (sizeof ('a') == sizeof (int))
    printf ("int\n");
  else if (sizeof ('a') == sizeof (char))
    printf ("char\n");
  else
    printf ("hz\n");
 
  return 0;
}
Код
$ gcc t.c
$ ./a.out
int

$ mv t.c t.cc
$ g++ t.cc
$ ./a.out
char
Yandex
Объявления
31.07.2014, 23:20     Есть ли возможность в char-массив часть данных ввести в буквах, а часть в цифрах?
Ответ Создать тему
Опции темы

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