-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path19.cpp
More file actions
66 lines (57 loc) · 900 Bytes
/
19.cpp
File metadata and controls
66 lines (57 loc) · 900 Bytes
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
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
string sinput;
int mnums[30] = {0};
int midx=0;
int znum = 0;
int pnums[30] = {0};
int pidx=0;
int tnum = 0;
bool sign = true;
getline(cin,sinput);
for(int i=0; i<sinput.length(); i++)
{
if(sinput[i] == ' ')
{
if(tnum > 0)
{
if(sign)
pnums[pidx++] = tnum;
else
mnums[midx++] = -1 * tnum;
}
else
znum++;
sign = true;
tnum = 0;
continue;
}
else if(sinput[i] == '-')
{
sign = false;
continue;
}
tnum = (tnum*10) + (sinput[i] - '0');
}
if(tnum > 0)
{
if(sign)
pnums[pidx++] = tnum;
else
mnums[midx++] = -1 * tnum;
}
else
znum++;
for(int i=0; i<midx; i++)
cout << mnums[i] << " ";
for(int i=0; i<znum; i++)
cout << "0 ";
for(int i=0; i<pidx; i++)
cout << pnums[i] << " ";
cout << endl;
return 0;
}