C言語関係掲示板

過去ログ

No699 表を斜めに加算する

[戻る] [ホームページ]
No.8216

配列の問題
投稿者---初心者(2003/07/10 13:52:46)


1 2 3 4 5 6 7 8 9 10 0
11 12 13 14 15 16 17 18 19 20 10  
21 22 23 24 25 26 27 28 29 30 29
31 32 33 34 35 36 37 38 39 40 57
41 42 43 44 45 46 47 48 49 50 94
51 52 53 54 55 56 57 58 59 60 140
61 62 63 64 65 66 67 68 69 70 195
71 72 73 74 75 76 77 78 79 80 259
81 82 83 84 85 86 87 88 89 90 332
91 92 93 94 95 96 97 98 99 100 414
0 91 173 246 310 365 411 448 476 495 505

(一番右の列と一番下の行は斜めの合計になっています)

と表示するプログラムを作りたいのですがどのように
すればいいか教えてください☆



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:配列の問題 8221 たいちう 2003/07/10 14:46:13
<子記事> Re:配列の問題 8236 かずま 2003/07/10 16:17:34


No.8221

Re:配列の問題
投稿者---たいちう(2003/07/10 14:46:13)


> と表示するプログラムを作りたいのですがどのように
> すればいいか教えてください☆

このページを理解して「えんしゅう」をして力をつけてから、
応用すればできます。
安易に人に頼らなければ必ずできるはずですので、
頑張ってください。

http://www9.plala.or.jp/sgwr-t/c/sec09.html


この投稿にコメントする

削除パスワード

No.8236

Re:配列の問題
投稿者---かずま(2003/07/10 16:17:34)


> と表示するプログラムを作りたいのですがどのように
> すればいいか教えてください☆

規則正しい数列を表示するだけのプログラムなら、forループを使えば
できます。ただ、出題者の意図には反すると思われますので、これは
解答とはならないでしょう。
#include <stdio.h>

int main(void)
{
    int i, j;

    for (i = 0; i < 10; i++) {
        for (j = 1; j <= 10; j++)
            printf("%4d", 10*i + j);
        printf("%4d\n", (9*i+11)*i/2);
    }
    for (i = 0; i <= 10; i++)
        printf("%4d", (191-9*i)*i/2);
    printf("\n");
    return 0;
}



この投稿にコメントする

削除パスワード

No.8274

Re:配列の問題
投稿者---Gen(2003/07/11 04:43:28)


かずまさんのソースを見て、
N(この場合は10)の値を可変できるように
作り変えてみました。
こんな感じでどうでしょうか?

#include <stdio.h>
#define  N 10

int main(void)
{
  int i, j, k;

  for (i = 0; i < N; i++) {
    for (j = 1; j <= N; j++)
      printf("%4d", N * i + j);
    printf("%4d\n", (N + 1 + (N - 1) * i) * i / 2);
  }
  for (i = 0; i <= N; i++)
    printf("%4d", (2 * (N * N) - (N - 1) * (i + 1)) * i / 2);
  putchar('\n');

  return 0;
}




この投稿にコメントする

削除パスワード