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

Отсортировать массив по убыванию и по возрастанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread140020.html
ув.программисты!!!помогите решить бедному студенту.если завтра не сдам то уже врядли им буду((( зарание спасибо. Задача 1. Даны четыре файла целых чисел разного размера с именами SA, SB, SC, SD и строка SE. Создать новый файл с именем SE, в котором чередовались бы элементы исходных файлов с одним и тем же номером (как в задании Задача 7). «Лишние» элементы более длинных файлов в...
C++ Работа с файлами не могу решить задачки.а завтра зачет. зарание всем спасибо. Задача 1. Дан файл целых чисел, содержащий менее 50 элементов. Увеличить его размер до 50 элементов, записав в начало файла необходимое количество нулей. Задача 2. Дан файл целых чисел. Удвоить его размер, записав в конец файла все его исходные элементы (в том же порядке). Задача 3. Даны два файла одного и того же типа. Добавить к... http://www.cyberforum.ru/cpp-beginners/thread140017.html
C++ Как сделать блок схему?
Помогите сделать блок схему к программе: #include <iostream> #include <iomanip> #include <windows.h> #include <time.h> #include <conio.h> #include<stdlib.h> using namespace std;
работа с файлами C++
пожайлуста помогите решить,а то завтра зачет,а я практически в этом не шарю(((( если не сдам то все......... зарание всем спасибо!!! Задача 1. Дан файл целых чисел. Найти количество содержащихся в нем серий (то есть наборов последовательно расположенных одинаковых элементов). Например, для файла с элементами 1, 5, 5, 5, 4, 4, 5 результат равен 4. Задача 2. Дан файл целых чисел. Создать...
C++ найти среднее геометрическое положительных членов последовательности http://www.cyberforum.ru/cpp-beginners/thread140013.html
Здравствуйте! Помогите пожалуйста! Если данная последовательность не упорядочена ни по неубыванию, ни по невозрастанию, найти среднее геометрическое положительных членов. Применить сортировку простого выбора. Напиши процедуру сортировки! Заранее благодарна!
C++ Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции Разработать функцию,которая перекрывает символы строки заданным количеством символов другой строки, начиная с заданной позиции.При реализации функции запрещается пользоваться функциями библиотек языка C. Примечание В большинстве заданий необходимо предусмотреть работу функции при некорректном задании ее параметров. Помогите пожалуйста) подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
03.06.2010, 21:34
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 <iostream>
#include <time.h>
#include <conio.h>
using namespace std;
const int SIZE=30;
void ubyvanie(int[],int[], int, int);
void vozrastanie(int[], int[],int, int);
void sort (int &b1, int &b2)
{
        int p = b1;
        b1 = b2;
        b2 = p;
}
 
int main()
{
        setlocale (LC_ALL, "Russian");
        srand (time (NULL));
        int  i ,n , j=0, k=0, l=0, z=0;
        int a[SIZE]={0}, b[SIZE]={0}, c[SIZE]={0};
        cout<<"Введите количество элементов: ";
        cin>>n;
        if (n%4!=0)
        {
                cout<<"Ошибка!\n";
getch();
 
                return 0;
        }
        for (i=0; i<n; i++)
        {
                a[i]=rand()%20;
                cout<<a[i]<<" ";
        }
        cout<<endl;
        vozrastanie (a, b, n, n/4);
        for (i=0; i<n; i++)
                cout<<b[i]<<" ";
        cout<<endl;
        ubyvanie (a, c, n, n/4);
        for (i=0; i<n; i++)
                cout<<c[i]<<" ";
        cout<<endl;
getch();
 
        return 0;
}
void vozrastanie (int a[], int b[], int sz, int s)
{
        for(int l=0, r=s-1; r<sz; r+=s, l+=s)
        {
                for (int t=l; t<=r; t++)
                        b[t]=a[t];
 
                for(int i=l; i<r; i++)
                        for(int j=r; j>i; j--)
                                if(b[j-1] > b[j])
                                        sort (b[j-1], b[j]);
        }
}
void ubyvanie(int a[],int b[], int sz, int s)
{
        for(int l=0, r=l+s-1; r<sz; r+=s, l+=s)
        {
                for (int t=l; t<=r; t++)
                        b[t]=a[t];
 
                for (int i=l; i<r; i++)
                        for (int j=r; j>i; j--)
                                if (b[j] > b[j-1])
                                        sort (b[j-1], b[j]);
        }
}
Так работает?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru