15 / 8 / 8
Регистрация: 28.10.2019
Сообщений: 45
|
||||||||||||||||
1 | ||||||||||||||||
Различия в коде03.01.2020, 15:41. Показов 1156. Ответов 6
Метки нет (Все метки)
Напишите программу, которая использует массив char и цикл для чтения по
одному слову за раз до тех пор, пока не будет введено слово done. Затем программа должна сообщить количество введённых слов (исключая done). Пример запуска должен быть таким: Вводите слова (для завершения введите слово done): anteater birthday category dumpsteг envy finagle geometry done for sure Вы ввели 7 слов . Вы должны включить заголовочный файл cstring и применять функцию strcmp() для выполнения проверки. Собственно, само решение задачи я нашёл на форуме, и, в принципе, шёл правильным путём, но до конца так и не дошёл, т.к. не понимаю следующие некоторые вещи. Вот решение:
Как я понял, это связано с тем, что в первом коде объявляется количество символов (поскольку при попытке использовать без константной переменной size, ругается),
0
|
03.01.2020, 15:41 | |
Ответы с готовыми решениями:
6
Сравнить две строки на различия не учитывая кол-во пробелов и такие различия в буквах как о-и, н-т, в-д. различия с и с++ различия С++ от С# Различия |
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
03.01.2020, 15:49 | 2 |
Во втором мы считаем количество символов, что не соответствует ТЗ
Добавлено через 39 секунд И когда количество элементов неизвестно лучше использовать динамическую память
1
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
03.01.2020, 15:52 | 3 |
Сообщение было отмечено Asturiasly как решение
Решение
В первом случае считываются символы в массив до первого разделителя или пока не считается
size - 1 символов. Подробное описание тут (см. под цифрой 2)https://en.cppreference.com/w/... ator_gtgt2
1
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
03.01.2020, 15:52 | 4 |
Мы говорим компилятору, выделить нам 20 элементов массива, если мы будем просить не константой, то компилятор не будет знать сколько памяти выделить и выдаст ошибку
В данном случае длина слова не должна превышать 19 (\0 в конце)
1
|
15 / 8 / 8
Регистрация: 28.10.2019
Сообщений: 45
|
|
03.01.2020, 16:03 [ТС] | 5 |
То есть, если мы используем char как массив символов, то он автоматически ставит разделителем пробел? Можно ли в таком случае как-то поменять разделитель и, например, тем же образом считать предложения? Если увеличить массив, например, до 120.
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
03.01.2020, 16:32 | 6 |
Не только, все символы категории
white space Можно, но это уже редактирование локали, что для новичка не особо понятно.
1
|
Неэпический
|
|
03.01.2020, 20:40 | 7 |
1
|
03.01.2020, 20:40 | |
03.01.2020, 20:40 | |
Помогаю со студенческими работами здесь
7
Различия С++ от С# Различия типов Различия в командах Различия между 81 80 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |