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

Удалить цифры из строки и сложить удаленные цифры в конце

11.01.2022, 19:09. Показов 596. Ответов 2

Студворк — интернет-сервис помощи студентам
Условие:Даны натуральное число n и символы s1,…,sn. строку s1,…,sn обработать так, чтобы все слова, состоящие только из цифр, были удалены, их сумма стояла последним словом в строке.
Пока код только удаляет цифры.
Ребят, не подскажете, как именно в самой строке сложить удаленные цифры.
ПримерВвод строки: "1Hello2World3!!!4"
Вывод строки: "Hello World !!! 10" )
Если кому не лень, скажите, как тут динамически выделить память
Спасибо заранее!)
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
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h> 
#include <conio.h>
 
 
int main()
{
    char in[100]={0};
    char out[100]={0};
    
    printf("Vvodin stroku:\n");
    gets(in);
 
    int indexIN = 0;
    int indexOUT = 0;
 
    while (in[indexIN] != '\0')
    {
        if (in[indexIN] >= '0' && in[indexIN] <= '9')
            indexIN++;
        else
        {
            out[indexOUT] = in[indexIN];
            indexIN++;
            indexOUT++;
        }
    }
 
    out[indexOUT] = '\0'; 
    puts(out);
    getch(); 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2022, 19:09
Ответы с готовыми решениями:

В конце строки удалить все цифры 0 и символы с кодом меньше пробела (раздельная компиляция Turbo Pascal и TASM)
Помогите, пожалуйста, с ассемблером проблемы, не могу никак понять, как все работает. С высоким уровнем более менее все понятно, а тут гг,...

Массив строк в с++. Вывести строки, в которых есть цифры. В каждой строке удалить все цифры
Помогите пожалуйста с задачей ! срочно!! Необходимо написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести...

Есть цифры от n до 0, нужно сложить те цифры, которые являются Фибоначчи.
есть цифры от n до 0 нужно сложить те цифры, которые являются Фибоначчи. Спасибо

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
11.01.2022, 21:21
Здесь не нужно динамически выделять память. Все гораздо проще.

Добавлено через 26 минут
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
#include <stdio.h>
#include <string.h>
 
void convStr(char *stri)
{
    int size=strlen(stri);
    int acc,sum,i_f,i_t;
    char c;
    char nbuf[10]={0};
 
    acc=sum=0;
    i_f=i_t=0;
    
    while (i_f<size)
    {
        c=stri[i_f]; 
        
        if (c>='0' && c<='9')
           acc=acc*10+c-'0';
        else
        {
            sum=sum+acc;
            acc=0;
            stri[i_t++]=stri[i_f];
        }
        i_f++;
    }
    
    stri[i_t]=0;
    
    sprintf(nbuf,"%d",sum);
    
    strcat(stri,nbuf);
    
}
 
int main()
{
    char buf[100];
    strcpy(buf,"1H23ello 111 World");
 
    convStr(buf);
    printf("%s\n",buf);
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.09.2021
Сообщений: 3
11.01.2022, 21:46  [ТС]
Немного не то. Возможно я не понятно объяснил.
Я сам должен вводить строку например: 1 hello2 wor3ld!!!!4. а выводить оно должно hello world!!!! 10.
Первый раз я сделал через atoi, но мне сказали, переделай, atoi нельзя использовать.
Вот вопрос в том.
Как я могу написать сам, всё что захочу. программа удалит цифры, выведет мне только буквы, а удаленные цифры просуммирует в конце. И чтобы это было всё строкой
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
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h> 
#include <conio.h>
//в этом варианте строка удаляет цифры, но не суммирует в конце. Что нужно добавить, чтобы она начала их суммировать в конце.
 
int main()
{
    char in[100]={0};
    char out[100]={0};
    
    printf("Vvodin stroku:\n");
    gets(in);
 
    int indexIN = 0;
    int indexOUT = 0;
 
    while (in[indexIN] != '\0')
    {
        if (in[indexIN] >= '0' && in[indexIN] <= '9'){
            indexIN++;
            }
        else
        {
            out[indexOUT] =in[indexIN];            
            indexIN++;           
            indexOUT++;
            
        }
    }
 
    out[indexOUT] = '\0'; 
    puts(out);
    getch(); 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.01.2022, 21:46
Помогаю со студенческими работами здесь

Сложить цифры числа (до тех пор, пока не получится сумма из одной цифры)
Всем Доброго времени суток. Первая программа заключается в том что с клавиатуры вводится число например 45644, нужно занести его или в...

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

Массивы: вывести строки, в которых есть нечетные цифры, в каждой строке удалить все нечетные цифры
Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в которых есть нечетные цифры. В каждой строке...

Удаление цифры 0, в конце строки TASM
Задание:написать программу, которая возвращает строку, в конце которой удалены все цифры 0 и символы с кодом меньше пробела. помогите...

В каждом введенном числе удалить цифры 5 если они находятся в конце числа
Ввести пять чисел. В каждом числе удалить «хвостовые» цифры 5. (например, дано 2355, результат 23). Использовать процедуру замены...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru