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

Шейкерная сортировка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать объект - очередь с перегруженными операциями http://www.cyberforum.ru/cpp-beginners/thread1039304.html
Будьте добры помочь( Задание 1. Унарная операция Создать объект - очередь с перегруженными операциями ++ как функциями-членами, -- как дружественными функциями. (Как постфиксными так префиксными). одна тема - одна задача, читайте правила форума Заранее спасибо!
C++ Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные нужно составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран символьную строку до и после изменения. p.s:знаю только как на паскале написать, а нужно на С++; приветствую любую помощь http://www.cyberforum.ru/cpp-beginners/thread1039289.html
Двумерный массив в степени C++
Ребят, задание на фото. Вроде сделал как надо, но ругается на перегруженную функцию pow.. помогите исправить.. #include <iostream> // бибилиотека ввода/вывода #include <iomanip> // библиотека для setw (ширина поля) #include <math.h> // библиотека математических функций using namespace std; // объявление std, чтобы не писать дальше в коде int main () // начало главной функции { setlocale...
Двухмерный массив C++
Как в двухмерном массиве выделить, а точнее работать с элементами массива которые находятся до главной диагонали. Вопрос в том как сделать главную диагональ НЕ квадратного массива? Добавлено через 20 минут Help me or not????? Добавлено через 1 час 23 минуты Help help help
C++ В произвольном тексте найти и отпечатать все слова длиной 5 символов http://www.cyberforum.ru/cpp-beginners/thread1039264.html
Собственно, задача. Если можно, хотелось бы минимум мудрённого кода - простейшие операторы. Ну или с комментариями. Добавлено через 1 час 35 минут int main() { system("cls"); setlocale(0, ""); char str;
C++ Классовая борьба Visual Studio 10 express ни с того ни с сего начал ругаться на существующие классы, хотя раньше воспринимал все нормально.. с чем может быть связано? #include <stdio.h> #include <conio.h> #include <locale.h> #include <fstream> #include <istream> #include <string.h> #include <windows.h> #include <iostream> подробнее

Показать сообщение отдельно
Ульяниус
 Аватар для Ульяниус
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132

Шейкерная сортировка - C++

13.12.2013, 16:15. Просмотров 218. Ответов 0
Метки (Все метки)

Неправильно сортирует шейкерной сортировкой, почему-то не хочет проходить справа на лево массив, мне так кажется. Потому что начало хорошее - наименьшее число перемещается в первую позицию, а дальше что-то не так .
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
#include  <stdio.h>
#include  <conio.h>
#include <time.h>
#include  <stdlib.h>
#include <alloc.h>
#define ESC 27
 void shake (int *x, int k,int s)
 {
   int t,L,R,N,j,i,sum=0,C=0,M=0;
   L=0;
   R=k-1;
   N=k-1;
   while (L<R)
   {
    for(j=R; j>L; --j)
    {
     if (x[j]<x[j-1])
     {
      t=x[j];
      x[j]=x[j-1];
      x[j-1]=t;
      N=j;
      M++;
     }
     C++;
    }
    L=N;
     for (j=L; j>R+1; ++j)
     {
      if (x[j]<x[j+1])
      {
       t=x[j];
       x[j]=x[j+1];
       x[j+1]=t;
       N=j;
       M++;
      }
      C++;
     }
     R=N;
   }
   for (i=0;i<k;++i)
   {
    sum+=x[i];
   }
  if (s!=sum)
   printf("\n Неверная контрольная сумма \n");
  else
   printf("\n M=%d, C=%d,  \n",M,C);
 }
 
void main ()
 {
  int i,n,sum;int *a; char key;
  do
  {
   sum=0;
   randomize();
   clrscr ();
   fflush(stdin);
   printf("\n Введите n   ");
   scanf("%d",&n);
   a=(int*)malloc(n*sizeof (int));
   for (i=0; i<n; i++)
    {
     a[i]=random(100);
     sum+=a[i]; 
    }
   
   shake(a,n,sum);
   free(a);
   puts ("Закончить работу*? (Да=Esc)");
   key=getch();
  }
  while (key!=ESC);
 }
Добавлено через 18 часов 33 минуты
Тишина.. никто не поможет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru