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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KIra_
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 3
#1

Быстрая сортировка. Не могу найти ошибку!. - C++

09.12.2010, 16:26. Просмотров 896. Ответов 4
Метки нет (Все метки)

Написала вот такую программу, которая создает массив из случайных чилел, потом их сортирует.
Работаю под Visual Studio 2010.
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
const n=10, k=256;
int x[n];
 void vvodmass (int x[n]) {
    for (int i=0; i<n; i++)
       x[i]=rand(k);
    return;
    }
 void vyvod (int x[n]) {
    cout <<"vyvod massiva"<<endl;
    for (int i=0; i<n; i++)
       cout <<x[i]<<"; ";
    return;
    }
 
 void QuickSort (int x[n], int L, int R) {
    if (R<=L) return;
    int i=L, j=R;     //nachalnie znacheniya
    int temp, p;
    p=x[(R+L)/2];     //vybor serediny massiva
   do  {
       while (x[i]<p) i++;
       while (x[j]>p) j--;
 
       if (i<=j) {
       temp=x[i];
       x[i]=x[j];
       x[j]=temp;
       i++; j--;
       }
     }
     while (i<=j);
     //rekursiya
   QuickSort(x, L, j-1);
   QuickSort(x, j+1, R);
 }
 
int main () {
 vvodmass (x);
 vyvod (x);
 QuickSort (x, 0, n-1);
 vyvod (x);
 unsigned long t=clock();
 cout <<"time "<<t<<endl;
 getch();
 return 0;
 }
Но выдает сообщение, что не найден файл .ехе.
И такой текст:
лаба. функции. сортировки.cpp(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
лаба. функции. сортировки\лаба. функции. сортировки\лаба. функции. сортировки.cpp(13): error C2661: 'rand' : no overloaded function takes 1 arguments

Что это значит и как можно исправить?.
Помогите, пж).
Заранее спаибо).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2010, 16:26     Быстрая сортировка. Не могу найти ошибку!.
Посмотрите здесь:

C++ Не могу найти ошибку
C++ сортировка массива(найти ошибку)
Сортировка, найти ошибку C++
C++ Не могу найти ошибку
C++ Не могу найти ошибку!
C++ Не могу найти ошибку(
C++ Сортировка методом пузырька, не могу найти ошибку
C++ Не могу найти ошибку
C++ Не могу найти ошибку
C++ Быстрая сортировка. Помогите найти ошибки
C++ не могу найти ошибку!

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
09.12.2010, 21:09     Быстрая сортировка. Не могу найти ошибку!. #2
int rand ( void )

в восьмой строке укажите тип константного значения n, либо приведите его к int перед использованием в строке девять
KIra_
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 3
13.12.2010, 19:19  [ТС]     Быстрая сортировка. Не могу найти ошибку!. #3
Все равно не работает.
Вместо трех ошибок выдает одну:
лаба. функции. сортировки.cpp(14): error C2661: 'rand' : no overloaded function takes 1 arguments
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
13.12.2010, 19:22     Быстрая сортировка. Не могу найти ошибку!. #4
KIra_, Ану так компиль
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int n=10, k=256;
int x[n];
 void vvodmass (int x[n]) {
     srand(time(0));
    for (int i=0; i<n; i++)
       x[i]=rand() % k;
    return;
    }
 void vyvod (int x[n]) {
    cout <<"vyvod massiva"<<endl;
    for (int i=0; i<n; i++)
       cout <<x[i]<<"; ";
    return;
    }
 
 void QuickSort (int x[n], int L, int R) {
    if (R<=L) return;
    int i=L, j=R;     //nachalnie znacheniya
    int temp, p;
    p=x[(R+L)/2];     //vybor serediny massiva
   do  {
       while (x[i]<p) i++;
       while (x[j]>p) j--;
 
       if (i<=j) {
       temp=x[i];
       x[i]=x[j];
       x[j]=temp;
       i++; j--;
       }
     }
     while (i<=j);
     //rekursiya
   QuickSort(x, L, j-1);
   QuickSort(x, j+1, R);
 }
 
int main () {
 vvodmass (x);
 vyvod (x);
 QuickSort (x, 0, n-1);
 vyvod (x);
 unsigned long t=clock();
 cout <<"time "<<t<<endl;
 getch();
 return 0;
 }
KIra_
0 / 0 / 0
Регистрация: 09.12.2010
Сообщений: 3
13.12.2010, 19:40  [ТС]     Быстрая сортировка. Не могу найти ошибку!. #5
Компиляция запускается, окно всплывает, ранд работает, числа генерирует.
Но потом выдает ошибку.
И вот такой текст в комментариях к компиляции:
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Users\I.Kanzyuba\Documents\Visual Studio 2010\Projects\Лаба. Функции. Сортировки\Debug\Лаба. Функции. Сортировки.exe', Symbols loaded.
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
'Лаба. Функции. Сортировки.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
First-chance exception at 0x00f116d9 in Лаба. Функции. Сортировки.exe: 0xC00000FD: Stack overflow.
Unhandled exception at 0x00f116d9 in Лаба. Функции. Сортировки.exe: 0xC00000FD: Stack overflow.
The program '[6288] Лаба. Функции. Сортировки.exe: Native' has exited with code -1073741510 (0xc000013a).
Yandex
Объявления
13.12.2010, 19:40     Быстрая сортировка. Не могу найти ошибку!.
Ответ Создать тему
Опции темы

Текущее время: 22:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru