Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64

Организовать ввод слов с клавиатуры в массив

14.09.2012, 00:12. Показов 6547. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как организовать ввод слов с клавиатуры в массив таким образом, что-бы каждое слово помещалось в новую строку? Подскажите пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2012, 00:12
Ответы с готовыми решениями:

Организовать ввод 8 целых чисел с клавиатуры, используя массив, и вывести на экран элементы массива больше 1
Организовать ввод 8 целых чисел с клавиатуры используя массив и вывести на экран элементы массива больше 1 - Turbo Pascal

Организовать ввод данных с клавиатуры
помогите разобраться с заданиями. я не изучал VB, и не знаю как работать с формами. Меня попросили помочь. С синтаксисом возможно и сам...

Как лучше организовать ввод с клавиатуры?
здравствуйте что лучше для ввода с клавы класс Sccanner или этот код BufferedReader reader = new BufferedReader(new...

15
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 00:18
C++
1
2
3
4
5
6
7
char strings[ 5 ][ 256 ] = {{ '\0' }};
 
for ( std::size_t i = 0; i < 5; i++ )
   std::cin >> strings[ i ];
 
for ( std::size_t i = 0; i < 5; i++ )
   std::cout << strings[ i ] << std::endl;
1
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 00:34  [ТС]
Дело в том, что я пробовал уже аналогичным образом, но тут получается необходимый ввод 5 слов. Как сделать так, что-бы кол-во слов не ограничивалось?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 00:41
C++
1
2
3
4
5
for ( std::size_t i = 0; std::cin >> strings[ i ]; i++ )
   ;
 
std::cin.clear();
std::cin.sync();
Но тут опять же, не больше 5 слов, так как мы выделили память всего лишь под 5 строк. Можно так же воспользоваться классами string и vector.

C++
1
2
3
4
5
6
7
8
9
10
11
std::vector< std::string > strings;
std::string tempString;
 
while ( std::cin >> tempString )
   strings.push_back( tempString );
 
std::cin.cleare();
std::cin.sync();
 
for ( std::size_t i = 0; i < strings.size(); i++ )
   std::cout << strings[ i ] << std::endl;
ADD: для окончанию ввода в обоих случаях нужно ввести вместо нового слова комбинацию EOF ( ctrl + z в Win );
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 01:18  [ТС]
Нужно именно через массив. И представляет интерес ввод меньшего кол-ва слов. Допустим я хочу ввести 3 слова из 5 ти. Сохраняются ли они в массиве и просто не выводятся через cout? Если не сохраняются, то возможно ли использовать динамический массив, для достижения требуемого эффекта?
Дело в том, что массив нужен для решения задачи: подсчитать кол-во слов начинающихся на гласную и т.д. при условии, что программа читает по одному слову за раз Массив нужен для выделения первой буквы.Ну и решение максимально простыми средствами, точнее с использованием азов. Я решил ее несколькими способами, но они кажутся слишком громоздкими.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 01:23
А ну тогда Вам совершенно не нужен массив под слова, этого ведь не сказано в задачи. Все делается очень просто:
C++
1
2
3
4
5
6
char word[ 256 ]; //создаем массив символов для ввода слова
 
while ( std::cin >> word ) { //вводим следующее слово, или EOF ( ctrl + z в Win ) для завершения.
   //тут выполняем 
   //необходимые действия
}
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 01:56  [ТС]
Цитата Сообщение от Toshkarik Посмотреть сообщение
cin >> word
В условии сказано: ввод целой строки. А в данном случае после пробела оставшаяся инфа теряется и нужно вводить следующее слово за пробелом снова. Нужно следующее: написание строки, а уже ее загрузка в переработку по словам.Пробовал даже так, все работает, но самый "долгоиграющий"))
C++
1
2
3
4
5
6
7
8
9
char a[10];
cin>>a;
char a1[10]; 
cin>>a1;
.....
int x=0; 
if(a[0]=='a'||a[0]=='e'||...)
++x;
if(a1[0]=='a'||....) \\ и т.д.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 02:11
Цитата Сообщение от Valli1 Посмотреть сообщение
В условии сказано: ввод целой строки.
А это тогда что?
Цитата Сообщение от Valli1 Посмотреть сообщение
программа читает по одному слову за раз
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 02:23  [ТС]
Напишите программу которая читает по одному слову за раз..... Вводите слова: qwerty asdfg zxcvb.?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 02:25
Все верно, Вам дали список слов. Это никак не означает что нужно вводить строку слов. Ясно написано ведь по одному слову за раз
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 02:36  [ТС]
Обозначает. Однозначно. Следует из стиля постановки задач в этой книге: Пратта С.Язык программирования С++ стр.305.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 02:40
Нет, не означает. Я не читал эту книгу, но если Вы дословно написали задание, то значит нужно вводить по одному слову за раз.
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 03:05  [ТС]
Возможно имеется ввиду, что при
C++
1
cin>>a;
слово пробелом который заменяется \0, преобразуется в строку и помещается в массив, затем следующее слово помещается в следующий свободный массив таким образом достигается поступление слов по одному, а не загоняется вся написанная строка как например в
C++
1
cin.getline(a,size);
Может просто некорректно сформулировано условие.
Написал дословно.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 03:09
Какое название темы этого упражнения?
0
4 / 4 / 4
Регистрация: 14.09.2012
Сообщений: 64
14.09.2012, 03:40  [ТС]
Операторы ветвления и логические операции.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
14.09.2012, 03:48
Тогда могу сказать с вероятностью 99%, что имелось ввиду именно ввод по одному слову, здесь массив не нужен, просто вводите слова по одному, и увеличиваете счетчик, если попадается слово, в котором первая буква гласная. В конце просто выводите данное количество.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2012, 03:48
Помогаю со студенческими работами здесь

Как организовать ввод с клавиатуры в pc-lisp 3.0?
Здравствуйте! Я в общем-то хотел просто предоставить возможность ввода данных(списка) в консоли с клавиатуры для их запоминания и...

Как организовать ввод числа с клавиатуры?
как сделать ввод числа с клавиатуры?: ввод закнчивается # то есть ввожу число:102,1 ставлю # #-окончание ввода дальше это число...

Организовать ввод с клавиатуры строки длиной 10 символов
нужно организовать ввод с клавиатуры строки длиной 10 символов. Введённую информацию сохранить в файле с именем, совпадающим с номером...

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

Можно ли организовать ввод разрядности массива с клавиатуры?
Можно ли организовать ввод разрядности массива с клавиатуры? Что-то вроде этого: program massiv_n; var a : array of Integer; ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru