Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.02.2021
Сообщений: 5

Довести длину строки до заданной, вставляя пробелы между словами

14.02.2021, 21:42. Показов 2227. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо разработать функцию, которая выполняет ту обработку символьной строки, которая определена в условии.
При реализации функции запрещается пользоваться функциями библиотек языка C.

Условия задачи:
Функция доводит длину строки до заданной, вставляя пробелы между словами

Добавлено через 1 минуту
Не понимаю, если запрещено пользоваться функциями библиотек языка C, то как тогда вообще можно написать код, который выполнял бы все по условию?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.02.2021, 21:42
Ответы с готовыми решениями:

Выровнять строки в файле по правой и левой границе, вставляя между словами пробелы
Доброго времени суток. Задача: Выравнять строки в файле по правой и левой границе, вставляя между словами пробелы. Длинна строки 80...

Довести длину строки до заданной, вставляя пробелы между словами
Довести длинну строки до заданной вставляя пробелы меду словами . Напечатать все слова которые совпадают с ее первым словом. Пожалуйста...

Функция доводит длину строки до заданной, вставляя пробелы между словами..
Функция доводит длину строки до заданной, вставляя пробелы между словами

29
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.02.2021, 03:48
Студворк — интернет-сервис помощи студентам
zeroalef, да ладно, все отлично читается
я думал что то серьезное
0
 Аватар для CoderHuligan
1754 / 1020 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
18.02.2021, 10:15
Цитата Сообщение от мама Стифлера Посмотреть сообщение
я думал что то серьезное
у троллей в головах..
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
18.02.2021, 15:57
Цитата Сообщение от мама Стифлера Посмотреть сообщение
я думал что то серьезное
А я вполне серьезно. Хотичность его почерка свидетельствует о психических проблемах.
1
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.02.2021, 16:14
Цитата Сообщение от мама Стифлера Посмотреть сообщение
я думал что то серьезное
Поддерживаю zeroalef!
Односложные имена переменных КРАЙНЕ неинформативны, плюс хаотичное размещение скобок, паршивейшее выравнивание и полное отсутствие комментариев делают код неимоверно трудным для восприятия. Если придется, по крайней необходимости, разбирать такой код, то надо или сначала переформатировать, или вообще выкинуть и написать все заново...
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.02.2021, 16:24
Цитата Сообщение от liv Посмотреть сообщение
Поддерживаю zeroalef
Все понятно, значит и я наверно примерно в таком же стиле делаю, раз это вас смущает, а меня нет.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
18.02.2021, 16:54
Цитата Сообщение от мама Стифлера Посмотреть сообщение
значит и я наверно примерно в таком же стиле делаю, раз это вас смущает, а меня нет
Выше ссылка. Придерживайтесь простых правил и всё будет ок.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.02.2021, 17:01
мама Стифлера, сравните:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h> 
#include <stdlib.h>
#define N 255
 
//длина строки
int strLen(char * str)      
{
    char *pStr = str;
    while (*pStr)
        ++pStr;
    return pStr - str;
}
 
//вставка символа ch в строку str длины len, начиная с позиции pos
void insertChar(char *str, char ch, int pos, int len)   
{
    int i;
    for (i = len - 1; i >= pos; i--)    //освобождаем место под символ,
    {                                   // для этого смещаем строку вправо на один символ
        str[i + 1] = str[i];            // начиная с розиции pos
    }
    str[pos] = ch;                      //вставляем символ
    str[len + 1] = '\0';                //и закрываем строку нулем
}
 
//"растягивание" пробелами строки str до размера max
char * normStr(char *str, int max)  
{
    int len = strLen(str);              //длина исходной строки
    if (len >= max)
        return str;                     //если больши max, то ничего не делаем
    int сSpaces = max - len;           //сколько надо вставить пробелов
    char ch;                            //предыдущий символ, для анализа начала слова
    char *pch;                          //указатель на текущий символ в строке
    while (сSpaces != 0)               //циклим, пока есть, что вставлять
    {
        pch = str;                      //начинаем с начала строки
        ch = ' ';                       //предыдущий символ считаем равным ' '
        while (*pch)                    //по всем символам строки
        {
            if (сSpaces == 0)          //если вставили все пробелы - 
                break;                  // заканчиваем
            if (*pch != ' ' && ch == ' ' && pch != str) //если текущий - не пробел, предыдущий - пробел и не начало строки
            {                                           // т.е. начало следующего слова
                insertChar(str, ' ', pch - str, len);   //вставим один пробел в текущей позиции!
                --сSpaces;             //остается на один меньше
                ++len;                  //длина строки увеличилась на 1
                ++pch;                  //сдвигаем текущую позицию
            }
            ch = *(pch++);              //считываем символ, становится предыдущим и увеличиваем указатель на текущий
        }
    }
    return str;                         //возвращаем результат
}
char str[N] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
int main(void)
{
    printf("%s\n", normStr(str, 77));
    return 0;
}
2
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
18.02.2021, 17:50
Цитата Сообщение от liv Посмотреть сообщение
сравните
ну так практически так же я же делаю, только без комментариев строк и назначения функций тоже не комментирую
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
18.02.2021, 17:55
Цитата Сообщение от мама Стифлера Посмотреть сообщение
только без комментариев строк и назначения функций тоже не комментирую
Это пока ваши программы/баблиотеки вмещаются в один файл, или пока вы не вернулись к заброшенной месяц назад работе.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
18.02.2021, 18:01
Цитата Сообщение от мама Стифлера Посмотреть сообщение
ну так практически так же я же делаю
Ну и славно
Я предлагаю сравнить с исходным кодом. Даже если убрать комментарии, остаются выравнивания, скобки, идентификаторы, несколько операторов на строке... Все это затрудняет восприятие, приходится напрягаться, держать в памяти смысл идентификаторов, выискивать парную скобку и т.п.

Добавлено через 5 минут
Цитата Сообщение от zeroalef Посмотреть сообщение
Это пока ваши программы/баблиотеки вмещаются в один файл, или пока вы не вернулись к заброшенной месяц назад работе.
мама Стифлера, или еще того хуже, Вам придется копаться в чужом достаточно объемном коде или Ваш код будет изучаться кем-то другим...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2021, 18:01

Функция доводит длину строки до заданной, вставляя пробелы между словами
Помогите с прогой на С Функция доводит длину строки до заданной, вставляя пробелы между словами

Функция доводит длину строки до заданной, вставляя пробелы между словами
Функция доводит длину строки до заданной, вставляя пробелы между словами. слово может складатса с любых символов идея так считать...

Написать программу, которая доводит длину строки до заданной, вставляя пробелы между словами.
8.9.1. Помогите, пожалуйста, решить задачу в С++. Написать программу, которая доводит длину строки до заданной, вставляя пробелы...

Довести длинну строки до заданной вставляя пробелы меду словами . Напечатать все слова которые совпадают с ее
Довести длинну строки до заданной вставляя пробелы меду словами . Напечатать все слова которые совпадают с ее первым словом.

Выровнять строки по правому краю, вставляя между словами дополнительные пробелы
Дан текстовый файл Т, содержащий предложения на русском языке. Выровнять строки по правому краю, вставляя между словами дополнительные...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru