powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые размышления или мысли в душе
5 сообщений из 5, страница 1 из 1
Некоторые размышления или мысли в душе
    #38564785
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Сегодня был необыкновенный день. Так мне давно не думалось. Я пришёл в 20 домой, посмотрел с телефона форум, увидел что stut так и не сделал реверс, подумал что за фигня, уже пора бы! Я ведь так и не выложил "свой способ".

Сначала я подумал, где же у него вторая строка, куда он буде записывать результат ? Написал в своём коде
Код: plaintext
1.
2.
int lenght=..//посчитал длину не важно как
char* reverse_string[lenght];



Компилятор ругнулся, и сказал мне -"Саша, если ты не знаешь как я работаю, то это не значит что ты можешь пихать мне что хочешь". Я подумал, да верно, он же не знает сколько выделить мне памяти, почитаю потом или спрошу как.
Потом я вспомнил свой любимый неявный возврат функции (многие из вас назовут это побочным эффектом, и в чём то будут правы). И написал две функции, одна принимает указатель на начало и длину, и делает реверс путём обратного printf по символам. А вторая уже проходит по строчке и выделяет эти слова (код завтра, он не на этой машине, а у меня осталось всего 10 минут, и компьютер надо будет выключить. Честно.)

Я написал, и всё работает, ок.

Но я подумал, функция ведь ничего не возвращает по факту, она просто читает эту память по другому. Я захотел исправить, но подумал -а зачем ?Потом я шёл кушать, и всё думал и думал, мне писали и звонили, я пропустил несколько сообщений, но было не до этого.
Итак 20. stut так ничего и не сделал. Я пошёл в зал. Решил, хватит бассейна, пора начинать в этом году ходить и делать упражнения в тренажёрном зале, но не суть. В зале ко мне так часто никогда не обращались, точней там я обычно здороваюсь с тренером и всё. А тут я сделал одно упражнение, и сижу на тренажёре. Три раза мне напомнили что пора бы освободить место другим, раз "мечтаю".

А я думал. Думал, почему же я сделал правильно. В 20 45 я не выдержал, и вышел с телефона на sql. Увидел объяснение про цикл до lenght/2, вспомнил что видел это у K&R, вспомнил алгоритм, и подумал, нет, так не надо. Пробежал всего 12 минут на дорожке, вместо обычных 20, не выдержал и пошёл в душ.

Там я тоже продолжал думать об этом, хотя в душе я обычно таким никогда не занимался. И о таких вещах там обычно не думаю. И что же вы думаете ? Я понял что я прав!

Я решил, что значит что функция возвращает значение ? Это значит что она записывает в определённую область памяти значения, для того чтобы потом эти значения прочитать стандартным способов.

И я решил, зачем мне что-то менять, если я могу просто читать это другим способом ? в случае с полным reverse например, читать указатель в обратную сторону,
Код: plaintext
1.
2.
3.
4.
5.
while(lenght>0)
{
printf("%c",*(word+lenght));
--lenght;
}


Мне кажется есть класс задач, решение которых сводится к изменению чтения памяти, а не выделению памяти для записи туда изменённого значения.


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

Не ругайтесь сильно если это глупости. Но мне так понравилась моя мысль, что если бы я мог, то обнял бы её C:

SS
...
Рейтинг: 0 / 0
Некоторые размышления или мысли в душе
    #38564830
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саша, для блогов существует отдельный раздел. Прими это во внимание.
...
Рейтинг: 0 / 0
Некоторые размышления или мысли в душе
    #38564847
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryЯ написал, и всё работает, ок.
Если думаешь что все просто: усложни задачу, перепиши только в указателях, чтоб не было никаких int lenght, *(word+lenght). только char* и char.
Думаю справишься пока stut свои ошибки осознает.

PS mayton прав, есть правила форума и надо их придерживаться.
...
Рейтинг: 0 / 0
Некоторые размышления или мысли в душе
    #38564890
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

все, это конец, теперь ты обречен думать вечно.... :) а если серьезно, то "забавно думать, что есть еще люди у которых все впереди" (с) Аквариум

удачи!
...
Рейтинг: 0 / 0
Некоторые размышления или мысли в душе
    #38564896
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Закрываю. Если будет вопрос - то задайте в соответствии с правилами форума C++ 12050188
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Некоторые размышления или мысли в душе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]