Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/17: Рейтинг темы: голосов - 17, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 08.12.2024
Сообщений: 6

Написать программу обращения слова

11.12.2024, 17:34. Показов 4200. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу обращения слова.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2024, 17:34
Ответы с готовыми решениями:

Написать программу, использующую для обращения к элементам массива указатели
Переписать данную программу, используя для обращения к элементам массива указатели Задача: из заданного одномерного массива A...

Написать программу добавления слова «hello» после первого слова введенной строки
Помогите( сколько искал ничего нету.

Написать программу добавления слова «hello» после первого слова введенной строки
Написать программу добавления слова «hello» после первого слова введенной строки C++

39
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
13.12.2024, 21:34
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Наталья8 Посмотреть сообщение
Код от этого лучше стал?
если не сложно, замерь время на больших строках. Мне тоже интересно. Сравни твой код с std::reverse.

Добавлено через 2 минуты
Цитата Сообщение от Наталья8 Посмотреть сообщение
Чё питон лучше?
По скорости нет, он даже медленнее JS, который выполняется в браузере. Но питон ценят не из-за скорости. Сам Страуструп советует его учить. Высокоуровневые функции питона облегчают жизнь. Для него есть хорошие научные пакеты. Без питона не было бы многих ИИ разработок.
И CPython - эталонная реализация питона, написана на твоем любимом С.
1
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
13.12.2024, 23:24
Цитата Сообщение от Royal_X Посмотреть сообщение
замерь время
Здесь коню понятно.
Я циклом переставляю байты в массиве char организованном на стеке.
Одним проходом. Ни чего лишнего.
Я не делаю ни какую конкатенацию......
Что вы можете сделать быстрее?
Чем мерять время то? И зачем?

Добавлено через 7 минут
Конкатенация string.
std::string::reserve надо делать.
Всем всё равно, сколько раз пересоздастся массив на куче?

Добавлено через 4 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
эталонная реализация питона
Фрамеворк помогает рисовать, делать рендеринг изображения на карте, делать видео.
Хорош там, где требуеться много работы.
А небольшую програмку я и без фрамеворка напишу.

Добавлено через 1 час 14 минут
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
36
37
38
39
40
#include <iostream>
#include <chrono>
#pragma warning(disable:4996)
using namespace std::chrono;
 
 
int main()
{
    high_resolution_clock::time_point t1;
    high_resolution_clock::time_point t2;
    duration<double>time_span;
    
char word[]{ "stackoverflow.com/questions/49090366/how-to-convert-stdchronohigh-resolution-clocknow-to-milliseconds-micros" };
 
t1 = high_resolution_clock::now();
    
    for (int i = 0; i < 100001; ++i) {
 
        char *word_ptr = word;
        char *ln_ptr{ word + std::strlen(word) };
        while (true) {
            bool end{ false };
            if (++word_ptr >= --ln_ptr)end = true;
            char tmp = *(word_ptr - 1);
            *(word_ptr - 1) = *(ln_ptr);
            *(ln_ptr) = tmp;
            if (end)break;
        }
    }
    
    t2 = high_resolution_clock::now();
time_span = duration_cast<duration<double>>(t2 - t1);
unsigned int sec = (unsigned short)floor(time_span.count());
 
std::cout << "It took me: " << time_span.count() << " seconds.\n";
        
        std::printf("%s", word);
    std::getchar();
        return 0;
}
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
13.12.2024, 23:26
Фигня.... Сто тыщ раз за две сотых секунды.

100001 - это что бы туда и обратно....
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
13.12.2024, 23:51
Наталья8, а как с библиотечным реверсом?
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
13.12.2024, 23:53
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 00:00
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
std::string s{ "stackoverflow.com/questions/49090366/how-to-convert-stdchronohigh-resolution-clocknow-to-milliseconds-micros" };
 
    t1 = high_resolution_clock::now();
    
    for (int i = 0; i < 100001; ++i) {
 
        
        std::reverse(s.begin(), s.end());
    }
    
    t2 = high_resolution_clock::now();
time_span = duration_cast<duration<double>>(t2 - t1);
unsigned int sec = (unsigned short)floor(time_span.count());
 
std::cout << "It took me: " << time_span.count() << " seconds.\n";
        
        std::printf("%s", s.c_str());
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 00:02
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 00:14
Ну значит я гавнокодер, а
XLAT,
Гениальный програмист.

Добавлено через 10 минут

Whitecolor,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 std::string word{ "stackoverflow.com/questions/49090366/how-to-convert-stdchronohigh-resolution-clocknow-to-milliseconds-micros" };
    
 
    t1 = high_resolution_clock::now();
    
    for (int i = 0; i < 100001; ++i) {
 
        int n = word.length();
        for (int i = 0; i < n / 2; i++) {
            std::swap(word[i], word[n - i - 1]);
        }
    }
    
    t2 = high_resolution_clock::now();
time_span = duration_cast<duration<double>>(t2 - t1);
unsigned int sec = (unsigned short)floor(time_span.count());
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 00:16

Тоже примерно как у меня. std::swap здесь....
Повара проверять не стану...
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
14.12.2024, 00:39
Цитата Сообщение от Наталья8 Посмотреть сообщение
Ну значит я гавнокодер, а
XLAT,
Гениальный програмист.
Теперь понятно, почему я написал еще в начале темы?
Цитата Сообщение от Royal_X Посмотреть сообщение
Подход XLAT самый правильный
Цитата Сообщение от Royal_X Посмотреть сообщение
Непонятно, чем руководствовался zss, когда отметил как лучший ответ код Whitecolor, а не XLAT...
Как показывает данная тема, не нужно заниматься велосипедами, когда есть библиотечная функция. Я бы еще понимал писать ручками интересные алгоритмические функции, например, всякие сортировки чисто в образовательных целях. Но блет отказываться от std::reverse и использовать говноциклы для реверса строки - где тут наука?

Наталья8, советую не недооценивать С++. Там есть много интересных готовых функций. Вот, советую посмотреть еще на std::transform. То что делает данная функция, велосипедами не догнать, хотя на первый взгляд кажется, что данную функцию можно заменить циклом)
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 02:11
Цитата Сообщение от Royal_X Посмотреть сообщение
Подход XLAT самый правильный
Не совсем.
Здесь надо учиться програмировать, а не волшебные слова вспоминать.

