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

Сортировка Шелла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ RSA шифрование http://www.cyberforum.ru/cpp-beginners/thread854275.html
Народ помогите пожалуйста! Вот функция генерации ключей, вот только то нормально шифрует и расшифровывает, то криво, в чем проблема? keys kluch(Random^ rnd) { keys kl; int p, q, n, e, d, fn; Boolean rd = false; do { do {
C++ Наследование чисто вируальной функции Доброго времени суток. Пишу класс описывающий структуру файла. Имею класс relHeader c 2 чисто виртуальными функциями. Ее наследуют еще 3 класса, но при попытке реализации этих функций через классы-потомки получаю ошибку, о том что использование наследуемых функций не допускается. Почему? Как мне быть? Добавлено через 2 минуты Прошу прощения, поторопился, не объявил их в классах-потомках.... http://www.cyberforum.ru/cpp-beginners/thread854273.html
итое простое число C++
Нужно найти N-ое простое число. (1 <= N <= 10^7). Вопрос состоит в том, как эту задачу можно решать. Только блочным решетом, асимптотика O(n log ( log (n))) ?? ограничение времени на тест: 2 сек. ограничение памяти на тест: 65536 KB. По памяти должно влезть ?? Есть ли другой способ решения ? Мой старый прекальк 10^7 простых чисел не влезает в размер решения :D 90 Мегабайт текста :D ...
C++ случайная фраза
нужна программа, которая будет считывать текст из файла и выводить одно случайное слово. если не трудно помогите пожалуйста
C++ Простые числа и количество нулей http://www.cyberforum.ru/cpp-beginners/thread854248.html
Задание: Нужно ввести число N с клавиатуры. Вывести на экран простые числа до N. И среди них найти число с максимальным числом нулей. При вводе 100 выводит 907 как и должна, а при вводе 10000 выводит 9907, а должна 9007. в Чем ошибка? Помогите исправить. #include <iostream> #include <conio.h> #include <math.h> using namespace std; void main() {
C++ Переведите программу в язык С++ У меня такая же задача. Только надо на С++. В спойлер дано задание. Кому не трудно. На с++ переделайте с паскаля. Составьте программу, которая для целого числа K (от 1 до 99 ), введенного вами, напечатает фразу “Мне к лет”, где к – введенное число, при этом в нужных случаях слово “лет” заменяя на слово “год” или “года” ) Например: при к=70 “Мне 70 лет”, при к=15 “ Мне 15 лет”, при к=23 “ Мне 23... подробнее

Показать сообщение отдельно
Hazumida
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 4
02.05.2013, 17:33     Сортировка Шелла
В алфавитном порядке по фамилии алгоритмом Шелла
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
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
struct mas
{
    string fam,name,secondname;
    int year, ses[5];
    void print();
};
void mas:: print()
{
out<<setw(12)<<left<<fam<<setw(10)<<name<<setw(15)<<secondname<<setw(5)<<year;
for(int i=0; i<5; i++)
out<<setw(3)<<ses[i];
}
void sort(mas *a,int n)
{
    mas temp;
    int i,j,incr=n/2;
    while(incr>0)
    {
    for (i=incr;i<n;i++)
    {
        j=i-incr;
        while(j>=0)
            if(a[j].fam>a[j+incr].fam)
            {
                temp=a[j];
                a[j]=a[j+incr];
                a[j+incr]=temp;
                j=j-incr;
            }
            else
                j=-1;
    }
    incr=incr/2;
    }
}
int main()
{
    int n=0,m,i;
    mas stud[20];
    if(!in) cout<<"Error";
    else
    {
        in>>m;
        while(in.peek()!=EOF)
        {
            in>>stud[n].fam;
            in>>stud[n].name;
            in>>stud[n].secondname;
            in>>stud[n].year;
            in>>stud[n].ses[i];
        }
        n++;
        sort(stud,n);
        out<<m<<endl;
        for (i=0; i<n; i++)
            stud[i].print();
    }
    in.close(); out.close();
    return 0;
}
Не могу найти ошибки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru