Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Truba
0 / 0 / 0
Регистрация: 02.05.2011
Сообщений: 21
#1

помогите со строками на С - C++

09.11.2011, 23:54. Просмотров 352. Ответов 2
Метки нет (Все метки)

Даны строки A и B. Если строки состоят из одних и тех же символов и в A нет повторяющихся символов, то упорядочить символы A в алфавитном порядке и удалить из B русские буквы; в остальных случаях упорядочить символы A в порядке, обратном к алфавитному, удалив повторяющиеся символы, и продублировать знаки препинания в B.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 23:54     помогите со строками на С
Посмотрите здесь:

Помогите пожалуйста со строками в C - C++
Необходимо решить задачку: Дана строка, содержащая последовательность слов, разделенных пробелами. Удалить из строки все слова, в которых...

Недопонял... Помогите пожалуйста... Со строками... - C++
Доброго всем времени суток. Что объявляет следующая строка? char *s; Создаётся указатель на начало строки, например как на...

Помогите пожалуйста!работа со строками, файлами - C++
Разработайте программу, функция main() которой содержит вызов предложенной стандартной функции обработки строк и вызов пользовательской...

Ребяты помогите со строками чуток разобраться. - C++
Есть строка. В ней надо найти максимальное количество повторяющихся элементов. int main(){ char s = "pen stolb nos avtobus stil...

Управление строками - C++
Всем привет! Я изучаю с++ недавно, в как учебное пособие использую "С++ для чайников". Пример перепечатал с книги, а он не работает! ...

Робота с строками в С++ - C++
Есть строка символов, і ее нузно развернуть, от код, подскажите, потому что выдает ошибку char*str1; cout<<"\nvvedit 1\n"; ...

Управление строками - C++
Есть ли функции в библиотеке Си (не Си++) позволяющие перезаписывать содержимое строк или менять положение индикатора позиции наподобии...

Задание со строками - C++
Доброго времени суток! Не получается что-то добиться нужного результата. Везде искал инфу, по кусочкам собирал свой "правильный" код. У...

Файл со строками - C++
Дан текстовый файл. Переписать в новый файл все его строки, длина которых больше заданного числа. Входной файл «1.txt» содержит строковые...

Подскажите со строками - C++
С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 700 символов (длина строки текста не должна...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
09.11.2011, 23:58     помогите со строками на С #2
ну, дык, вы уже приступайте к упорядочиванию, а мы поправим, ежели не так чего будет
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,506
10.11.2011, 01:31     помогите со строками на С #3
Truba, сравнивалка букв и сортировка, остального на форуме залежи, ищите, эксперементируйте...
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
/* ANSI C 99 */
 
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
 
int asc_cmp(const void * a, const void * b){
    return *(wchar_t*)a - *(wchar_t*)b;
}
 
int desc_cmp(const void * a, const void * b){
    return *(wchar_t*)b - *(wchar_t*)a;
}
 
int same_chars(const wchar_t * a, const wchar_t * b){
    wchar_t bufA[wcslen(a) + 1], bufB[wcslen(b) + 1], * ptrA, * ptrB;
    
    if ( sizeof(bufA) != sizeof(bufB) )
        return -1;
    
    wcscpy(bufA, a);
    qsort(bufA, wcslen(bufA), sizeof(wchar_t), asc_cmp);
    wcscpy(bufB, b);
    qsort(bufB, wcslen(bufB), sizeof(wchar_t), asc_cmp);
    
    for ( ptrA = bufA, ptrB = bufB; *ptrA != L'\0' && *ptrA == *ptrB; ++ptrA, ++ptrB )
        ;
    
    return *ptrA - *ptrB;
}
 
int main(void){
    wchar_t strA[BUFSIZ], strB[BUFSIZ];
    
    setlocale(LC_ALL, "ru_RU.UTF-8");
    
    while ( printf("A: ") > 0 && scanf("%l[^\n]%*c", strA) == 1 && printf("B: ") > 0 && scanf("%l[^\n]%*c", strB) == 1 ){
        printf("Same characters: %s\n", ( same_chars(strA, strB) ) ? "NO" : "YES");
        qsort(strA, wcslen(strA), sizeof(wchar_t), asc_cmp);
        printf("A ascendant sorted:\n\t%S\n", strA);
        qsort(strB, wcslen(strB), sizeof(wchar_t), desc_cmp);
        printf("B descendant sorted:\n\t%S\n", strB);
    }
    
    return 0;
}
помогите со строками на С

Не по теме:

Шрифты русские у меня в консоли забавные, а так вроде работает...

Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru