プログラム教えてください

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

プログラム教えてください

#1

投稿記事 by おつか » 14年前

3-4.3-2のプログラムを元に、配列から最大値を求める処理を関数にしなさい。
    ただし配列は以下の名前でグローバル変数とし、要素数を定数定義する。
const int DATA_NO = 10; // 配列の要素数をDATA_NOというシンボルを使って定数定義する
int Data[ DATA_NO ]; // DATA_NOを使って配列Dataを定義する
    また、関数のプロトタイプ宣言は以下の通りとする。
int GetMaxValue(); // 配列Dataから最大値を求める
// 関数値:最大値

3-2.0から999までの乱数を10個作りint型の配列に入れ、最大値と最小値を表示するプログラムを作りなさい。
    最初に求めた乱数をすべて表示し、最大値と最小値、それぞれの要素番号を表示すること。

この3-4教えてください
乱数を使い10個表示してから
配列に入れて 関数定義し最大値を求めるのがわかりません・・・・
お願いします

non
記事: 1097
登録日時: 15年前

Re: プログラム教えてください

#2

投稿記事 by non » 14年前

3-2のプログラムを載せてください。
non

ぽおおお

Re: プログラム教えてください

#3

投稿記事 by ぽおおお » 14年前

//3-2.0から999までの乱数を10個作りint型の配列に入れ、最大値と最小値を表示するプログラムを作りなさい。
//最初に求めた乱数をすべて表示し、最大値と最小値、それぞれの要素番号を表示すること。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>



void main()
{


int i;
int ransu[10];
srand( (unsigned)time( NULL ) ); // 乱数の種(初期値)を現在時刻で与える


for(i=0;i<10;i++){
ransu = rand()%1000; // 乱数を1つ求める

}
for(i=0;i<10;i++){
printf( "%d\n",ransu);

}
int max,min;
int i_max,i_min;
// maxにransu[0]を格納する(最初の最大値)
max = ransu[0];
i_max = 0;
// minにransu[0]を格納する(最初の最小値)
min = ransu[0];
i_min = 0;
i = 1;
while(i<10){

// maxとransuを比較して、ransuが大きければ、maxに格納する。
if (ransu>max) {max = ransu; i_max = i;}
//minとransuを比較して、ransuが小さければ、minに格納する。
if (ransu<min) {min = ransu; i_min = i;}

i++;

}
printf("最大値は %d 、要素番号は %d です。\n",ransu[i_max],i_max+1);
printf("最小値は %d 、要素番号は %d です。\n",ransu[i_min],i_min+1);

//
getchar();
}





です!

non
記事: 1097
登録日時: 15年前

Re: プログラム教えてください

#4

投稿記事 by non » 14年前

>乱数を使い10個表示してから
>配列に入れて 関数定義し最大値を求めるのがわかりません・・・・

>int GetMaxValue(); // 配列Dataから最大値を求める
この関数のプロトタイプからすると、
乱数を使い配列に入れて10個表示するのは、mainの中ででいいのではないでしょうか。
それとも、関数の中で乱数を発生させるという指示なのでしょうか。

①上のプログラムで、グローバル変数を定義し、配列名をDataにし、10の替わりにDATA_NO を使うように書き直す。
② int max,min;の行から、whileの終わりまでを関数にして、return max する。
non

閉鎖

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