Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 6

Командная строка программы С. Динамические массивы. Обработка символьных и строковых данных

27.05.2013, 23:20. Показов 1583. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: С клавиатуры вводятся четыре массива слов:
- существительные в именительном падеже единственного числа(СТОЛЯР-
КРАСНОДЕРЕВЩИК,СТУДЕНТ,ТОРМОЗ,КРЫША,КИСЛ ОТА,ШИЗА…);
- глаголы несовершенного вида в 1-м лице единственного числа (ЕСТ, ТРА-
ВИТ, КОСИТ, ПИЛИТ, ДОЛБИТ, ДОСТАЕТ);
- качественные прилагательные во множественном числе (ЯДОВИТЫЕ, ОТ-
ВРАТНЫЕ, ПРЕКРАСНЫЕ, УБОГИЕ, НЕВЗРАЧНЫЕ, ПРЕВОСХОД-
НЫЕ,ЧЕРТОВСКИЕ, ЗАМЕЧАТЕЛЬНЫЕ,…);
- существительные в винительном падеже множественного числа (КОЛОНКИ,
ДИСКЕТЫ, ГОЛОВЫ, ВЕТВИ, БАНКИ, МАШИНЫ, ДИСКОВОДЫ,,,,).
Выбирая из каждого массива с помощью датчика случайных чисел по одному
слову, составить и напечатать заданное количество текстовых строк.
Пример диалога с программой:
-Введите массив существительных в именительном падеже единственного чис-
ла;
- Введите глаголы несовершенного вида в 1-м лице единственного числа
- Введите качественные прилагательные во множественном числе;
- Введите существительные в винительном падеже множественного числа;
- Введите число предложений.
Результат работы программы:
ТОРМОЗ ДОСТАЕТ ОТВРАТНЫЕ МАШИНЫ
СТУДЕНТ КОСИТ ЗАМЕЧАТЕЛЬНЫЕ КОЛОНКИ

программа:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
 #include <stdlib.h>
 #include <iostream>
 #include <locale>
 using namespace std;
 int main()
 {
 char* sushim [] = {"СТОЛЯР-КРАСНОДЕРЕВЩИК","СТУДЕНТ","ТОРМОЗ","КРЫША", "КИСЛОТА", "ШИЗА"};
 char* glag [] = {"ЕСТ", "ТРАВИТ", "КОСИТ", "ПИЛИТ", "ДОЛБИТ", "ДОСТАЕТ"};
 char* pril [] = {"ЯДОВИТЫЕ", "ОТВРАТНЫЕ", "ПРЕКРАСНЫЕ", "УБОГИЕ", "НЕВЗРАЧНЫЕ", "ПРЕВОСХОДНЫЕ","ЧЕРТОВСКИЕ", "ЗАМЕЧАТЕЛЬНЫЕ"};
 char* sushvin [] = {"КОЛОНКИ", "ДИСКЕТЫ", "ГОЛОВЫ", "ВЕТВИ", "БАНКИ", "МАШИНЫ", "ДИСКОВОДЫ"};
 int a,b=0,s1,s2,s3,s4;
 setlocale(LC_ALL, ".1251");
 cout <<"Сколько строк вывести?\n" ;
 scanf("%d", &a);
 srand(0);
 while (a!=b)
 {
 b++;
 s1=rand();
 s2=rand();
 s3=rand();
 s4=rand();
 setlocale(LC_ALL, ".1251");
 cout <<" Текст "<<b << " = " <<sushim [s1%6];
 setlocale(LC_ALL, ".1251");
 cout <<" " << glag [s2%6];
 setlocale(LC_ALL, ".1251");
 cout <<" " << pril [s3%8];
 setlocale(LC_ALL, ".1251");
 cout <<" " << sushvin [s4%7] << "\n";
 }
 return 0;
 
 }
Помогите исправить программу. Нужно массивы слов задавать непосредственно в консоли, а не к примеру char* sushim [] = {"СТОЛЯР-КРАСНОДЕРЕВЩИК","СТУДЕНТ","ТОРМОЗ","КРЫШ А", "КИСЛОТА", "ШИЗА"};

есть вот такой код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 #include <stdlib.h>
 #include <iostream>
 #include <locale>
 using namespace std;
 int main()
 {
 int i=0;
 char* token;
 const char razdeliteli[] =",";
 char buff [BUFSIZ];
 char* sushim [BUFSIZ];// = {"СТОЛЯР-КРАСНОДЕРЕВЩИК","СТУДЕНТ","ТОРМОЗ","КРЫША", "КИСЛОТА", "ШИЗА"};
 char* glag [BUFSIZ];// = {"ЕСТ", "ТРАВИТ", "КОСИТ", "ПИЛИТ", "ДОЛБИТ", "ДОСТАЕТ"};
 char* pril [BUFSIZ];// = {"ЯДОВИТЫЕ", "ОТВРАТНЫЕ", "ПРЕКРАСНЫЕ", "УБОГИЕ", "НЕВЗРАЧНЫЕ", "ПРЕВОСХОДНЫЕ","ЧЕРТОВСКИЕ", "ЗАМЕЧАТЕЛЬНЫЕ"};
 char* sushvin [BUFSIZ];// = {"КОЛОНКИ", "ДИСКЕТЫ", "ГОЛОВЫ", "ВЕТВИ", "БАНКИ", "МАШИНЫ", "ДИСКОВОДЫ"};
 int a,b=0,s1,s2,s3,s4;
 
 setlocale(LC_ALL, ".1251");
 cout «"Введите существительные в им. падеже: \n" ;
 gets(buff);
 
 token=strtok(buff,razdeliteli);//Настраиваем на первую лексему
 while(token!=NULL)//Пока не конец строки с лексемами
 {
 strcpy(sushim[i], token); // Копируем лексему в массив существительных
 i++;
 }
 }
и такая ошибка:
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.05.2013, 23:20
Ответы с готовыми решениями:

Командная строка программы С. Динамические массивы. Обработка символьных и строковых данных
Задание: С клавиатуры вводятся четыре массива слов: - существительные в именительном падеже единственного числа(СТОЛЯР- ...

массивы, обработка символьных и строковых данных, процедуры и фукции
Подскажите как решить задачи, кому не сложно, хотя бы с помощью каких компонентов их реализовать. Задача 4 Даны целые числа...

Обработка символьных и строковых переменных.
Индивидуальное задание Дана строка, состоящая из слов, разделённых пробелами. Отредактировать его так , чтобы между каждой парой слов...

1
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
30.05.2013, 03:59
Цитата Сообщение от Dima960522 Посмотреть сообщение
Нужно массивы слов задавать непосредственно в консоли, а не к примеру char* sushim [] = {"СТОЛЯР-КРАСНОДЕРЕВЩИК","СТУДЕНТ","ТОРМОЗ","КРЫШ А", "КИСЛОТА", "ШИЗА"};
C
1
2
char buff[ BUFSIZ ];
fgets(buff, stdin);
это если без страховки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2013, 03:59
Помогаю со студенческими работами здесь

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц)
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

Редактирование программы. Командная строка
Взялся я вот за Assembler и читаю руководство по нему, сразу же столкнулся с проблемой: Разъясните для необразованного пожалуйста,...

Обработка строковых данных
Если в строке цифр больше, чем латинских букв, заменить все цифры знаком &quot;+&quot;. В противном случае, заменить все латинские буквы знаком...

Обработка строковых данных
ввести строку содержащую несколько слов.составить слово из последних букв слов,введенной строки.

Обработка строковых данных
Задача: В пpоизвольном тексте найти и отпечатать все слова, начинающиеся с буквы а. код: int main() { setlocale(LC_ALL,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru