C/C++の宿題片付けます 151代目
■ このスレッドは過去ログ倉庫に格納されています
0481デフォルトの名無しさん
2011/07/24(日) 23:30:46.25[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:7/ 26 全く分かりません。どなたかお願いします。
次のプログラムにおいて,sumrangeは,M行N列の行列A = (a_{ij})(実際には,
大きさM×Nのint 型の2次元配列で表される)を引数として渡されると,各行の最大値から最小値を
引いた値の(全体での)和を返す関数である.(ここでは,C 言語の配列の添え字にならって,i, jは
0から始まると考えている) 例えば,M = 3, N = 4のとき,主プログラム中で,配列aの値に
{7・5・-2・4
-3・11・-5・6
2・6・6・14}が入力された場合,0行目の最大値は7,最小値は-2であり,その差は7 - (-2) = 9,
1行目の最大値は11,最小値は-5であり,その差は11 - (-5) = 16, 2行目の最大値は14,最小値は2であり,
その差は14 - 2 = 12 となるので,sumrangeは9 + 16 + 12 = 37を返す.関数sumrangeを,下記のプログラムの
/* INSERT HERE */ の部分に挿入できるように書け.なお,行列の(i, j)成分は,2次元配列の[i][j]要素に
対応するものとせよ.また,配列中のデータは,-10000以上10000未満であると仮定してよい.
#include <stdio.h>
#define M (適当な正整数)
#define N (適当な正整数)
/* INSERT HERE */
int main(void)
{
int a[M][N];
/* ここで a[0][0]〜a[M-1][N-1] の値を入力する */
printf("sumrange = %2d\n", sumrange(a));
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています