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

Сортировка слиянием в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перевод из одной системы счисления в другую( помогите поправить код) http://www.cyberforum.ru/cpp-beginners/thread396001.html
Посмотрите, пожалуйста, кому не сложно код в с++. При компиляции выдает ошибку invalid function declaration Текст задачи: Десятичное целое положительное число m переводится в двоичную систему счисления, разряды в этой записи переставляются в обратном порядке, и снова производится перевод в десятичную систему счисления. Напечатать в виде таблицы все полученные значения для...
C++ генератор кроссвордов Здравствуйте,все! Просьба помочь с созданием генератора кроссвордов, который будет брать слова из специальной базы. Идей нет вообще никаких. Прошу помочь и если возможно дать код, просто третий день уже над ней сижу и совсем никак. http://www.cyberforum.ru/cpp-beginners/thread395998.html
C++ Комментарии к программе........
#include <iostream.h> #include <string.h> #include <stdio.h> #include <conio.h> #define N 5 int main() { int i,j; char x,y; puts("A nu-ka chirikni che te nada:\n");
Вывести рекуррентную формулу для вычисления суммы ряда C++
Помогите пожалуйста вывести рекуррентную формулу
C++ Являются ли элементы 1-го, квадратами элементов 2-го массива? http://www.cyberforum.ru/cpp-beginners/thread395988.html
Даны 2 одномерных массива (вводятся с клавиатуры), проверить, являются ли элементы 1-го, квадратами элементов 2-го массива.
C++ Определить, сколько элементов массива попадает в интервал Определить сколько элементов массива попадает в интервалы от А до В с шагом (А-В)/5 Добавлено через 16 часов 31 минуту плиз. Помогите:( подробнее

Показать сообщение отдельно
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
30.11.2011, 21:33     Сортировка слиянием в С++
Вот такое задание:
Составить программу реализации указанного метода сортировки и иллюстрации его выполнения. В программе предусмотреть просмотр входных и выходных данных и пошаговое перемещение элементов в соответствии с алгоритмом.
Для получения входных данных иметь три варианта:
a) непосредственный ввод и запись в текстовый файл;
b) генерирование с помощью датчика случайных чисел и запись в текстовый файл;
c) ввод из текстового файла
у меня в программе должна быть сортировка слиянием
vb.net
1
http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC
помогите откорректировать программу
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <iostream> 
#include <cmath> 
#include <stdio.h> 
#include <time.h> 
using namespace std; 
template <typename Item>
void Merge(Item Mas[], int left, int right, int medium)
{         
    int j = left;
    int k = medium + 1;
    int count = right - left + 1;
    if (count <= 1) return;
    Item *TmpMas = new Item[count];
    for (int i = 0; i < count; i++)
    {
        if (j <= medium && k <= right)
        {
            if (Mas[j] < Mas[k]) 
                TmpMas[i] = Mas[j++];
            else 
                TmpMas[i] = Mas[k++];
        }
        else
        {
            if (j <= medium) 
                TmpMas[i] = Mas[j++];
            else 
                TmpMas[i] = Mas[k++];
        }
    }
    j = 0;
    for (int i = left; i <= right; i++)
    {
        Mas[i] = TmpMas[j++];
    }
    delete[] TmpMas;
}
FILE *t; 
int i,n,b,c; 
int *a; 
int main() 
{ 
    cout<<"Varianti vvoda (1 klava, 2 random, 3 iz faila)"<<endl; 
    cin>>c; 
    if (c==1) 
    { 
        cout<<"Chislo elementov massiva"<<endl; 
        cin>>n; 
        a= new int[n]; 
        cout<<"Vvod massiva"<<endl; 
        for (i=0;i<n;i++) 
            cin>>a[i]; 
        t=fopen("inoutput.txt","w"); 
        fprintf(t,"%d",n); 
        fprintf(t,"%s","\n"); 
        for (i=0;i<n;i++) 
        { 
            fprintf(t,"%d",a[i]); 
            fprintf(t,"%s"," "); 
        } 
        Merge(a,n); 
        for (i=0;i<n;i++) 
            cout<<a[i]<<" "; 
        fclose(t); 
    } 
    if (c==2) 
    { 
        cout<<"Kol-vo elementov massiva"<<endl; 
        cin>>n; 
        a= new int[n]; 
        for (i=0;i<n;i++) 
            a[i]=rand()%100; 
        cout<<endl; 
        for (i=0;i<n;i++) 
            cout<<a[i]<<" "; 
        cout<<endl; 
        t=fopen("inoutput.txt","w"); 
        fprintf(t,"%d",n); 
        fprintf(t,"%s","\n"); 
        for (i=0;i<n;i++) 
        { 
            fprintf(t,"%d",a[i]); 
            fprintf(t,"%s"," "); 
        } 
        Merge(a,n); 
        for (i=0;i<n;i++) 
            cout<<a[i]<<" "; 
        fclose(t); 
    } 
    if (c==3)
    {
        FILE* in;
        int ch;
        if ((in=fopen("inoutput.txt", "r"))!=NULL)
        {
            fscanf(in, "%5d", &ch);
            if (feof(in))
                printf("Pusto\n");
            else
         {
             n=0;
             fseek(in, 0, SEEK_SET);
             while (!feof(in))
             {
                 fscanf(in, "%5d", &ch);
                 n++;
             }
             a=new int[n];
             int t=0;
             fseek(in, 0, SEEK_SET);
             cout<<"massiv:\n";
             while (!feof(in))
             {
                 fscanf(in, "%5d", &ch);
                 a[t]=ch;
                 t++;
             }
             t--;
             for(i=0;i<t;i++)
                 cout<<a[i]<<" ";
             cout<<endl;
             Merge(a,t);
             for(i=0;i<t;i++)
                 cout<<a[i]<<" ";
         }
        }
        else
            cout<<"Nety faila";
        cout<<endl;
        for(int l=0;l<i;l++)
            cout<<a[l]<<" ";
        cout<<endl;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru