C++ 二次元配列を用いた問題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
xj0461jr

C++ 二次元配列を用いた問題

#1

投稿記事 by xj0461jr » 11年前

お世話になります。
学校の課題でわからない部分があるので質問します。
配列変数の内容を出力の部分は変更しないことが条件です

コード:


#include<iostream>
#include<iomanip> 
  
using namespace std; 
  
int main() {        //Main関数の開始 
  
    //変数宣言 
    int a[10][10];  //変数aの二次元配列
					//縦10行×横10列
    int i, j, cnt;       //カウント変数
	int x = 0;
    //離散判定型 
    for(i = 0;i <= 9;i++){
		for(j = 0;j <= 9;j++) {
			if(i == 0) {
				a[i][j] = j;
			}
			else  if(i == 1 && j >= 9 && j <= 9) {
				a[i][j] = 10;
			}
			else {
				a[i][j] = cnt;
				cnt = (35 - x) + j;
			}
			if(cnt == cnt + 10) {
				x++;
			}
		}
	}
	//課題番号の出力
	cout << "C14-A8" << "\n";
/*---------------------------------------------------------------*/
/*************************   
   配列変数の内容を出力   
 *************************/  
    cout << "+---+---+---+---+---+---+---+---+---+---+\n" ;  
    for( int i=0; i<10; i++){  
        for( int j=0; j<10; j++)  
            cout << "|" << setw(3) << a[i][j] ;  
        cout << "|\n" ;  
        cout << "+---+---+---+---+---+---+---+---+---+---+\n" ;  
    } 
/*---------------------------------------------------------------*/
}   //Main関数の終了

上のプログラムでCMD出力が

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

D:\ITEM\Dcument\WORK_SPACE\C Workspace>bcc32 t.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
t.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

D:\ITEM\Dcument\WORK_SPACE\C Workspace>t.exe
C14-A8
+---+---+---+---+---+---+---+---+---+---+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|
+---+---+---+---+---+---+---+---+---+---+
|30351832| 35| 36| 37| 38| 39| 40| 41| 42| 10|
+---+---+---+---+---+---+---+---+---+---+
| 43| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+
| 44| 35| 36| 37| 38| 39| 40| 41| 42| 43|
+---+---+---+---+---+---+---+---+---+---+

D:\ITEM\Dcument\WORK_SPACE\C Workspace>

↑のようになってしまいます。
これを、下のようにしたいのですが、どのように
すればよいでしょうか?ご教授お願いします。

理想出力

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

はみ出ているところがありますが
本来ははみ出していません
入力の仕様上こうなっています

aaaa

Re: C++ 二次元配列を用いた問題

#2

投稿記事 by aaaa » 11年前

http://detail.chiebukuro.yahoo.co.jp/qa ... 2131684082
向こうで解答が得られたようですが、こちらはどうされますか?

アバター
asd
記事: 319
登録日時: 14年前

Re: C++ 二次元配列を用いた問題

#3

投稿記事 by asd » 11年前

マルチポストなのか同じ学校の課題なのか知りませんが、
同じ内容の質問がありました。
http://detail.chiebukuro.yahoo.co.jp/qa ... 4131720244
Advanced Supporting Developer
無理やりこじつけ(ぉ

閉鎖

“C言語何でも質問掲示板” へ戻る