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

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

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

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

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

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

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

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

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

4
accept
4833 / 3255 / 455
Регистрация: 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 / 3255 / 455
Регистрация: 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

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

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

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


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

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

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