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

Не получается сортировка и не только... - C++

Восстановить пароль Регистрация
 
demorate
1 / 1 / 0
Регистрация: 06.03.2011
Сообщений: 34
14.12.2011, 18:17     Не получается сортировка и не только... #1
1. После ввода с клавиатуры произвольного одномерного массива целых чисел (в пределах знакового целого типа) вывести на экран эти числа (по 10 в строке в виде столбцов), упорядоченные по возрастанию методом Шелла. Ввод каждого числа завершается нажатием <Enter>, ввод прекращается введением числа 0. Одинаковые числа выводятся один раз.

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

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <conio.h>
#include <locale.h>
 
int main(){
int i=0;
char eng[5]={'a','e','i','o','u'};
char rus[10]={'а','е','ё','и','о','у','ы','э','ю','я'};
char e[255],t,r[255];
int n,j,k;
setlocale(LC_CTYPE, "rus");
std::cout << std::endl << "Input eng text: " << std::endl;
    do {
        e[i]=getche();
    }
    while(e[i++]!='\r');
std::cout << std::endl << "Input rus text: " << std::endl;
    do {
        r[i]=getche();
    }
    while(r[i++]!='\r');
n=i-1;
    for(i=0;i<n-1;i++){
        for(j=0;j< n-i;j++){
            if(e[j+1]<e[j]){
                t=e[j];
                e[j]=e[j+1];
                e[j+1]=t;
            }
        }
    }
    for(i=0;i<n-1;i++){
        for(j=0;j< n-i;j++){
            if(r[j+1]<r[j]){
                t=r[j];
                r[j]=r[j+1];
                r[j+1]=t;
            }
        }
    }
    std::cout << std::endl << std::endl;
    for(k=0;k<n;k++){
        for(j=0;j<5;j++){
            if (e[k]==eng[j]){
                std::cout << e[k];
            }
        }
    }
    std::cout << std::endl << std::endl;
    for(k=0;k<n;k++){
        for(j=0;j<10;j++){
            if (r[k]==rus[j]){
                std::cout << r[k];
            }
        }
    }
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2011, 18:17     Не получается сортировка и не только...
Посмотрите здесь:

C++ структуры. не получается сортировка.
Массивы. Только учусь. Выборка и сортировка C++
Напечатать только те слова, перед которыми в строке находятся только меньшие слова, а за ними – только большие C++
Сортировка не получается (отсортировать массив по возрастанию) C++
Сортировка в лексографическом порядке(только чуть поправить код) C++
сортировка не получается C++
C++ Сортировка только первой строки матрицы
C++ Определить виды блюд, которые есть только на завтраке, только на обеде и только на ужине

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru