|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
||||||
Как передать массив в функцию так, чтобы при выходе из функции он не изменялся?23.03.2014, 18:25. Показов 4211. Ответов 15
Метки нет (Все метки)
Задачка: есть строка, которая состоит из символов. Символы соединяються в слова, которые оттделены друг от друга одним или несколькими пробелами. В конце текста крапка. написать:
1) Функцию, которая выводит все слова, без гласных литер; 2) Ф-кцию, которая выводит все слова без цыфр. Задачку сделал и по-отдельно функции работают. Но когда запускаю функции друг за другом, то первая работает нормально, а вторая нет. Я думаю, это связано с тем, что изменяется начальный массив. Но не могу реализовать эти знания на практике. Мне не нужен код, мне нужно, чтобы кто-то обяснил почему моя прога работает так, где я допустил ошыбки и как их испрвить. Спасибо.
0
|
||||||
| 23.03.2014, 18:25 | |
|
Ответы с готовыми решениями:
15
Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
| 23.03.2014, 18:57 | |||||||||||
Добавлено через 1 минуту
И память, в функциях, не забудьте освободить.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
||||||||||||
| 23.03.2014, 19:02 [ТС] | ||||||||||||
|
Извините за глупый вопрос: char *new_str = new char[strlen(str4) + 1]; +1 это для терминатора, правильно?
и второй strcpy(new_str, str4); это то же самое что через for
0
|
||||||||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||||
| 23.03.2014, 19:06 | ||||||||
|
Добавлено через 1 минуту
0
|
||||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
|||||||||||
| 23.03.2014, 19:16 [ТС] | |||||||||||
|
И еще один. А почему тогда одна функция работает с
0
|
|||||||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 23.03.2014, 19:34 | ||
Сообщение было отмечено big_boom как решение
Решение
2
|
||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
|||||||||||
| 23.03.2014, 22:40 [ТС] | |||||||||||
|
спасибо. все получилось) остался еще один вопрос. в коде строка 27 и 69. Это я создаю new_char с определенным количеством элементов и с удалением нет проблем.
0
|
|||||||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||
| 24.03.2014, 04:32 | |||||||
Добавлено через 1 час 56 минут И не нужно, в данном случае, передавать указатель в функцию по ссылке. Это делается, обычно, тогда, когда нужно, чтобы измения значения указателя в функции сохранились после выхода из функции. В данном коде, значения указателя, передаваемого в функцию, вообще не изменяется, поэтому и в передаче по ссылке смысла нет.
2
|
|||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
||||||
| 24.03.2014, 15:43 [ТС] | ||||||
|
Спасибо за советы. Очень помогли. Но к этой задачке надо еще одну ф-кцию дописать. Надо из строки выбрать все цифры и вывести их в новом динамическом массиве. Все сделал, есть одна проблема, которую не могу решить. Кажется, что разиер нового массива на цифры меньше чем количество цифр.
0
|
||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
| 24.03.2014, 16:07 | |||||||||||
Сообщение было отмечено big_boom как решение
Решение
Тут вообще непонятно, что делаете.
Опять массив нулевого размера:
Алгоритм должен быть, приблизительно, такой: подсчитываете количество цифр в строке (сравниваете каждый символ строки с диапазоном цифр (if (str[i] >= '0' && str[i] <= '9'), потом создаёте массив нужного размера, проходите второй раз по строке и копируете цифры в созданный массив.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
|||||||||||
| 24.03.2014, 17:37 [ТС] | |||||||||||
|
БОЛЬШОЕ ВАМ СПАСИБО!!! Очень помогли. Нашол очень странную ошыбку в коде
если написать
а если просто
В любом случае спасибо)
0
|
|||||||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 24.03.2014, 18:06 | ||
|
1
|
||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
||||||
| 27.03.2014, 13:35 [ТС] | ||||||
|
Здраствуйте alsav22. Хочу попросить помощь у вас еще один раз, поскольку вы доступно объясняете. Эту же самую задачку нам усложнили (если это можно так назвать). Нужно сделать функция сортировки слов по алфавиту. Между словами есть несколько пробелов. Все это нужно сделать с strtok. Понятия не имею з чего начать
но вот моя попытка
0
|
||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||
| 27.03.2014, 13:58 | |||||||
|
Не по теме:
Добавлено через 5 минут Не пойму только, почему вы ошибки не исправляете (о которых я писал)?
И зачем здесь rewind(stdin)?
0
|
|||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 14
|
||||||
| 27.03.2014, 14:20 [ТС] | ||||||
rewind (stdin) использую для очистки буфера клавиатуры. http://support.microsoft.com/kb/41159
0
|
||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 27.03.2014, 15:25 | ||
|
0
|
||
| 27.03.2014, 15:25 | |
|
Помогаю со студенческими работами здесь
16
Как создать подобную прогу так чтобы при вводе разных чисел, изменялся размер зеленой полосы как передать структуру в функцию, чтобы после выполнения функции он(массив в данном случае) вернулся измененным? Ребят, что не так?(Хочу, чтобы при нажатии, Изменялся размер) Как сделать так, чтобы при выходе из программы она продолжала работать? (не вирус) Как сделать так, чтобы изменялся шрифт именно выделенного текста? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|