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

Поиск k-ого наименьшего элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Замена слов в строке http://www.cyberforum.ru/cpp-beginners/thread435213.html
Добрый вечер. Помогите, пожалуйста советом или кодом: требуется полученную строку изменить так, чтобы первое и среднее слово поменялись местами. void f(char *s) { int len=strlen(s); int na4slovo1=0,konezslovo1=0,na4slovo2=0,konezslovo2=0,kolslov=0; for(int k=0;k<len;k++) { if(s==' ' && s!=' ') //нашли количество слов kolslov++;
C++ зеркальное отображение в С Дана задача сделать зеркальное отображение двумерного массива M*N Нужно поменять 1-ый с последним, 2-ой с предпоследним и т.д. http://www.cyberforum.ru/cpp-beginners/thread435191.html
C++ Найти произведение ряда
Люди помогите пожалуйста с двумя задачками: 1. В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов. 2. 2. Вычислить значение min (x(0)*x(1),x(1)*x(2),x(2)*x(3),....,x(n-3)*x(n-2),x(n-2)*x(n-1)), где x(i) - элементы вещественного массива x из n элементов. Массив содержит 18 элементов. Поиск максимального значения оформить в виде функции.
Хранение и обработка данных с использованием линейных списков C++
Люди, помогите пожалуйста!!! Дали задание к курсовой работе. Сделать надо любое из двух (какое легче) но сделать не могу ни 1, ни 2 Заранее спасибо!
C++ Проверить правильность написания коментариев http://www.cyberforum.ru/cpp-beginners/thread435178.html
Доброго времени суток! Проверьте, пожалуйста, правильно ли я понимаю фрагмент кода программы, проверьте комментарии правильно написаны или нет while (i1<size && i2<set1.size)//пока не достигнуть конец первого и конец второго массива { if (data==set1.data)//если первый элемент 1 массива равен первому элементу 2 массива { un=data;//то в новый массив записываем первый элемент, и...
C++ Реализация очереди массивом Как реализовать очередь с помощью массива???? подробнее

Показать сообщение отдельно
coolplayer
2 / 2 / 0
Регистрация: 30.05.2011
Сообщений: 33
25.01.2012, 20:48     Поиск k-ого наименьшего элемента
Друзья есть код на паскале, нужно переписать на с++. Это алгоритм поиска к-го наименьшего элемента. У меня получается криво, с ошибками.

Pascal
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
procedure Find(k: integer);
var
L,R,i,j: integer;
w,x: integer;
begin
  L:=1; R:=N;
  while L<R-1 do
  begin
    x:=a[k];
    i:=L;
    j:=R;
    REPEAT
      while a[i]<x do
        i:=i+1;
      while x<a[j] do
        j:=j-1;
      if i<=j then
      begin
        w:=a[i];
        a[i]:=a[j];
        a[j]:=w;
        i:=i+1;
        j:=j-1;
      end;
    UNTIL i>j;
    if j<k then
      L:=i;
    if k<i then
      R:=j;
  end;
end;
Мое:
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
    int N=10;
    int a[N];
    int k=4;
   
    
int L,R,i,j;
int w,x,i1;
 
 for(i1=1;i1<N;i1++)
 {
                  cin>>a[i1];
                  }
 
 
  L=1; R=N;
 while (L<R-1) {
  
    x=a[k];
    i=L;
    j=R;
    do {
       do
        {i=i+1;}
        while(a[i]<x);
      do
        {j=j-1;}
        while(x<a[j]);
      if (i<=j)
      {
        w=a[i];
        a[i]=a[j];
        a[j]=w;
        i=i+1;
        j=j-1;
     }
    } while(i>j);
    if (j<k) L=i;
    if (k<i) R=j;
 
 
 
}  
    
     for(i1=1;i1<N;i1++)
 {
                  cout<<a[i1]<<endl;
                  }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru