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

Преобразуйте строку так, чтобы сначала в ней шли все буквы исходной строки

29.06.2016, 13:39. Показов 5978. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку чтобы сначала в ней шли все буквы исходной строки, а потом - все цифры исходной строки, но в обратном порядке.
Допустимые символы - цифры; прописные и строчные латинские буквы.
Примеры:
Исходная строка Результат
ad2e57b6 adeb6752
Стрижем.Kozloff. Недопустимый символ - "."
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2016, 13:39
Ответы с готовыми решениями:

Преобразовать строку так, чтобы сначала шли цифры, а затем все буквы исходной строки, но в обратном порядке
1)Дана строка,содержащая буквы и цифры.Преобразовать строку так,что бы сначала шли цифры,а затем...

Преобразовать строку так, чтобы сначала в ней шли все цифры исходной строки, а потом – все буквы исходной строки, но в обратном порядке
1)Даны сведения о 8 фильмах: название, режиссер, страна, год выпуска, стоимость(расходы на выпуск),...

Преобразуйте эту строчку так, чтобы сначала в ней шли цифры, а потом - все буквы исходной строчки...
Условие: дана строчка, которая содержит буквы и цифры. Преобразуйте эту строчку так, чтобы сначала...

Преобразовать строку так, чтобы сначала в ней шли все буквы, а потом – все цифры
Имеется строка, содержащая буквы и цифры. Преобразовать строку так, чтобы сначала в ней шли все...

4
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12836 / 7572 / 1765
Регистрация: 25.07.2009
Сообщений: 13,969
29.06.2016, 15:32 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
/*
Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку 
чтобы сначала в ней шли все буквы исходной строки, а потом - все цифры 
исходной строки, но в обратном порядке.
Допустимые символы - цифры; прописные и строчные латинские буквы.
*/
 
char * order_string(char * s) {
    char * head = s, * tail = s + strlen(s) - 1;
    
    while ( head < tail ) {
        if ( ! isdigit(*head) )
            ++head;
        else {
            char tmp = *head;
            memmove(head, head + 1, tail - head);
            *tail-- = tmp;
        }
    }
    
    return s;
}
 
int main(void) {
    char str[256];
    
    while ( printf("String: ") && scanf("%255[0-9A-Za-z]%*c", str) == 1 )
        printf("Result: %s\n", order_string(str));
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 6
29.06.2016, 16:00  [ТС] 3
а можете разъяснить этот код?

Добавлено через 3 минуты
Спасибо. А можете разъяснить этот код?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12836 / 7572 / 1765
Регистрация: 25.07.2009
Сообщений: 13,969
29.06.2016, 16:12 4
Цитата Сообщение от GovardRub Посмотреть сообщение
А можете разъяснить этот код?
Да там вроде просто всё... Два указателя, head - на начало строки, tail - на хвост. И, пока они не сойдутся, если head указывает не на цифру, двигаем его на следующий символ, если цифра - запоминаем его, все символы после него и до tail двигаем на позицию влево, в tail отправляем запомненную цифру, сдвигаем tail на позицию левее.
0
0 / 0 / 0
Регистрация: 22.11.2019
Сообщений: 2
20.04.2020, 15:37 5
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
using namespace std;
 
 
 
 
 
 
 
 
 
 
int random(int x,int z){
 
int k=0;
k=x+rand()%(z-x)+1;
return k;
 
 
 
 
 
 
}
 
int pov(string strok){
int h=0;
char sl[100];
 
int k=0;
int x=0;
int arr[100]{0};
int c=0;
for(int i=0;i<strok.length();i++){
 
 
 
   if(strok[i]>='0'&&strok[i]<='9'){
 
     arr[x]=i;
x++;
 
 
}
 
 
 
 
 
}
 
for(int i=0;i<strok.length();i++){
 
if(strok[i]>='a'&&strok[i]<='z'&&c<x){
 
h=arr[c];
c++;
 
    sl[i]=strok[i];
    strok[i]=strok[h];
    strok[h]=sl[i];
 
}
 
}
 
cout<<strok;
}
 
 
 
int main()
{
    srand(time(0));
    int x=0,z=0,y=0,p=0,m=0,b=0,a=0;
    string strok;
 
    cin>>strok;
 
 
 
 
pov(strok);
 
 
 
}
0
20.04.2020, 15:37
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2020, 15:37
Помогаю со студенческими работами здесь

В строке заданы буквы и цифры. Преобразовать строку так, чтобы в ней сначала шли цифры, отсортированные по убыванию
В строке заданы буквы и цифры. Преобразовать строку так, чтобы в ней сначала шли цифры,...

Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не...

Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются ...

Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем – все нечётные
3. A={0,1,2,3}. Преобразовать слово P так, чтобы сначала шли все чётные цифры (0 и 2), а затем –...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru