沿着C

时间:2015-12-01 08:43:09

标签: c

我目前有一个行数和大小为15的字符数组。我的目标是沿着对角线(最终在所有四个方向上)读取并将值存储在一个单独的数组中。单独的数组有15列和30行,超出的值由空字符占用。

3x3阵列的快速示例:

原始阵列:

A B C
D E F
G H I

新数组:

A \0 \0
D  B \0
G  E  C 
H  F \0
I \0 \0

这是我写的代码:

// DiagUpRight Array
int initDiagUpRightArray(char wordArray[], char diagUpRightArray[]){
    // First, initialize array with null characters
    int i = 0;
    int j = 0;
    for (i=0; i<wDiagRowSize; i++) {
        for (j=0; j<wDiagColSize; j++) {
            diagUpRightArray[i][j] = '\0';
        }
    }

    // Next, array ought to put each diagonal (from bottom-to-top, left-to-right) in a row
    int i = 0;
    int j = 0;
    int counter = 1;
    for (i=0; i<wDiagRowSize; i++) {
        for (j=0; j<wDiagColSize; j++) {
            if (counter % 2) {
                 //counter is an odd number
                 diagUpRightArray[i][j] = wordArray[i][j]; //placeholder 
                 counter++;
            } else {
                //counter is an even number
                diagUpRightArray[i][j] = wordArray[i][j]; //placeholder
                counter++;
            }
        }
    }

    return(EXIT_SUCCESS);
}

(我知道这段代码效率不高;我仍然是C和编程的新手。)

wDiagRowSize和wDiagColSize之前分别定义为30和15。

我知道我的问题是带有//占位符注释的两行,但我不确定如何继续。

1 个答案:

答案 0 :(得分:0)

  

我知道我的问题是带有//占位符注释的两行   但我不知道该怎么办。

import { Injectable } from '@angular/core'; import {Http, RequestOptions} from '@angular/http'; import 'rxjs/add/operator/map'; import {Observable} from 'rxjs/Observable'; import {HttpClient} from '@angular/common/http'; @Injectable() export class AppService { constructor(public http: HttpClient) { } connectServer() { return this.http.get('url') .map(response => response); } } 和奇数/偶数的区别是徒劳的。在任何情况下:

counter