0 / 0 / 0
Регистрация: 19.06.2024
Сообщений: 5

Как продублировать строку n раз? без цикла если можно

29.06.2024, 17:13. Показов 2694. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Например есть переменная n и строка s
Значения вводит пользователь
и надо продублировать строку s, n раз
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.06.2024, 17:13
Ответы с готовыми решениями:

Найти КПД цикла, если в пределах цикла объём меняется в n раз
2)Идеальный газ совершает цикл, состоящий из изохоры, адиабаты и изотермы, причём изотермический процесс происходит при Tmax. Изобразить...

Как разделить строку TStringlist без цикла?
Допустим имеется строка: "Hello world!" в TStringList ,как присвоить другой TStringlist "Hello" без цикла ?

Как конвертировать TStringDynArray обратно в строку без цикла?
Здрасте, как нормально конвертировать тип TStringDynArray обратно в строку типа string без цикла: program Project2; {$APPTYPE...

33
place status here
 Аватар для gunslinger
3180 / 2209 / 640
Регистрация: 20.07.2013
Сообщений: 5,909
29.06.2024, 17:34
Что значит "продублировать"?
Вывести n раз строку s или из исходной строки s сделать строку, которая будет содержать строку s ровно n раз?
И как это без цикла сделать? Даже если использовать какую-то (не обязательно самописную) функцию вроде DupStr (дублирующую строку каким-то способом), то все равно она будет работать (скорей всего) через цикл в том или ином виде.
0
0 / 0 / 0
Регистрация: 19.06.2024
Сообщений: 5
29.06.2024, 17:36  [ТС]
Второй вариант
0
Неэпический
 Аватар для Croessmah
18129 / 10713 / 2064
Регистрация: 27.09.2012
Сообщений: 27,005
Записей в блоге: 1
29.06.2024, 17:41
f0xg02, рекурсией можно
0
place status here
 Аватар для gunslinger
3180 / 2209 / 640
Регистрация: 20.07.2013
Сообщений: 5,909
29.06.2024, 17:46
Тот же цикл получится, только в профиль (с элементами "извращения").
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
29.06.2024, 18:16
goto
0
place status here
 Аватар для gunslinger
3180 / 2209 / 640
Регистрация: 20.07.2013
Сообщений: 5,909
29.06.2024, 18:40
Ну тогда уж лучше через рекурсию.
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
#include <iostream>
#include <string>
using namespace std;
 
string DupStr (string s, unsigned n)
{
  if (n == 0)
    return "";
  if (n == 1)
    return s;
  return s + DupStr(s, n - 1);
}
 
int main()
{
  string s;
  cout << "s = ";
  getline(cin, s);
  unsigned n;
  cout << "n = ";
  cin >> n;
  s = DupStr(s, n);
  cout << s << endl;
 
  system("pause");
  return 0;
}
Code
1
2
3
s = ya zhu ki_
n = 3
ya zhu ki_ya zhu ki_ya zhu ki_
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
4591 / 2516 / 994
Регистрация: 01.06.2021
Сообщений: 8,681
29.06.2024, 18:42
можно еще так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
std::string repeat(const std::string& s, size_t n)
{
    std::ostringstream oss;
    std::fill_n(std::ostream_iterator<std::string>(oss), n, s);
    return oss.str();
}
 
int main()
{
    constexpr int n = 5;
    std::string s = "anubis";
    std::cout << repeat(s, n);
}
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
29.06.2024, 20:00
Цитата Сообщение от Royal_X Посмотреть сообщение
std::fill_n(std::ostream_iterator<std::s tring>(oss), n, s);
а внутри там цикла нет?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12901 / 6761 / 1816
Регистрация: 18.10.2014
Сообщений: 17,096
29.06.2024, 20:07
Цитата Сообщение от ram876 Посмотреть сообщение
а внутри там цикла нет?
"Внутри" цикл есть у всего на свете. Поэтому с точки зрения "внутри" задача вообще не имеет решения.

Разумеется, постановка задачи совершенно бредовая, поэтому и обоснования решений будут соответствующие.
1
0 / 0 / 0
Регистрация: 19.06.2024
Сообщений: 5
29.06.2024, 20:12  [ТС]
Ой извините, я не правильную формулировку дал, я имел ввиду мне нужно простое и компактное решение и без большого цикла на пол решения
0
Модератор
Эксперт С++
 Аватар для zss
13761 / 10957 / 6488
Регистрация: 18.12.2011
Сообщений: 29,218
29.06.2024, 21:08
C++
1
2
3
string s = "anubis",res;
for(int i=0;i<n;i++)
    res+=s;
Это разве не простое и компактное решение?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12901 / 6761 / 1816
Регистрация: 18.10.2014
Сообщений: 17,096
29.06.2024, 21:18
Цитата Сообщение от zss Посмотреть сообщение
Это разве не простое и компактное решение?
Нет. Простое и компактное

C++
1
2
3
4
5
6
7
8
9
#include <string>
#include <functional>
#include <iostream>
 
int main()
{
  std::function<std::string (std::string, unsigned)> f;
  std::cout << (f = [&](std::string a, unsigned n) { return n > 0 ? f(a, n - 1) + a : ""; })("anubis", 5) << std::endl;
}
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
4591 / 2516 / 994
Регистрация: 01.06.2021
Сообщений: 8,681
29.06.2024, 21:41
Цитата Сообщение от zss Посмотреть сообщение
Это разве не простое и компактное решение?
Оператор + для строк медленный. Хотя бы нужно выделить память на строку, хранящую результат (конечная длина известна же).
1
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
29.06.2024, 23:20
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <sstream>
#include <string>
 
int main() {
    std::string s = "anubis ";
    std::stringstream t;
    int n = 10;
    
    while (n--)t << s;
    std::cout << (s=t.str());
}
0
 Аватар для Наталья8
489 / 355 / 65
Регистрация: 09.03.2016
Сообщений: 3,586
30.06.2024, 01:39
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
int main()
{
    short n = 10;
    char *ln = "anubis ",*txt_ptr =
        (char*)std::calloc(sizeof(char), (strlen(ln)*n) + 1);
while(n--)strcat(txt_ptr, ln);
 std::printf("%s\n", txt_ptr);
    std::free(txt_ptr);
   return 0;
}
std::free( это тоже std::free(?
Может не круто. За то правильно.
0
 Аватар для Наталья8
489 / 355 / 65
Регистрация: 09.03.2016
Сообщений: 3,586
30.06.2024, 01:43
0
 Аватар для eva2326
1663 / 492 / 106
Регистрация: 17.05.2015
Сообщений: 1,503
30.06.2024, 05:46
Лучший ответ Сообщение было отмечено Новичок как решение

Решение

Цитата Сообщение от f0xg02 Посмотреть сообщение
Как продублировать строку n раз? без цикла
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
struct sample
{
    sample() { std::cout << "text\n"; }
};
 
int main()
{
    const sample arr[10];
    (void) arr;
}
4
Модератор
Эксперт С++
 Аватар для zss
13761 / 10957 / 6488
Регистрация: 18.12.2011
Сообщений: 29,218
30.06.2024, 06:20
eva2326, а для чего нужна 11 строка (void)arr ?
В отладчике видно, что компилятор ее игнорирует.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
37986 / 21018 / 4301
Регистрация: 12.02.2012
Сообщений: 34,583
Записей в блоге: 14
30.06.2024, 08:17
Всё как обычно: чем ничтожнее вопрос, тем больше обсуждение. А если еще учесть способность ТС внятно задавать вопрос...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.06.2024, 08:17
Помогаю со студенческими работами здесь

Как это можно сделать без цикла?
Пользователь вводит строку, часть символов в верхнем регистре, часть в нижнем. Необходимо вывести строку всю в верхнем регистре, если было...

Как правильно вывести строку двухмерного массива без применения цикла
Подскажите пожалуйста, вот я обьявляю строку char s; Если Мне нужен массив строк, то я обьявляю его s Как дальше использоваь второй...

Как записать (без цикла for) и прочитать строку с русс символами в файл?
В консоли пользователя спрашивают, желаете записать строку в файл, если да пишем одну строку. Потом спрашивают желаете еще прочитать, если...

Можно ли как-нибудь обойтись без цикла в бескомпонентном upload?
Может быть есть какие-то функции преобразования, позволяющие сразу получить результат? aAllDataB =...

Как можно прервать 1 проход цикла, если установленное время истекло?
Здравствуйте. Подскажите как можно прервать 1 проход цикла если время установленное истекло .(Проблема в том что программа иногда...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru