Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.11.2022
Сообщений: 4

В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, удалить из каждой группы идущ

09.02.2023, 14:48. Показов 877. Ответов 3

Студворк — интернет-сервис помощи студентам
... группы идущих подряд цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка).
Нужно написать код на основе этого примера
Постановка задачи. В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, удалить из слова среднюю букву, если слово нечетной длины. Полученный текст напечатать.

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
61
62
63
64
65
66
67
68
69
70
71
72
73
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<locale.h>
int main()
{
    const int m = 10;          // m - максимальное количество строк
    char *s[m],                // массив указателей на строки
        wstr[80];           // рабочая строка
    int  i,                    // текущий индекс строки
        j,                  // текущий индекс символа в строке
        j1,
        dl_wstr,            //// длина текущей вводимой строки
        kol_str,             // количество введенных строк
// местоположение:  если находимся внутри слова, то inword=1, а если вне слова, то inword=0
        inword = 0,
        beg,                    // индекс первой буквы слова
        dl_str,                 // длина текущей строки
        dl_word;             // длина очередного выделенного слова
    system("cls");
    i = 0;
    setlocale(0,"");
// Цикл ввода строк символов, пока не конец потока ввода (CTRL+Z) и кол-во строк не > 10
    while ((gets_s(wstr) != NULL) && (i<10))   //считываем очередную стоку в рабочую строку
    {
        //выделяем динамически память для хранения введенной строки
        //адрес выделенной памяти сохраняем в массиве указателей на строки
        //размер выделенной памяти на 1 больше длины рабочей строки (для '\0') 
        dl_wstr = strlen(wstr) + 1;
 
        s[i] = new char[dl_wstr];
 
        //копируем содержимое рабочей строки в динамически выделенный участок памяти
        strcpy_s(s[i], dl_wstr, wstr);
        i++;
    }
    kol_str = i;
    for (i = 0; i < kol_str; i++)            // перебираем все введенные строки
    {
        dl_str = strlen(s[i]);             // определяем длину текущей строки
        for (j = 0; j <= dl_str; j++)    // движемся по строке
            if (*(s[i] + j) == ' ' || *(s[i] + j) == '\0' || *(s[i] + j) == ',')
                // если встретили символ-разделитель
            {
                if (inword == 1) // и этот символ первый после слова
                {
                    dl_word = j - beg;  // определяем длину текущего слова
                    if (dl_word % 2)    // если длина нечетная, то
// удаляем из слова средний символ, для чего сдвигаем все символы строки  на одну позицию влево
// после середины слова и до конца строки (включая '\0')
                    {
                        for (j1 = beg + dl_word / 2; j1 < dl_str; j1++)
                            *(s[i] + j1) = *(s[i] + j1 + 1);
                        dl_str = dl_str - 1;  // уменьшаем длину строки и
                        j = j - 1;            // индекс текущего символа в строке
                    }
                    inword = 0;          // теперь находимся вне слова
                }
            }
            else                              // если не разделитель
                if (inword == 0)           // и находимся вне слова, 
                {
                    inword = 1;             // то встретили новое слово
                    beg = j;                // запоминаем индекс первого символа в слове
                }
    }
    // Выводим на экран преобразованный текст
    printf("\nРезультат\n");
    for (i = 0; i < kol_str; i++)
        puts(s[i]);
    _getch();
}
У меня получилось додуматься только да такого, но все равно не выходит

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (i = 0; i < kol_str; i++)            // перебираем все введенные строки
    {
        dl_str = strlen(s[i]);             // определяем длину текущей строки
        for (j = 0; j <= dl_str; j++)    // движемся по строке
            if ((*(s[i] + j) != '.') && (s[i][j] == '0' && s[i][j + 1] == '0'))
    
            {
 
                    for (j1 = dl_str; j1 < dl_str; j1++)
                        *(s[i] + j1) = *(s[i] + j1 + 1);
                    dl_str = dl_str - 1;    // уменьшаем длину строки и 
                    j = j - 1;             // индекс текущего символа в строке 
                
            }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2023, 14:48
Ответы с готовыми решениями:

В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, удалить из слова первую буву.
Такая вот задача: В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, удалить из слова первую букву....

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов
В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов, найти слова максимальной...

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

3
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
09.02.2023, 14:54
внизу - "похожие темы"

Добавлено через 1 минуту
то нули удалить, то среднюю букву...
А вы внятно излагать умеете?
0
0 / 0 / 0
Регистрация: 13.11.2022
Сообщений: 4
09.02.2023, 15:08  [ТС]
Первое это задача которую надо решить
А второе это пример кода на котором строится решение первой задачи
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
09.02.2023, 15:14
nore, вам в раздел Сишко-кодеров.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2023, 15:14
Помогаю со студенческими работами здесь

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каж-дой строке не более 80 символов
Помогите пожалуйста! Срочно нужно!( В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каж-дой строке не более 80...

Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80 символов
Здравствуйте. Помогите пожалуйста с заданием. Из произвольного текста, содержащего не более 10 строк, в каждой строке не более 80...

прога которая содержащий не более 10 строк, в каждой строке не более 80 символов и эти символы вводятся с клавиатуры
здравструйте, помогите написать прогу которая содержащий не более 10 строк, в каждой строке не более 80 символов и эти символы вводятся с...

Файлы. Вывести файл на экран так, чтобы в каждой строке было не более 40 символов
Дан файл f. Вывести файл на экран так, чтобы в каждой строке было не более, чем 40 символов и количество строк было минимальной....

Вывести текст так, чтобы в каждой строке на выходе было не более, чем W символов
Есть текст в строке, не содержащей символы перевода строки. Текст состоит из слов (будем считать за слово последовательность +),...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru