Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
#1

Как с консоли можно ввести двумерный массив строчных символов? - C++

14.01.2009, 01:12. Просмотров 2122. Ответов 4
Метки нет (Все метки)

Например, есть
char str [10] [2];
Как можно ввести 2 строки?
И будет ли символ ‘\0’ в конце каждой строки или только в одной?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2009, 01:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как с консоли можно ввести двумерный массив строчных символов? (C++):

Дан двумерный массив целых чисел размерности nxn. Поменять местами элементы первого и к-ого столбца, к ввести с консоли
Дан двумерный массив целых чисел размерности nxn. Поменять местами элементы...

Как можно вложить двумерный массив в двумерный?
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы...

Как увеличить максимальное количество символов, которое можно ввести в консоль?
Я использую функцию cin.getline(article, 9999);Как видите, количество символов...

Массив: Как можно задать и вывести симметричный двумерный массив?
как можно задать и вывести симметричный массив

Как можно создать зубчатый двумерный массив?
Нужно создать зубчатый массив, используя при этом указатели. Нужно что-то...

Ввод в двумерный массив из консоли
Всем привет! Надо было реализовать ввод из консоли в массив целых чисел....

4
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
14.01.2009, 11:26 #2
C++
1
    char str[2][10] = { "one", "two" };
здесь будут нуль-символы в обеих строках, но это инициализация а не ввод

C++
1
2
3
4
5
6
    char str[2][10];
 
    sprintf(str[0], "one");
    sprintf(str[1], "two");
    scanf("%s", *str);
    scanf("%s", *(str+1));
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
15.01.2009, 02:59  [ТС] #3
Спасибо!
Только есть 2 вопроса:
1) Что делает функция sprintf?
2) *(str+1) - это должен же быть указатель на второй символ первой строки, но тем не менее работает ввод второй строки. Можно объяснить в чём я ошибаюсь, пожалуйста?
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
15.01.2009, 04:49 #4
если бы str была строкой то это был бы второй символ, а так второй символ это *(*(str+1)+1), это массив строк идущих друг за другом, напоминает массив указателей, но это не массив указателей, потому что строки создаются полностью, даже если там ничего нет, а массив указателей - просто одномерный массив переменных, каждая из которых может хранить адрес
sprintf работает точно так же как printf только выводит не на экран а в строку которая идёт первым агрументом (адрес первого символа строки), sprintf так же как и printf завершает свой вывод нуль-символом автоматически
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
16.01.2009, 01:03  [ТС] #5
Спасибо, попробую разобраться.
0
16.01.2009, 01:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2009, 01:03
Привет! Вот еще темы с решениями:

Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
Привет всем. Как ввести двумерный массив с клавиатуры? Его размерность нужно...

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

Разные способы подключения файла, или как еще можно передать функции двумерный массив?
Программа считает сумму положительных элементов каждого столбца и сумму...

Ввести двумерный массив и отсортировать его методом вставки
Суть программы в том чтобы ввести двумерный массив и отсортировать его методом...


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

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

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