Добавлено через 3 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
где тут наука?
А зачем люди в шахматы играют.?
Кроссворды решают....
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
14.12.2024, 02:13
Цитата Сообщение от Наталья8 Посмотреть сообщение
Здесь надо учиться програмировать, а не волшебные слова вспоминать
ну так на языке ассемблера пиши, чтобы еще лучше учиться программировать))) главная цель программирования это написать программу, оставив за собой понятный, лаконичный, эффективный код, а не корчить из себя индуса, считая, чем больше строк или телодвижений, тем лучше.

Добавлено через 1 минуту
Цитата Сообщение от Наталья8 Посмотреть сообщение
А зачем люди в шахматы играют.?
Кроссворды решают....
ну если для тебя программирование это игрушка, то делай так, как тебе больше доставляет удовольствия
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 02:42
Цитата Сообщение от Royal_X Посмотреть сообщение
std::reverse
Тем более она везде банально валяеться.
В инетах на каждом заборе написано.
И примеры такие везде тоже валяються....
А я код написал. Ни где не валяеться.
Мне моральное удовлетворение.

Добавлено через 6 минут
Считаю, что си подход, более гибкий чем ваши кирпичи.
И по этому стараюсь тренироваться иногда.
Ещё соображение.
Си алгоритм, можно немного подправить, переделать,
и он сгодиться для несколько другой задачи.
А волшебное слово переделать нельзя.

Добавлено через 10 минут
Ладно понятно.
Указатели не использовать.
Гавноциклы не гавновелосипедить.
Но это другой язык.
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
14.12.2024, 09:56
Цитата Сообщение от Наталья8 Посмотреть сообщение
Повара проверять не стану...
Наталья8, давай признавайся, что проверял ведь "А чё это такое? В первый раз вижу ^^^^^^."
показало такой результат
Миниатюры
Написать программу обращения слова  
0
 Аватар для vlisp
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,439
14.12.2024, 11:39
Цитата Сообщение от XLAT Посмотреть сообщение
printf("after reverse: %s", s.c_str());
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 14:05
Есть вот такая, пять лет не доводимая до ума програмка.
clip_n(1).mp4
Вся соль в том, что если звук сначала тихий, а потом грохнет.
Звук проваливаеться в яму и долго потом поднимаеться.
Может есть такой шаблон stl , что бы его туда привинтить и всё стало отлично.
Мне кажеться что нету.
Вот и ни к какой другой пользе эта хрената (stl) тоже не придатна.
Кроме как голову морочить.
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 14:09
Цитата Сообщение от vlisp Посмотреть сообщение
printf("after reverse: %s", s.c_str());
Поддерживаю.
std_cout - глючное гавно.....
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
14.12.2024, 14:12
Цитата Сообщение от Наталья8 Посмотреть сообщение
Считаю, что си подход, более гибкий чем ваши кирпичи.
Конечно)))
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
char s[]="hello";
int main(void)
{
  int i, n=strlen(s);
  for(i=0; i<n; ++i){
    putc(s[-i+n-1], stdout);
  }
  return 0;
}
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
14.12.2024, 14:22
Цитата Сообщение от Наталья8 Посмотреть сообщение
std_cout - глючное гавно.....
а какой приговор дашь std::print / std::println С++23 ?
0
 Аватар для Наталья8
624 / 382 / 67
Регистрация: 09.03.2016
Сообщений: 4,265
14.12.2024, 15:13
Цитата Сообщение от Royal_X Посмотреть сообщение
а какой приговор дашь std_print / std_println С++23 ?
Вот ты пару годиков его везде повставляй,
и напишешь, на сколько он хорош.
------
Всё это лишние библиотеки с собою тянет.
Код распухает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2024, 15:13

Написать программу, которая переставляет слова предложения в обратном порядке. Слова вводить с клавиатуры
Написать программу, которая переставляет слова предложения в обратном порядке. Слова вводить с клавиатуры

Написать программу, которая выделяет любим способом в тексте слова палиндромы (слова, которые читаются одинаково справа налево и слева направо)
Вот примеры - &quot;level, radar, dewed, civic, solos...&quot; и строка - &quot;When I get on a high level in programming?&quot;

Написать программу преобразования цифр в слова
Написать программу преобразования цифр в слова

Написать программу которая сортирует по алфавиту слова
С помощью string

Написать программу удаления букв «б» из введенного слова
Написать программу удаления букв «б» из введенного слова


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru