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

Не запускает задачу - C++

Восстановить пароль Регистрация
 
macros09
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 11
08.04.2013, 23:23     Не запускает задачу #1
В VS создал пустой проект win32, написал код
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
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <vector>
 
using namespace std;
template <class T>
 
void prepare_vector (vector <T>*v)
{
for (usingned i=o; i<v->size(); ++i)
(*v) [i] = rand () % 100;
}
 
template <class T>
void print_vector (const vector <T> & v)
{
for ( unsingned i=0; i<v.size (); ++i)
cout <<v[i]<<" ";
cout<<endl;
}
 
 
template <class T>
vector <T> merge (const vector <T>&v1, const vector <T>&v2)
{
vector <T> result;
 
unsigned x=0;
unsigned y=0;
 
while (x<v1.size () && y<v2.size () )
{
if ( v1[x]<v2[y])
{
result.push_back (v1[x]);
++x;
}
else
{
result.push_back (v2[y]);
++y;
}
}
 
while (x<v1.size () )
{
result.push_back (v1[x]);
++x
}
 
 
while (x<v2.size () )
{
result.push_back (v2[x]);
++y
}
return result;
 
 
template <class T>
vector <T> merge_sort(const vector <T>&v)
{
if (v.size () <=1)
return v;
vector <T> left, right;
 
unsigned middle = v.size ()/2;
 
for (unsigned i=0; i<middle; ++i)
left.push_back (v[i]);
for (unsigned i=middle; i<v.size (); ++i)
right.push_back (v[i]);
 
left=merge_sort(left);
right=merge_sort(right);
 
return merge (left, right);
}
 
int main()
{
vector <int> v(30;0);
prepare_vector (&v);
print_vector(v);
 
v=merge_sort(v);
 
print_vector(v);
return 0;
}
Когда запускаю выдает ошибку error LNK1561: точка входа должна быть определена
Что делать не пойму, помогите исправить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isaew999
5 / 13 / 2
Регистрация: 19.09.2012
Сообщений: 172
08.04.2013, 23:52     Не запускает задачу #2
У каждого приложения на С++ должен быть метод Main. Это собственно и есть точка входа в прогаму. Инными словами отсюда чачнетса выполнение програмного кода. Тебе надо добавить следующею конструкцию
C++
1
2
3
4
void main ()
{
 
}
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,343
09.04.2013, 00:01     Не запускает задачу #3
Цитата Сообщение от macros09 Посмотреть сообщение
проект win32
Там должен быть вместо main - WinMain, но со свими аргументами. Посмотри любой проект Win32 в сети - увидишь.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.04.2013, 01:25     Не запускает задачу #4
Цитата Сообщение от isaew999 Посмотреть сообщение
У каждого приложения на С++ должен быть метод Main. Это собственно и есть точка входа в прогаму.
У ТС разве нет main()?

Добавлено через 5 минут
Ошибок столько...
Так хотя бы компилируется:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include <vector>
 
using namespace std;
template <class T>
 
void prepare_vector (vector <T>*v)
{
for (unsigned i = 0; i<v->size(); ++i)
(*v) [i] = rand () % 100;
}
 
template <class T>
void print_vector (const vector <T> & v)
{
for ( unsigned i = 0; i<v.size (); ++i)
cout <<v[i]<<" ";
cout<<endl;
}
 
 
template <class T>
vector <T> merge (const vector <T>&v1, const vector <T>&v2)
{
vector <T> result;
 
unsigned x=0;
unsigned y=0;
 
while (x<v1.size () && y<v2.size () )
{
if ( v1[x]<v2[y])
{
result.push_back (v1[x]);
++x;
}
else
{
result.push_back (v2[y]);
++y;
}
}
 
while (x<v1.size () )
{
result.push_back (v1[x]);
++x;
}
 
 
while (x<v2.size () )
{
result.push_back (v2[x]);
++y;
}
return result;
} 
 
 
template <class T>
vector <T> merge_sort(const vector <T>&v)
{
if (v.size () <=1)
return v;
vector <T> left, right;
 
unsigned middle = v.size ()/2;
 
for (unsigned i=0; i<middle; ++i)
left.push_back (v[i]);
for (unsigned i=middle; i<v.size (); ++i)
right.push_back (v[i]);
 
left=merge_sort(left);
right=merge_sort(right);
 
return merge (left, right);
}
 
int main()
{
vector <int> v(30);
prepare_vector (&v);
print_vector(v);
 
v=merge_sort(v);
 
print_vector(v);
return 0;
}
Yandex
Объявления
09.04.2013, 01:25     Не запускает задачу
Ответ Создать тему
Опции темы

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