C/C++の宿題は私におまかせくださいませ 23代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGわからない宿題は私におまかせくださいませね。
【注意点】 -------------------------------------------------
・問題はしっかりと解いてもらう方にわかりやすいように
問題文などの省きはやめ、エラーなどは適切に書きましょう
全文を書いてしまうか、分かりやすくまとめましょう。
・後になって問題につけたしをするのはやめましょう。
解いてもらっている方に失礼になってしまいます。
------------------------------------------------------------
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10】
0232仕様書無しさん
NGNG213だけど、どうがんばっても行数が収まらなかったんで、考え方だけ伝えておくよ。
構造体は、下のようになる。
struct TestScore {
double kokugo, suugaku, eigo;
};
XYZの三人だから、配列を使うのがいいだろ。struct TestScore students[3];
あとは各々配列と構造体要素にscanfでもなんでも使って代入、平均値計算しておわり。
構造体にdoubleをつかってるのは、平均値を管理するのにも使いたいから。
0233デフォルトの名無しさん
NGNG>>1のうpろだ使えばいいじゃん
0234仕様書無しさん
NGNGああ、なるほどね。
>>231
ほれ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=77
0236デフォルトの名無しさん
NGNG日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0237デフォルトの名無しさん
NGNG計算しなさい。
1!
3!
7!
:
(2n+1)!
どうかお願いします。
0238デフォルトの名無しさん
NGNGそれちょっとまえに答え出なかったか?
#include <stdio.h>
int factorial(int n)
{
/*このスレのどっかにあるから探せ。*/
}
int main(void)
{
int i, n;
scanf("%d", &n);
for (i = 0; i <= n; i++)
printf("%d! = %d\n", 2 * i + 1, factorial(2 * i + 1));
return 0;
}
0239デフォルトの名無しさん
NGNGまあ引数がiになってるやつのほうが再帰使ってなくていいかな。
0240デフォルトの名無しさん
NGNGx=a^4+b^4=c^4+d^4を満たす組み合わせのうち
xが最小となるa,b,c,dを求めよ。
わかりません、教えてください。
0241デフォルトの名無しさん
NGNGコンパイラの互換性を良くした。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=78
0242デフォルトの名無しさん
NGNGunsigned int で0〜4294967296
まで入るのはありますけど
0〜-4294967296まで入るのは無いんですか?
0243242
NGNG0244デフォルトの名無しさん
NGNG今号のCマガ見たら?
乱数使うけど迷路について載ってるよ
0245デフォルトの名無しさん
NGNGー(マイナス)は自分で管理シロ!
0246デフォルトの名無しさん
NGNGされるプログラムがわかりません。for文を使ったりいろいろやってみましたが
ド初心者なものでやっぱりわかりません…。どなたかC言語の簡単でわかり易い
プログラムを教えてください!お願いします!
表示月を入力してください。 >5
1:日 2:月 3:火 4:水 5:木 6:金 7:土 >6
*** 5月 ***
日 月 火 水 木 金 土
↑一応ここまでできています…。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGどうでもいいけど、問題の意味が分からない。
問題文は、全部書いて。
0249デフォルトの名無しさん
NGNG数学板へGO
0250246
NGNG「表示する月とその月の1日の曜日を入力すると、1ヶ月分のカレンダーを表示する
プログラムを作りなさい。ただし、うるう年は考えないこととする。」 です。
0251名無しさん@お腹いっぱい。
NGNGとりあえず総当たりするしかないだろ。
0252デフォルトの名無しさん
NGNG上のリンク先の内容のことをCで書きたいんですけどよくわかりません。
教えていただけないでしょうか?
0253デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#define BUFSIZE 256
main(){
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int month, start, i;
char buf[BUFSIZE];
fputs("表示月を入力してください。 >", stdout);
if(NULL == fgets(buf, BUFSIZE, stdin)) return 1;
month = atoi(buf);
if(month < 1 || month > 12) return 1;
fputs("1:日 2:月 3:火 4:水 5:木 6:金 7:土 >", stdout);
if(NULL == fgets(buf, BUFSIZE, stdin)) return 1;
start = atoi(buf);
printf("*** %d月 ***\n日 月 火 水 木 金 土\n", month);
for(i = 0; i < 4 * (start - 1); i++) putchar(' ');
for(i = 0; i < days[month - 1]; i++){
printf("%2d ", i + 1);
if((start + i) % 7 == 0) putchar('\n');
}
}
0254デフォルトの名無しさん
NGNGint main(void){
int i, m, d;
int cal[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("表示月を入力してください。>"); scanf("%d", &m);
printf("1:日 2:月 3:火 4:水 5:木 6:金 7:土 >"); scanf("%d", &d);
printf("\n日 月 火 水 木 金 土\n%*s", (d - 1)*3, "");
for (i = 0; i < cal[m]; i++){
printf("%2d ",i + 1);
if ((d++) % 7 == 0) puts("");
}
return 0;
}
0255253
NGNG#include <stdio.h>
#include <stdlib.h>
#define BUFSIZE 256
int main(){
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int month, start, i;
char buf[BUFSIZE];
fputs("表示月を入力してください。 >", stdout);
if(NULL == fgets(buf, BUFSIZE, stdin)) return 1;
month = atoi(buf);
if(month < 1 || month > 12) return 1;
fputs("1:日 2:月 3:火 4:水 5:木 6:金 7:土 >", stdout);
if(NULL == fgets(buf, BUFSIZE, stdin)) return 1;
start = atoi(buf);
if(start < 1 || start > 7) return 1;
printf("*** %d月 ***\n日 月 火 水 木 金 土\n", month);
for(i = 0; i < 4 * (start - 1); i++) putchar(' ');
for(i = 0; i < days[month - 1]; i++){
printf("%2d ", i + 1);
if((start + i) % 7 == 0) putchar('\n');
}
return 0;
}
0256246
NGNG助かりました…。本当にありがとうございます!
0257超超初心者
NGNGしまうんですが、手詰まり状態です。誰か助けてくれませんか?
「単精度実数型の配列aを四行三列で宣言します。各要素の値は、行と
列の和とします。たとえば2行3列は2+3=5とします。もう一つ、
別の配列bを宣言します。こちらの要素は、m行n列の場合、nーmと
します。まず、二つの配列を表示し、その後、二つの配列の和を表示します。表示するときは、小数点以下2桁まで表示します」
0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGコードだせ!
0260デフォルトの名無しさん
NGNG0261超超初心者
NGNGsumがどうのこうのがわからんのです
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG超能力者が現れるのを待つか、わかりやすく説明してください。
0264超超初心者
NGNG0265デフォルトの名無しさん
NGNGで作りたいのですが下のプログラムではどのように書いたらよろしいのですか?
超初心者なので教えて下さる方おねがいします
int main()
{
int a[50];
int n;
int i;
scanf("%d")
for(i = 0;i < n; ++i){
printf("a[%d] = %d\n",i,a[i]);
}
0266デフォルトの名無しさん
NGNGCの教科書とか無いのか?
0267名無しさん@お腹いっぱい。
NGNGおおかた、配列どうしの和を計算するのに、
配列名どうしを加算してんだろ。
double aa[4][3], bb[4][3];
aa + bb;
みたいに。
0268デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int a[50], n = 5, i;
for(i = 0;i < n; ++i) scanf("%d,", a + i);
for(i = 0;i < n; ++i) printf("a[%d] = %d\n", i, a[i]);
return 0;
}
0269デフォルトの名無しさん
NGNG入力されるまで継続するプログラム作りたいのですが、初心者でわかりません。
(例)
% a.out
prom> xxxx 3
xxxx
xxxx
xxxx
prom>xxx yyy zzz 5
xxx yyy zzz
xxx yyy zzz
xxx yyy zzz
xxx yyy zzz
xxx yyy zzz
prom> quit
%
prom>は自分で表示させます。
教えてくださる方お願いします。
0270超超初心者
NGNGa[4][3]+b[4][3];みたいなことしていました
どうもすみません
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGint factorial(int i)
{
int j,k=1;
for(j=1;j<=i;j++)
k*=j;
return k;
}
int main()
{
unsigned int n,i;
printf("1!,3!,・・・+(2n+1)!を求める。\nnを入力 : ");
scanf("%d",&n);
for(i=1;i<=2*n+1;i+=2)
printf("%d! = %d\n",i,factorial(i));
return;
}
これでnに8をいれるとマイナスの値が出るのは何ででしょうか?
違うところの指摘をお願いします。
0273デフォルトの名無しさん
NGNGソース全部書いてよ。長かったら>>1のところにでも。
0274名無しさん@お腹いっぱい。
NGNGn=8ってことは、17!でしょ?
桁あふれ。
0275デフォルトの名無しさん
NGNGオーバーフロー。int型で計算できる範囲を超えている。
0276デフォルトの名無しさん
NGNGあと、それを使って、標準入力からカンマ区切りの整数値を入力として受け取り(入力終了はEOF),
大きい方から順にカンマ区切りで標準出力に出力するプログラムを作成せよという問題
なのですが、ただ、配列に入るだけになってしまいます。どうすれば改善されるのでしょうか?
#include <stdio.h>
void shellsort(int[],int );
int main()
{
int a[50];
int n=10;
int i;
for(i = 0;i < n; ++i) scanf("%d,", a + i);
for(i = 0;i < n; ++i) printf("a[%d] = %d\n", i, a[i]);
shellsort(a,n);
return 0;
}
void shellsort(int v[], int n)
{
int gap, i, j, temp;
for(gap = n/2; gap > 0; gap /= 2)
for(i = gap; i<n; i++)
for(j=i+gap; j >= 0 && v[j]<v[j+gap]; j+=gap) {
temp = v[j];
v[j] = v[j+gap];
v[j+gap] = temp;
return ;
}
}
0277IEEE規格のによる実数表現
NGNG仕方はIEEE規格754に従うものと仮定する)
(−1)のs乗×(1+M)×2のE乗 if −127<E<128
{ (−1)のs乗×M×2の(E+1)乗 if E=−127
Inf(無限大) if E=128、M=0
NaN(非数、Not a Number) if E=128、M≠0
ここで、M=煤ii=1から23)di×2の−i乗、E=煤ii=0から7)ei×2のi乗−127
を出力するCプログラムを作成せよ。なおその際pow関数は使わず作れ。
という問題です。見にくいですがどうかお願いします。
0278デフォルトの名無しさん
NGNGc++に対応するものってないのかな?
_tempnamはmallocで確保した領域を返すから
freeで開放しなくちゃだめ。
c++のコードに突然freeが出てきてちょっとやだ。
0279デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
int main(void){
int i, num;
char buf[128], str[100];
for(;;){
printf("prom>");
fgets(buf, sizeof buf, stdin);
if (sscanf(buf, "%s %d", str, &num) != 2){
if (!strcmp(str, "quit")) break;
else continue;
}
for (i = 0;i < num; i++) puts(str);
}
return 0;
}
0280279
NGNG0281名無しさん@お腹いっぱい。
NGNGそれだと、%sは空白をデリミタにするからまずくない?
0282デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define BUFSIZE 256
main(){
char buf[BUFSIZE], *p;
int i, n;
for(;;){
printf("prom> ");
fgets(buf, BUFSIZE, stdin);
if(!strcmp(buf, "quit\n")) break;
for(p = buf + strlen(buf) - 1; ;p--){
if(p == buf){break;}
else if(!isdigit(*p) && !isspace(*p)){p++;break;}
}
n = atoi(p);
*p = '\0';
for(i = 0; i < n; i++) printf("%s\n", buf);
}
}
0283デフォルトの名無しさん
NGNGそれは,CじゃなくPOSIX(UNIX規格)。
あきらめろ。
0284282
NGNG0285282
NGNG#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define BUFSIZE 256
main(){
char buf[BUFSIZE], *p;
int i, n;
for(;;){
printf("prom> ");
fgets(buf, BUFSIZE, stdin);
if(!strcmp(buf, "quit\n")) break;
for(p = buf + strlen(buf) - 1; ; p--){
if(!isdigit(*p) && !isspace(*p)){
p++;
break;
}
else if(p == buf){
break;
}
}
n = atoi(p);
*p = '\0';
for(i = 0; i < n; i++) printf("%s\n", buf);
}
}
0286282
NGNG0287184
NGNG>>208
棒倒し法ですか 自分もこれで作成したのですが
伸ばしていこうとした所に すでに壁があった場合 残りの場所に
置く方法がいまいち分かりません ソース見たのですが 結構知らない文とかもあって難しいです・・・
自分はこんな風にしたんですが・・・ これで一応正解は一通りになるんですが なんかいまいちな気がして
ransu=rand()%3;
switch(ransu)
{
case 0:
if(map[i-1][j]!=1){
map[i-1][j]=1;
break;
}
case 1:
if(map[i+1][j]!=1){
map[i+1][j]=1;
break;
}
case 2:
map[i][j+1]=1;
break;
}
また、ルールの関係上 正解ルートは1本じゃないほうがいい気もしますし
どう思われますか?
また 探索の方もいまいちわかりません どんなアルゴリズムなのですか?
今 再起でやってるんですが 再起だと処理時間遅いですかね?
どうかお時間ある方はちょっと考えてみてもらえませんか?
0288デフォルトの名無しさん
NGNG入力終了EOFでカンマ区切りってのがよくわからんな。
1,
3,
こういうふうに入力するってことか?
あとそのシェルソートはおかしくないか?
0289デフォルトの名無しさん
NGNGどなたかどうかお願いします!!
0290デフォルトの名無しさん
NGNG1+(1+2)2乗×2+(1+2+3)2乗×3+・・・+(1+2+・・・+n)2乗×n
見にくくてすみません。
初心者でよくわからないのでお願いします。
0291279
NGNG#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void){
int i, num;
char buf[128], *p = buf, *q = buf;
for(;; p = buf, q = buf){
printf("prom>");
fgets(buf, sizeof buf, stdin);
while(*++p != '\n') if(isspace(*p)) q = p;
if (sscanf(q, "%d", &num) != 1){
if (!strcmp(buf, "quit\n")) break;
else continue;
}
*q = '\0';
for (i = 0;i < num; i++) puts(buf);
}
return 0;
}
0292名無しさん@お腹いっぱい。
NGNGもう寝るから、明日のお昼前でいいならうpするよ。
0293デフォルトの名無しさん
NGNGお願いします!!
0294デフォルトの名無しさん
NGNG#include <stdio.h>
int siguma(int n){
int i, sum = 0;
for (i = 1; i <= n; i++) sum += i;
return sum;
}
int main(void){
int sum = 0, n, i;
scanf("%d", &n);
for (i = 1; i <= n; i++) sum += siguma(i) * siguma(i) * i;
printf("%d", sum);
return 0;
}
0295デフォルトの名無しさん
NGNGそういう捨て台詞はもっとマンドクサーな奴に残せよ(藁
>>293
#include <stdio.h>
int main() {
int n;
enum { S=24, E=8 };
double s=0;
int e=0;
char buf[S+2];
fgets(buf,sizeof(buf),stdin);
for(n=0;n<E;++n){ e += (buf[n]=='1')*(1<<(E-1-n)); }
for(n=0; n<S; ++n){ s += (buf[n+E]=='1')*1.0/(1<<n); }
for(n=0; n<((1<<(E-1)-1); ++n) s /= 2;
for(n=e; n>0; --n) s *= 2;
printf("%e\n", s);
}
0296295
NGNG鬱だ…
#include <stdio.h>
int main() {
int n;
enum { S=24, E=8 };
double s=0;
int e=0;
char buf[E+S+2]; //←訂正
fgets(buf,sizeof(buf),stdin);
for(n=0;n<E;++n){ e += (buf[n]=='1')*(1<<(E-1-n)); }
for(n=0; n<S; ++n){ s += (buf[n+E]=='1')*1.0/(1<<n); }
for(n=0; n<((1<<(E-1)-1); ++n) s /= 2;
for(n=e; n>0; --n) s *= 2;
printf("%e\n", s);
}
0297デフォルトの名無しさん
NGNG↑のソースなのですがちゃんと動かすにはどこを修正すればよいでしょうか・・・
0298デフォルトの名無しさん
NGNG素直に作り直した方がよさげ
ストライク、スペアは"次の"フレームが必要だが、それを考慮してないし
0299デフォルトの名無しさん
NGNG一応考慮してあるようだよ。
>>297
とは言うものの、ストライク取ったフレームの点数は確定するまでは表示しない方がいい。
それに、ストライクのときに10/0を入力させるのも今一つ使い勝手が悪い。
先に全部入力させて、計算は後からにすればストライク/スペア周りの処理がすっきるするのでは?
途中経過を表示するのはそれができてから改めて作ればいい。
0300184
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=79
今 ゴールできるすべての経路を表示するようにしてあります
今 このなかで最短経路の道順にだけ配列の値を0→4にしたいのです
配列に正解経路にだけ4を格納したら もう すべての経路を表示させる必要はなく
マップの横 縦の幅と 正解ルートに4を格納したマップを出力するだけでいいです
5 5
1 1 1 1 1
2 4 4 4 1
1 0 1 4 1
1 0 1 4 3
1 1 1 1 1
この方法を考えていただけませんか?
ちなみにマップを作るプログラムはこれです
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=80
両方とも実行時にコマンドプロンプトでファイルに入出力します。
0301デフォルトの名無しさん
NGNG問題のソースは、これでいいかな?
http://www.isse.kuis.kyoto-u.ac.jp/acm-japan/icpc99/problems/ant/ant.html
0302184
NGNGさきほどの解くほうのプログラム
if(sucs==1)
map[tate][yoko]=4;
if(map[tate][yoko]==5)
map[tate][yoko]=0;
は要らないですね 消してください。
また現在のプログラムだと 迷路が大きくなりすぎると
pathの値が大きくなりすぎためか 実行できなくなります
どうすればいいのでしょうか お願いします 助けてください。
0303184
NGNGすみません 英語読めません
問題の元のテキストはこれです
http://49uper.com:8080/img-s/1874.jpg
http://49uper.com:8080/img-s/1875.jpg
0304184
NGNG多くなりすぎる気がするんですよね 迷路を 39×39
なんかにするだけでも pathすごい数いくし・・・
実際にはもと大きい迷路も扱うんです それこそ100超えるようなものも・・・
あ ちなみに迷路は正方形とはかぎりません 奇数×奇数なら長方形もありえます
あと もう学校行かないと行けないんです また昼ごろ顔出します
実はこれ今日提出なんで結構やばいのですが
0305デフォルトの名無しさん
NGNGプログラムなんですが、
#include<stdio.h>
void main(){double t[N];int nt=4;nt=4;
FILE *in;
in=fopen("ファイル場所","r");
if(in=NULL) printf("ファイルが見つかりません。パスを確認して下さい。\n");
else{for(i=1;i<=nt;i++) fscanf(in,"%lf",&t[i]);}
fclose(in);}
といった風にプログラム打ったんですけど、
未定義のシンボル N、おそらく不正な代入、未定義のシンボル i、'nt' に代入した値は使われていない
とエラーが出て、もうどうすればよくわからないんです。
どどうすればいいのか教えてほしいです、お願いします。
0306デフォルトの名無しさん
NGNG#define N 5
void main(){double t[N];int i,nt=4;;
FILE *in;
in=fopen("ファイル場所","r");
if(in=NULL) printf("ファイルが見つかりません。パスを確認して下さい。\n");
else{for(i=1;i<=nt;i++) fscanf(in,"%lf",&t[i]);}
fclose(in);}
0307デフォルトの名無しさん
NGNGこれも直せ
0308仕様書無しさん
NGNGはい。結果が合ってるかどうか知らん&結果の出し方がこれでいいのかもわからんけど。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=81
0309デフォルトの名無しさん
NGNGはっきりいって、生きている価値なし。
いや、肉体労働やって、税金や年金は納めてもらおうかな。
俺のために働けや、虫けらども。
0310デフォルトの名無しさん
NGNG宿題丸投げスレで(ry
0311仕様書無しさん
NGNGそういうスレだしな。
ここでもらった回答を参考に、自分でカスタマイズしたり作り直したりすればいいと思う。
0312デフォルトの名無しさん
NGNGおまえ、いい奴だな。
0313デフォルトの名無しさん
NGNGpassの値は全く問題ない。
時間がかかるのは組み合わせ爆発と、同じルートの繰り返しによる。
試しに、壁の全く無い大部屋を通らせてみ。小さいものでもハマると思う。
ソースの美しさに欠けるが一応書いてみた。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=82
迷路に印をつけながら進んで、最後に逆から辿る、いわゆるパンくず法。
cleanupの前にオリジナルのoutputを実行すると何をやってるか分かると思う。
0314313
NGNG>313 は >184宛て。
0315デフォルトの名無しさん
NGNGint main(){
struct game{
int win[6],lose[6],draw[6];
};
struct game gm={
68,52,75,78,60,63,
65,77,59,54,73,70,
2,4,1,3,2,2
};
int i,avr[7];
for(i=0;i<=6;i++)
avr[i]=(gm.win[i]/((gm.lose[i]+gm.draw[i])-gm.draw[i]));
for(i=0;i<=6;i++)
printf("%c : %f\n",'a'+i,(float)avr[i]);
return 0;
}
構造体に関しての質問なのですが、
7つのチーム(a〜f)の勝数、負数、引き分け数を
勝率=勝数/全試合-引き分け数
の式で計算し、各チームの勝率を求めるプログラムなのですが、
↑のプログラムだと上手くいきません、、、
何方かどこが悪いのか教えていただけないでしょうか?
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNGなんか釣りっぽいけど。
・int / int は int だ
・(float)8 が 7.7 になるようなことはない
0318デフォルトの名無しさん
NGNG>struct game{
>int win[6],lose[6],draw[6];
>};
どう見ても6つしかない訳だが…
0319仕様書無しさん
NGNGまあ、初心者にありがちなわけだよ。
「Cでは0から数えはじめる」と習うので、7つ必要なら6と宣言してしまう。
変数の型というのも理解できない。整数→実数への自動変換があると考えている。
「プログラムに書いたことがすべて」ということを理解していなくて、「そのへんはうまいこと勝手にやってくれるんじゃないかな。Windowsなんだし」とか意味不明な期待をする。
0320デフォルトの名無しさん
NGNGstruct siken{
char simei[20];
int sugaku, buturi, eigo, gokei;
};
siken input_data( void);
void output_data( siken);
void main( void)
{
siken data[100];
int n, i;
cout << "何人入力しますか"; cin >> n;
if ( n <= 100){
i=0;
while( i < n){
data[i] = input_data();
i++;
}
i=0;
while( i< n){
output_data( data[i]);
i++;
}
}
}
0321320
NGNGsiken data;
cout << "名前"; cin >> data.simei;
cout << "数学の点数"; cin >> data.sugaku;
cout << "物理の点数"; cin >> data.buturi;
cout << "英語の点数"; cin >> data.eigo;
data.gokei = data.sugaku + data.buturi + data.eigo;
return ( data);
}
void output_data( siken data){
cout << "名前:" << data.simei << endl;
cout << "数学の点数" << data.sugaku << endl;
cout << "物理の点数" << data.buturi << endl;
cout << "英語の点数" << data.eigo << endl;
cout << "合計" << data.gokei << endl;
}
0322320
NGNGること.上記 で作成したプログラムを,学籍番号が入った新しい構造体で動くように修正する
こと.
(2) (1)で作成した構造体を使用して,入力したすべてのデータを学籍番号の昇順に出力する次の仕様
の関数を作成し,プログラムを実行せよ.
(注意)学籍番号には数字だけでなく文字も含まれる場合がある.
(3) 各科目の平均点を計算する次の仕様の関数を作成し,プログラムを実行せよ.
double average_data(int sw, siken data[], int n);
第1 引数:sw が1 ならば数学,2 ならば物理,3 ならば英語,
4 ならば合計 の平均点を求める.
第2 引数:siken 型の配列
第3 引数:配列の全要素数
戻り値:各教科の平均点(倍精度実数型)
(4) 各人の合計点の偏差値を求めて,全員の偏差値を出力する次の仕様の関数を作成し実行せよ
void deviation_data( siken data[], int n);
第1 引数:siken 型の配列
第2 引数:配列の全要素数
戻り値:なし
0323320
NGNGよろしくお願いします。
長々としている上に見づらくて申し訳ないです。
0324デフォルトの名無しさん
NGNGint main(){
struct game{
int win,lose,draw;
} gm[] = {
{68,52,75}, {78,60,63},
{65,77,59}, {54,73,70},
{2,4,1}, {3,2,2}
};
int i;
for (i=0;i<6;i++)
printf("%c : %f\n",'a'+i,(double)gm[i].win/(gm[i].lose+gm[i].win));
return 0;
}
struct game {...} とstruct game gmの2つはこういう風にまとめられる。
int win[6], lose[6],draw[6]だと>>316の言う通り構造体の意味がない。
チームのデータを1つの変数として扱うための構造体がある。それをA〜Fでまとめて扱うんでgmを配列にするってイメージで。
さらに定義と同時に初期化すればこのように最外周の配列に限り要素数を省ける。(これは文章の7つ、A〜Fの6つ、どっちでもいいようにw)
avrは直接printfの引数に勝率計算の式を書いたんで消滅。
ところで全試合-引き分け数==勝ち数+負け数だろ。ここ間違ってどうする。
それとprintfとかの可変個引数ではfloatも呼び出すときにdoubleにされるんで一応doubleにしておいた。
0325デフォルトの名無しさん
NGNGフ━━━( ´_ゝ`)━━━ン!!
0326デフォルトの名無しさん
NGNGおねがいします。
for使った奴で
0327仕様書無しさん
NGNGほらよ。(4)は偏差値計算の仕方わすれたから、パスな。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=83
0328デフォルトの名無しさん
NGNGおめー次のページ見てみたのかよ
0329仕様書無しさん
NGNG// http://pc5.2ch.net/test/read.cgi/tech/1085149383/326
#include <stdio.h>
int main() {
double aa;
printf("入力して> "); fflush(stdout);
scanf("%lf", &aa);
for(int nn = 0; nn <= 10; nn++) {
printf("%g + %d = %g\n", aa, nn, aa+nn);
}
return 0;
}
0331デフォルトの名無しさん
NGNGで解くアルゴリズムを書きなさい.
2.特に,a = 2 として,√2を実際に求める過程を
書きなさい.求める精度は,5桁とします
お願いします。
■ このスレッドは過去ログ倉庫に格納されています