2018.10.17 21:36
출력값이 제대로 출력되는것 같은데 왜 틀린지 잘 모르겠네요
코드는
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
int arrNum;
cin>>arrNum;
int arr[arrNum];//섞인 배열
int odarr[arrNum];//제대로 된 배열
for(int i=0;i<arrNum;i++)
cin>>arr[i];
}//섞인 배열을 받는곳
odarr[i]=i+1;
}//제대로 된 배열
int a,b;
if(arr[i]!=odarr[i])
int a=0;
int b=0;
a=i+1;
for(int x=0; x<arrNum; x++)
if(arr[x]==a)
b=x+1;
}
//a와b의 값을 알고 있는 상태
int SecondArr[b-a+1];
int j = 0;
for(int c=b-1;c>=a-1;c--)
SecondArr[j] = arr[c];
j+=1;
//세컨드 배열 끝
//세컨드는 무조건 처음부터 시작임
//교체하는 구간
int n = 0;
for(int v=a-1;v<b;v++)//0과4
arr[v]=SecondArr[n];
n++;
cout<<a<<' '<<b<<endl;
for(int z=0;z<arrNum;z++)
cout<<arr[z]<<' ';
cout<<endl;
댓글
출력값이 제대로 출력되는것 같은데 왜 틀린지 잘 모르겠네요
코드는
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
int main(void)
{
int arrNum;
cin>>arrNum;
int arr[arrNum];//섞인 배열
int odarr[arrNum];//제대로 된 배열
for(int i=0;i<arrNum;i++)
{
cin>>arr[i];
}//섞인 배열을 받는곳
for(int i=0;i<arrNum;i++)
{
odarr[i]=i+1;
}//제대로 된 배열
int a,b;
for(int i=0;i<arrNum;i++)
{
if(arr[i]!=odarr[i])
{
int a=0;
int b=0;
a=i+1;
for(int x=0; x<arrNum; x++)
{
if(arr[x]==a)
b=x+1;
}
//a와b의 값을 알고 있는 상태
int SecondArr[b-a+1];
int j = 0;
for(int c=b-1;c>=a-1;c--)
{
SecondArr[j] = arr[c];
j+=1;
}
//세컨드 배열 끝
//세컨드는 무조건 처음부터 시작임
//교체하는 구간
int n = 0;
for(int v=a-1;v<b;v++)//0과4
{
arr[v]=SecondArr[n];
n++;
}
cout<<a<<' '<<b<<endl;
for(int z=0;z<arrNum;z++)
{
cout<<arr[z]<<' ';
}
cout<<endl;
}
}
}