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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
#1

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

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

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

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

Как можно создать зубчатый двумерный массив? - C++
Нужно создать зубчатый массив, используя при этом указатели. Нужно что-то изменить в этой программе. #include <iostream> using...

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

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

Ввести двумерный массив и отсортировать его методом вставки - C++
Суть программы в том чтобы ввести двумерный массив и отсортировать его методом вставки. Но вот что выдает отладчик при вызове функции...

Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию. - C++
Помогите решить задачу: Ввести двумерный массив с клавиатуры и упорядочить его элементы по возрастанию.Матрицу я написал, а вот упорядочить...

Двумерный массив символов - C++
Как представить двумерный массив символов, состоящий из '#' и '.' ? Далее по программе необходимо будет иметь возможность обращаться к этим...

Двумерный массив символов - C++
привожу кусок кода: int N(0); int M(0); cout << "Введите кол-во строк, в которых мы будем искать первую строку" << endl; cin...

Двумерный массив символов - C++
#include <iostream> const int N=255; char **init(int &len){ std::cout<<"len = "; std::cin>>len; //Ввод длины строки char...

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

Двумерный динамический массив символов - C++
Одномерный массив создаётся, но когда пытаюсь сделать двумерный, то ошибка. Заранее спасибо. #pragma argsused #include <tchar.h> ...

Как ввести из консоли строку известной длины? - C++
Как ввести из консоли строку известной длины? Потоком.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
14.01.2009, 11:26     Как с консоли можно ввести двумерный массив строчных символов? #2
Код
    char str[2][10] = { "one", "two" };
здесь будут нуль-символы в обеих строках, но это инициализация а не ввод

Код
    char str[2][10];

    sprintf(str[0], "one");
    sprintf(str[1], "two");
    scanf("%s", *str);
    scanf("%s", *(str+1));
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
15.01.2009, 02:59  [ТС]     Как с консоли можно ввести двумерный массив строчных символов? #3
Цитата Сообщение от accept Посмотреть сообщение
Код
    char str[2][10] = { "one", "two" };
здесь будут нуль-символы в обеих строках, но это инициализация а не ввод

Код
    char str[2][10];

    sprintf(str[0], "one");
    sprintf(str[1], "two");
    scanf("%s", *str);
    scanf("%s", *(str+1));
Спасибо!
Только есть 2 вопроса:
1) Что делает функция sprintf?
2) *(str+1) - это должен же быть указатель на второй символ первой строки, но тем не менее работает ввод второй строки. Можно объяснить в чём я ошибаюсь, пожалуйста?
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.01.2009, 04:49     Как с консоли можно ввести двумерный массив строчных символов? #4
если бы str была строкой то это был бы второй символ, а так второй символ это *(*(str+1)+1), это массив строк идущих друг за другом, напоминает массив указателей, но это не массив указателей, потому что строки создаются полностью, даже если там ничего нет, а массив указателей - просто одномерный массив переменных, каждая из которых может хранить адрес
sprintf работает точно так же как printf только выводит не на экран а в строку которая идёт первым агрументом (адрес первого символа строки), sprintf так же как и printf завершает свой вывод нуль-символом автоматически
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
16.01.2009, 01:03  [ТС]     Как с консоли можно ввести двумерный массив строчных символов? #5
Спасибо, попробую разобраться.
Yandex
Объявления
16.01.2009, 01:03     Как с консоли можно ввести двумерный массив строчных символов?
Ответ Создать тему
Опции темы

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