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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.96
БлондинкаЯ
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
#1

Работа с символьным массивом - C++

02.11.2009, 18:37. Просмотров 3020. Ответов 18
Метки нет (Все метки)

А мучаюсь я с созданием символьного массива...Понятно, что через Char? а вот чего дальше с ним делать не понятно. Чем он отличается от числового массива?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2009, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с символьным массивом (C++):

Работа с символьным массивом - C++
Помогите пожалуйста.. Определить символьный массив размером строки.С клавиатуры ввести предложение(не менее 5 слов,которые разделены...

Рекурсия с символьным массивом - C++
Здраствуйте! Не получается справиться с заданием, хотя вроде все делаю правильно. Подскажите - что у меня не так? Большое спасибо! ...

Волшебство с символьным массивом указателей - C++
#include <iostream> #include <windows.h> //Для начала установите вручную шрифт Lucida Console в свойствах окна консоли. #include...

Работа с символьным типом - C++
Код:// ex10_4.cpp #include <iostream> using namespace std; //////////////////////////////////////////////////////////////// struct...

Работа с массивом в СИ++ - C++
Нужно написать программу по вычислению массива(в функции). Сначала полученный массив сортируется, а потом из полученного массива...

Работа с массивом строк в С - C++
#include <stdio.h> #include <conio.h> #include <string.h> #include <vector> int main() { char *units1 = { "zero",...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Dexs
414 / 284 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
02.11.2009, 18:39 #2
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
мучаюсь я с созданием символьного массива
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
Чем он отличается от числового массива?
Ответ никакой не напрашивается?
0
БлондинкаЯ
0 / 0 / 0
Регистрация: 02.11.2009
Сообщений: 35
02.11.2009, 18:54  [ТС] #3
Вывод напрашивается, что кто-то не любит блондинок...А насчёт отличия символьного и числового массива спросила ради интереса. Тогда сформулируем вопрос по-другому: как впринципе описывается символьный массив?
0
Dexs
414 / 284 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
02.11.2009, 18:58 #4
http://www.do2.rksi.ru/library/courses/demo/tema1_7.dbk
0
blackswan
12 / 12 / 0
Регистрация: 08.07.2009
Сообщений: 61
02.11.2009, 18:58 #5
C
1
char <название переменной массива>[<количество элементов>]
- символы <> тут лишние, их на самом деле нет, это если статический, динамический сложнее.
0
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
02.11.2009, 18:59 #6
Цитата Сообщение от Dexs Посмотреть сообщение
Ответ никакой не напрашивается?
Конечно понятно, что это сарказм...да еще и не верный.
Не слушайте Dexs, потому что намеки он вам дает неверные.

Символьный массив - по своей сути от массива числового ничем не отличается.
Вам стоит до конца понять, что же такое символьный массив.
Символьный массив - это, по факту, строка. Но это пользователь видит ее в качестве строки. В действительности, символьный массив - это массив, в каждой ячейке которого хранятся числа (да-да, господин Dexs, числа), и каждое число является соотв. кодом символа (для каждой кодировки(Unicode, ASCI и т. д.) у каждого символа свой код).

А делать с ним вы можете все то же, что и с числовым массивом. Только при работе с char массивами вам стоит учитывать, что кодировки бывают разные...и поэтому, допустим, если Вам надо сравнить какой либо элемент массива (фактически символ, по сути - цифру), то сравнивать его надо не как числа ( if(a==5).... ) а с символами ( if(a=='5') ). Любой компилятор Си распознает что-то, как символ, когда это что-то заключено в одинарные кавычки.
Хотя, к примеру, для кодировки ASCI сравнение ( if(a==97) ), в случае если в A помещен символ 'a' будет также TRUE.
0
Dexs
414 / 284 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
02.11.2009, 19:01 #7
Цитата Сообщение от Neonjke Посмотреть сообщение
потому что намеки он вам дает неверные.
Угу. канешна! Ведь число и символ тоже самое
0
ProNoooob
74 / 74 / 6
Регистрация: 14.10.2009
Сообщений: 121
02.11.2009, 19:03 #8
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
как впринципе описывается символьный массив?
В языке С нет такого типа как буква.
Но умные люди придумали таблицу символов, где каждой букве\цифре и знаку препинания соответствует свой номер. Самый большой номер всеже вмещается в тип char Он же байт или 8 бит.
Пример:
C
1
2
3
4
5
char simvol = 'a'; //вот наша буковка
 
char stroka[5] = "abvg"; //это строка из 5ти символов. Пятый символ это \0 или просто 0. Он явно не указан, но его наличие обозначают двойные ковычки.
 
char *stroka2 = "abvg"; //тоже самое, что и строчка выше
0
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
02.11.2009, 19:11 #9
Цитата Сообщение от Dexs Посмотреть сообщение
Угу. канешна! Ведь число и символ тоже самое
Для компьютера да.

Ведь символ 'A'=97 (для ASCI). И никакой компилятор вы в обратном не переубедите.

И можно ведь сложить 'A'+'B'. умеете складывать символы? я тоже нет. а вот компьютер почему то умеет. и получит 195 (для ASCI). Как же это так, он нам символы сложил?!
Не надо перекладывать свое мышление на законы и основы программирования.

P.S. Сам только начинаю изучать программирование, но это усвоил сразу.
0
Dexs
414 / 284 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
02.11.2009, 19:15 #10
Для компьютера да.
Да это и слону понятно.
Цитата Сообщение от Neonjke Посмотреть сообщение
Как же это так, он нам символы сложил?!
Действительно, как это так? Ану-ка давайте распишите поподробнее
0
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
02.11.2009, 19:22 #11
Цитата Сообщение от Dexs Посмотреть сообщение
Ану-ка давайте распишите поподробнее
Если вам действительно нужно объяснить это, то пожалуйста.
СИМВОЛОВ НЕ СУЩЕСТВУЕТ. есть цифры. как в алфавите. А=1, Б=2, В=3, Г=4 и т.д.

Поэтому все арифметические операции с двумя операндами относительно "якобы символьных переменных" в C производятся с их кодами в используемой кодировке.
То же самое, если вы к примеру сложите символ 'b' и переход на следующую строку (\n), то получите 108 (число).

НИ СИМВОЛОВ, НИ СЛОВ, НИ БУКВ НЕТ. И не стоит заблуждаться.
По сути, символьный массив не отличается ничем от числового.
1
audiophile
9 / 9 / 0
Регистрация: 01.11.2009
Сообщений: 67
02.11.2009, 19:24 #12
Цитата Сообщение от Neonjke Посмотреть сообщение
Если вам действительно нужно объяснить это, то пожалуйста.
Neonjke, я думаю, это был сарказм .
0
Neonjke
18 / 18 / 1
Регистрация: 08.10.2009
Сообщений: 94
02.11.2009, 19:25 #13
Цитата Сообщение от audiophile Посмотреть сообщение
Neonjke, я думаю, это был сарказм .
0
Dexs
414 / 284 / 2
Регистрация: 29.07.2009
Сообщений: 1,982
02.11.2009, 19:26 #14
Neonjke,
Спасибо, но audiophile, был прав
0
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
02.11.2009, 20:45 #15
Цитата Сообщение от БлондинкаЯ Посмотреть сообщение
Вывод напрашивается, что кто-то не любит блондинок...
а кто любит? нынче это не модно. щас брюнетки рулят. вот

п.с.
мдя малчики.. не благодарное дело
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2009, 20:45
Привет! Вот еще темы с ответами:

Работа с массивом указателей - C++
Здравствуйте. Есть абстрактный класс Transport и три потомка Ship, Plane, Train. Есть массив указателей Transport*...

работа с массивом указателей - C++
#include &lt;iostream&gt; using namespace std; int main() { const int size=3; char *student={};

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

Работа с новым массивом - C++
Задача: Сформировать массив, в котором будут только элементы исходного массива, оканчивающиеся на цифру К. Помогите пожалуйста...


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

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

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