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

Выполнить сортировку одномерного массива X(100) методом Шелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая выражает среднее арифметическое элементов матрицы суммы целых чисел без учета значений мин и макс элементов http://www.cyberforum.ru/cpp-beginners/thread880125.html
Написать программу, которая выражает ср. арифметическое элементов матрицы суммы целых чисел размерностью 3*3 без учета значений мин и макс элементов. Вывести на экран полученную сумму, а также мин и макс значения. Ввести двумерный массив 4*4, подсчитать кол-во (+) и (-) элементов и вывести статистику по строкам, сколько (+), сколько (-) и подсчитать общую сумму.
C++ Очередная сортировка в структуре студент по заданию нужна сортировка по возрастанию номера групп, если я пытаюсь использовать для этого qsort, компилятор выдаёт фатальную ошибку. по возможности вставить эту сортировку после чтение массива из файла, или же дать алгоритм использования qsort, видимо я её не правильно описываю :( заранее благодарю #include <iostream> #include <cstring> #include <stdlib.h> #include "fstream" http://www.cyberforum.ru/cpp-beginners/thread880120.html
Бред со счетом C++
С начало грешил на свой компилятор, но после попробовал на Visual Studio 2010 и тот же результат. Какого черта в коде ниже, 264.088/11 НЕ ровняется 24.008 ? Может тут надо что-то добавить ? #include <iostream> #include <windows.h> using namespace std; int main() {
C++ Работа с шифром (шифр Цезаря)
В файле дан исходный текст. Написать две функции: encrypt() - принимает исходный текст, зашифровывает его, используя шифр Цезаря, и записывает результат во второй файл; decrypt() - принимает зашифрованный текст, расшифровывает его, и записывает результат в третий файл.
C++ Квадратный массив - поменяйте в нем местами элементы главной и побочной диагоналей http://www.cyberforum.ru/cpp-beginners/thread880099.html
Дан квадратный массив. Поменяйте в нем местами элементы главной и побочной диагоналей.
C++ Возвращение кол-ва чисел в данном числе Написать рекурсивную функцию, которая будет принимать число, и возвращать количество цифр в данном числе (не применяя операторы цикла) подробнее

Показать сообщение отдельно
Brunetka28rus
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 2
27.05.2013, 03:30     Выполнить сортировку одномерного массива X(100) методом Шелла
задание: Выполнить сортировку одномерного массива X(100) методом Шелла. В отсортированном одномерном массиве X(100)выполнить поиск заданного элемента методом бинарного поиска.

Вот программа:

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
#include <iostream.h>
 
int main()
 
{   Float x[100] ={5, 9, 45, 82, 46, 13, 55, 95, 342, 3, 2, 4, 78, 62, 93, 85, 53, 66, 64, 36, 869, 6, 26, 698, 256, 49, 854, 985, 658, 951, 236, 569, 24, 63, 1, 45, 802, 87, 852, 854, 223, 88, 55, 22, 11, 44, 66, 99, 83, 77, 46, 41, 29, 19, 72, 30, 10, 90, 77, 38, 741, 642, 258, 661, 313, 847, 444, 666, 50, 20, 60, 40, 70, 655, 558, 153, 139, 108, 101, 909, 674, 479, 704, 407, 389, 660, 401, 301, 109, 100, 300, 200, 250,750, 448, 226, 542, 851, 894, 565};
int i,step,size,y;
 
    for (i=0; i<100; i++);
   cout << "vvedite razmer massiva" << endl;
    cin>>x[i];
     
     size=100;
 
step=size/2;
 
    while (step>0)
    {
      for (i=0; i<(size-step); i++)
               
 
               {
               while (i>=0 && x[i]>x[i+step])
                    
                       {
                        y=x[i];
                        x[i]=x[i+step];
                        x[i+step]=y;
                        i--; 
                       }
               }
                step=step/2;
     }    
 
    for (i=0; i<size; i++)
    {
        cout<<x[i]<<endl;
    }
    
    int mid_index=0,
        first_index=0, 
        last_index=size-1, 
        index;
        
      {  
            for (i=0; i<size; i++);
             cout << "vvedite element dlya poiska" << endl;
             cin>>index;
    
    
                while (first_index<last_index)
    {
        mid_index=first_index+(last_index-first_index) / 2;
      
        index <= x[mid_index] ? last_index = mid_index : first_index = mid_index + 1;    
    }
    if ( x[last_index] == index)
        cout << "index = " << last_index << endl;
    else
        cout << "element ne naiden" << endl;
}
 
    system("PAUSE");
    return 0;
}

Выдает 4 ошибки.. ничего не могу поделать(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru