z 자형 주사
아래×4 의 행렬, 1, 5, 3, 7, 5, 6, 4, 7, 3, 3 을 Z 자형 으로 스 캔 한 후 길이 가 16 인 서열 을 얻 을 수 있 습 니 다. 1, 5, 3, 9, 3, 5, 5, 4, 7, 3, 6, 4, 1, 3 은 Z 자형 스 캔 프로그램 을 실현 하고 n 을 지정 하 십시오.×n 의 행렬, 출력 이 이 행렬 을 Z 자형 으로 스 캔 한 결과 입 니 다.입력 형식 입력 의 첫 줄 은 행렬 의 크기 를 나타 내 는 정수 n 을 포함 합 니 다.입력 한 두 번 째 줄 에서 n + 1 줄 까지 줄 마다 n 개의 정 수 를 포함 하고 빈 칸 으로 구분 하여 주어진 행렬 을 표시 합 니 다.출력 형식 출력 한 줄, n 포함×n 개의 정 수 는 빈 칸 으로 구분 되 어 입력 한 행렬 이 Z 자형 스 캔 을 거 친 결 과 를 나타 낸다.샘플 입력 4 1, 5, 3, 9, 3, 5, 6, 4, 6, 4, 7, 3, 3, 9, 5, 4, 3, 6, 4, 3, 6, 4, 3 평가 사례 규모 와 약정 1 ≤ n ≤ 500, 행렬 요 소 는 1000 을 초과 하지 않 는 정수 입 니 다.n = 4 를 예 로 들 어 행렬 의 좌 표를 차례대로 쓰 고 sum = 0: (0, 0) sum = 1: (0, 1) sum = 2: (2, 0) (1, 1) (0, 2) sum = 3: (0, 3) (1, 2) (3, 0) sum = 4: (3, 1) (2, 2) sum = 5: (2, 3) sum = 6: (3, 3) 총 결 규칙, sum
#include <iostream>
//#include<vector>
using namespace std;
int main()
{
int n,i,j,k,t,sum;
int flag=0;
cin>>n;
int a[510][510];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>t;
a[i][j]=t;
}
}
for(sum=0;sum<n;sum++)
{
if(flag==0)
{
for(j=0,i=sum-j;i>=0&&j<n;j++,i--)
cout<<a[i][j]<<" ";
flag=1;
}
else
{
for(i=0,j=sum-i;j>=0&&i<n;i++,j--)
cout<<a[i][j]<<" ";
flag=0;
}
}
for(sum=n;sum<=2*(n-1);sum++)
{
if(flag==0)
{
for(i=n-1,j=sum-i;i>0&&j<n;i--,j++)
cout<<a[i][j]<<" ";
flag=1;
}
else
{
for(j=n-1,i=sum-j;j>0&&i<n;j--,i++)
cout<<a[i][j]<<" ";
flag=0;
}
}
}
이상 은 자신의 사고방식 에 따라 쓴 코드 로 인터넷 프로그램 을 붙 여 넣 는 것 이다. 규칙 이 같 고 문제 풀이 사고방식 에 참고 할 만 한 점 이 있다.
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<stack>
using namespace std;
#define size 500
int map[size+5][size+5];
int main(){
int n;
int i,j;
cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cin>>map[i][j];
}
}
//int sum=3;
//f=1,e=2;
int nn=2*n;
//bool b=true;//e f
int a=1,b=2;
cout<<map[1][1];
if(n== 1)
return 0;
while(a+b<=n){
if(a==1){
cout<<" "<<map[a][b];
while(b>1){
cout<<" "<<map[++a][--b];
}
a++;//cout<<" "<<map[][b];
}
else{
if(b==1){
cout<<" "<<map[a][b];
while(a>1){
cout<<" "<<map[--a][++b];
}
b++;//cout<<" "<<map[a][];
}
}
}
if(a==n){
cout<<" "<<map[a][b];
while(b<n){
cout<<" "<<map[--a][++b];
}
a++;//cout<<" "<<map[][b];
}
else{
cout<<" "<<map[a][b];
while(a<n){
cout<<" "<<map[++a][--b];
}
b++;//cout<<" "<<map[a][b++];
}
while(a+b<=nn){
if(a==n){
cout<<" "<<map[a][b];
while(b<n){
cout<<" "<<map[--a][++b];
}
a++;//cout<<" "<<map[][b];
}
else{
if(b==n){
cout<<" "<<map[a][b];
while(a<n){
cout<<" "<<map[++a][--b];
}
b++;//cout<<" "<<map[a][b++];
}
}
}
cout<<endl;
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.