宿題でつまづいています。助けて下さい。
Posted: 2012年6月12日(火) 19:36
まず、宿題内容です。
変数nを入力し、配列a[ ]を動的に確保する。乱数を用いてn個のデータを配列a[ ]に入力し、次に繰り返してxを
入力し配列a[ ]の中に同じ値があれば、その位置を出力し、なければ0を出力するプログラムを書きなさい。
たとえば、A[ ]={4,2,7,3}でx=7のときは3を出力し、x=9のときは0を出力する。
まず、乱数を用いてn個のデータを配列a[ ]に入力できたのですが、うまくxの位置を特定することができません。
うまく特定するためのヒント又は問題点を訂正してください。
自分で作ったプログラム
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define CAPA 256
int input(void){
int x,y;
y=rand()%10+1;
return y;
}
int main(void){
int x,n,i;
int a[CAPA];
srand((unsigned)time(NULL));
printf("input n>>>");
scanf("%d",&n);
for(i=0;i<n;i++){
a=input();
printf("a[%d] = %d\n",i,a);
}
printf("x=");
scanf("%d",&x)
if(x=a){
printf("%d",i);
}
else{
printf("0");
}
return 0;
}
変数nを入力し、配列a[ ]を動的に確保する。乱数を用いてn個のデータを配列a[ ]に入力し、次に繰り返してxを
入力し配列a[ ]の中に同じ値があれば、その位置を出力し、なければ0を出力するプログラムを書きなさい。
たとえば、A[ ]={4,2,7,3}でx=7のときは3を出力し、x=9のときは0を出力する。
まず、乱数を用いてn個のデータを配列a[ ]に入力できたのですが、うまくxの位置を特定することができません。
うまく特定するためのヒント又は問題点を訂正してください。
自分で作ったプログラム
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define CAPA 256
int input(void){
int x,y;
y=rand()%10+1;
return y;
}
int main(void){
int x,n,i;
int a[CAPA];
srand((unsigned)time(NULL));
printf("input n>>>");
scanf("%d",&n);
for(i=0;i<n;i++){
a=input();
printf("a[%d] = %d\n",i,a);
}
printf("x=");
scanf("%d",&x)
if(x=a){
printf("%d",i);
}
else{
printf("0");
}
return 0;
}