公式サイト https://www.internet.ac.jp/
前スレ
【2018年4月開学】東京通信大学Part.2 [無断転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/lifework/1523608385/l50
Part.1
https://mao.5ch.net/test/read.cgi/lifework/1504958052/
東京通信大学
・学部 学科
情報マネジメント学部情報マネジメント学科
人間福祉学部 人間福祉学科
・キャンパス
東京 新宿駅前キャンパス(総合校舎コクーンタワー)
大阪 大阪駅前サテライトキャンパス (大阪モード学園・HAL大阪 総合校舎)
名古屋 名古屋駅前サテライトキャンパス (総合校舎スパイラルタワーズ)
設置者 学校法人 日本教育財団(旧学校法人モード学園)
探検
【2018年4月開学】東京通信大学Part.3
■ このスレッドは過去ログ倉庫に格納されています
1名無し生涯学習
2018/11/01(木) 12:51:55.96ID:8asb699G0103名無し生涯学習
2018/11/06(火) 22:36:12.25ID:0+fUgJms0 >>102
それは無い。エラーというのはコンパイルエラーだと思うが。
s+=d
を
s+=d;
とすればコンパイルエラーは通るだろう。
しかし、実行すると結果はグチャグチャだ。
何故か?
scanf("%d",&M);
scanf("%d",&m);
scanf("%d",&s);
scanf("%d",&i);
お前さんの頭の中では、同じデータが全ての変数に入力されるとなっているが、
scanfを実行するたびに次のデータを読み込むので、同じデータは入らない。
どうすれば良いか?
>26を読むんだ。
この辺りで考えながらコーディングしないと4から先は辛いぞ。
それは無い。エラーというのはコンパイルエラーだと思うが。
s+=d
を
s+=d;
とすればコンパイルエラーは通るだろう。
しかし、実行すると結果はグチャグチャだ。
何故か?
scanf("%d",&M);
scanf("%d",&m);
scanf("%d",&s);
scanf("%d",&i);
お前さんの頭の中では、同じデータが全ての変数に入力されるとなっているが、
scanfを実行するたびに次のデータを読み込むので、同じデータは入らない。
どうすれば良いか?
>26を読むんだ。
この辺りで考えながらコーディングしないと4から先は辛いぞ。
104名無し生涯学習
2018/11/06(火) 22:43:35.53ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) m= d;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
近くなってきてますか?!
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) m= d;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
近くなってきてますか?!
105名無し生涯学習
2018/11/06(火) 22:47:15.42ID:0+fUgJms0106名無し生涯学習
2018/11/06(火) 22:50:43.51ID:0+fUgJms0 >>104
後、一つの命令が終わったらセミコロンを打つ癖をつけるんだ。
後、一つの命令が終わったらセミコロンを打つ癖をつけるんだ。
107名無し生涯学習
2018/11/06(火) 22:56:32.29ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
108名無し生涯学習
2018/11/06(火) 22:58:41.96ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
int main(int argc, char *argv[]){
int m, M, s, i;
scanf("%d", &M);
M= m; M=s
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n", s/i);
printf("%d\n", m);
return 0;
}
109名無し生涯学習
2018/11/06(火) 23:00:56.34ID:bhXXzvUH0 これ別にMやmじゃなくてもFとかfでも何でもいいんですか?英語が何とかは意味はないんですか?
int部分は
int部分は
110名無し生涯学習
2018/11/06(火) 23:14:31.98ID:0+fUgJms0 >>109
変数は自由に定義できるから、名前はなんでも良い。
変数は自由に定義できるから、名前はなんでも良い。
111名無し生涯学習
2018/11/06(火) 23:15:31.57ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
112名無し生涯学習
2018/11/06(火) 23:15:59.09ID:bhXXzvUH0 エラーが肌色になりました。
113名無し生涯学習
2018/11/06(火) 23:26:12.49ID:0+fUgJms0 >>112
肌色はワーニングだ。
エラーメッセージがないからわからんが、初期値未定義だろう。
これは今は忘れろ。下記に気づけば無くなるだろう。
>代入には方向がある。
といったよな。
scanf("%d", &M);
M= m; M=s;
どうなるか頭の中で考えるんだ。
肌色はワーニングだ。
エラーメッセージがないからわからんが、初期値未定義だろう。
これは今は忘れろ。下記に気づけば無くなるだろう。
>代入には方向がある。
といったよな。
scanf("%d", &M);
M= m; M=s;
どうなるか頭の中で考えるんだ。
114名無し生涯学習
2018/11/06(火) 23:41:25.42ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s;
scanf("%d", &M);
M= m; M=s;
for( scanf("%d", &d)== 1;
{
s+= d;
if( d>M ) M= m;
if( d<m ) m= s;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
int main(int argc, char *argv[]){
int m, M, s;
scanf("%d", &M);
M= m; M=s;
for( scanf("%d", &d)== 1;
{
s+= d;
if( d>M ) M= m;
if( d<m ) m= s;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
115名無し生涯学習
2018/11/06(火) 23:42:07.93ID:bhXXzvUH0 そのひんとをもとにdとi消したらとんでもないエラーになったんですが・・・
p2-2.c: In function 'main':
p2-2.c:8:19: error: 'd' undeclared (first use in this function)
for( scanf("%d", &d)== 1;
^
p2-2.c:8:19: note: each undeclared identifier is reported only once for each function it appears in
p2-2.c:9:1: error: expected expression before '{' token
{
^
p2-2.c:17:28: error: 'i' undeclared (first use in this function)
printf("%.3f\n",(double) s/i);
^
p2-2.c:17:30: error: expected ')' before ';' token
printf("%.3f\n",(double) s/i);
^
p2-2.c:21:1: error: expected expression before '}' token
}
^
p2-2.c:21:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
p2-2.c: In function 'main':
p2-2.c:8:19: error: 'd' undeclared (first use in this function)
for( scanf("%d", &d)== 1;
^
p2-2.c:8:19: note: each undeclared identifier is reported only once for each function it appears in
p2-2.c:9:1: error: expected expression before '{' token
{
^
p2-2.c:17:28: error: 'i' undeclared (first use in this function)
printf("%.3f\n",(double) s/i);
^
p2-2.c:17:30: error: expected ')' before ';' token
printf("%.3f\n",(double) s/i);
^
p2-2.c:21:1: error: expected expression before '}' token
}
^
p2-2.c:21:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
116名無し生涯学習
2018/11/06(火) 23:45:14.86ID:0+fUgJms0117名無し生涯学習
2018/11/06(火) 23:46:01.50ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= s;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
118名無し生涯学習
2018/11/06(火) 23:50:07.33ID:bhXXzvUH0 #include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
あってますか?
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
M= m; M=s;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) M= m;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
あってますか?
119名無し生涯学習
2018/11/06(火) 23:51:55.38ID:0+fUgJms0 >>117
scanf("%d", &M);
が解っていないんだな。
これは標準入力から値を読み込み、Mという変数にに格納するという命令だ。
そして代入は方向がある。
右には左の値が代入される。
だとするとこれはなんだ?
M=m;M=s;
どう直せば良いか?
scanf("%d", &M);
が解っていないんだな。
これは標準入力から値を読み込み、Mという変数にに格納するという命令だ。
そして代入は方向がある。
右には左の値が代入される。
だとするとこれはなんだ?
M=m;M=s;
どう直せば良いか?
120名無し生涯学習
2018/11/06(火) 23:54:08.92ID:0+fUgJms0121名無し生涯学習
2018/11/07(水) 00:01:58.91ID:FAhyyIrh0 もうお手上げです教えてください、どんなにかんがえてもおかしいところがわかりません
122名無し生涯学習
2018/11/07(水) 00:04:36.23ID:/MQHNZKF0 M=m;M=s;
m=M;s=M;
これの違いが分かるか?
全然意味が違うことなんだ。
それと、もうこれが最後となる。上手くいったらソースは晒さなくていい。
いい加減大学に目をつけられるぞ。
m=M;s=M;
これの違いが分かるか?
全然意味が違うことなんだ。
それと、もうこれが最後となる。上手くいったらソースは晒さなくていい。
いい加減大学に目をつけられるぞ。
123名無し生涯学習
2018/11/07(水) 02:13:55.20ID:ck12dVTt0 >>93
通学制の大学でもこの量この内容を1単位でやってたんだろうか。
プログラミングだけ勉強したいわけじゃないのに、他の授業の妨げになるくらいの分量。通学制だったら他の教授からも苦情が来ると思う。
週2コマ半年分くらいなんじゃないか。
通学制の大学でもこの量この内容を1単位でやってたんだろうか。
プログラミングだけ勉強したいわけじゃないのに、他の授業の妨げになるくらいの分量。通学制だったら他の教授からも苦情が来ると思う。
週2コマ半年分くらいなんじゃないか。
124名無し生涯学習
2018/11/07(水) 04:32:50.10ID:zu0NPye2p わからないなら辞めてしまえ
125名無し生涯学習
2018/11/07(水) 07:55:54.97ID:J3KcSriV0 >>124
確かにな。こんなのばっか助けてくれと言われても今後無視しよう。「どんなにかんがえても」「何故か」とかいう修飾子が腹立たしい。10分も考えていないのにだ。
自分だけ考えようとしていてきっかけ作りには教えてもいいと思うが、>121のような甘えたメンタリティの奴はほっとこう。それがコイツのためだ。
なあにこの調子じゃ後1週間で4-5はまず無理だろう。
確かにな。こんなのばっか助けてくれと言われても今後無視しよう。「どんなにかんがえても」「何故か」とかいう修飾子が腹立たしい。10分も考えていないのにだ。
自分だけ考えようとしていてきっかけ作りには教えてもいいと思うが、>121のような甘えたメンタリティの奴はほっとこう。それがコイツのためだ。
なあにこの調子じゃ後1週間で4-5はまず無理だろう。
126名無し生涯学習
2018/11/07(水) 08:27:39.60ID:qK1Nzfy70 なぜ最後まで教えてくれないのか
たのんでいるのに
たのんでいるのに
127名無し生涯学習
2018/11/07(水) 08:36:53.50ID:J3KcSriV0 なんと >125が おきあがり なかまに なりたそうに こちらをみている!
なかまにしてあげますか?
なかまにしてあげますか?
129名無し生涯学習
2018/11/07(水) 12:24:49.84ID:F1hRnRei0130名無し生涯学習
2018/11/07(水) 12:25:59.05ID:F1hRnRei0131名無し生涯学習
2018/11/07(水) 12:30:44.13ID:KLtiVaAO0 3年後卒業できんの10人くらいな気がしてきた
132名無し生涯学習
2018/11/07(水) 17:56:55.72ID:sdoydT2u0 2回目の挑戦者がどう動くかだな
2回やってだめだったら3回目もやるかどうか
2回やってだめだったら3回目もやるかどうか
133名無し生涯学習
2018/11/07(水) 18:03:40.41ID:pKS8+FV00 いちおうここのURLとログを大学に送っておいたわ
答え教えてくれとか、ここでやる事じゃないと思う
わかるまで留年したっていいんだよ
答え教えてくれとか、ここでやる事じゃないと思う
わかるまで留年したっていいんだよ
134名無し生涯学習
2018/11/07(水) 18:29:48.87ID:6VykCctdM 質問してる人に言いたい。
コーディングしているpcで「ggrks」この単語を検索しなさい。それから質問したらええ。
コーディングしているpcで「ggrks」この単語を検索しなさい。それから質問したらええ。
135名無し生涯学習
2018/11/07(水) 18:45:08.17ID:OI0qoNvP0 >>102
Mとmは別の文字(変数)として扱われるよ。
今回は最大値はM、最小値をmとして計算に使ってる。
最大はMAX、最小はMinimumでどちらも頭文字がエム。
なので大文字小文字で最大値と最小値を表現している。
xとyでもいいし、MAXとMINと書いても良い。
講義の中で教授がMとmを使ってるから学生はそれに合わせてるだけ。
intのあとの順番には意味はないよ。
Mとmは別の文字(変数)として扱われるよ。
今回は最大値はM、最小値をmとして計算に使ってる。
最大はMAX、最小はMinimumでどちらも頭文字がエム。
なので大文字小文字で最大値と最小値を表現している。
xとyでもいいし、MAXとMINと書いても良い。
講義の中で教授がMとmを使ってるから学生はそれに合わせてるだけ。
intのあとの順番には意味はないよ。
136名無し生涯学習
2018/11/07(水) 18:55:54.87ID:OI0qoNvP0 >>123
言うほど多い量の課題は出てないよ。
お題4問を1週間でやればいいんだから、かなり緩いレベル。
問題はこのスレに出てるように、列挙された数字から
最大値と最小値と合計を書きだす、といった程度のもの。
コードを見ると初心者にはちんぷんかんぷんだろうけど、
講義の中でほとんど完成されたコードが提示されていて、
必要な箇所を変更するだけ、という方式。
こんなの負担でもなんでもないよ。
言うほど多い量の課題は出てないよ。
お題4問を1週間でやればいいんだから、かなり緩いレベル。
問題はこのスレに出てるように、列挙された数字から
最大値と最小値と合計を書きだす、といった程度のもの。
コードを見ると初心者にはちんぷんかんぷんだろうけど、
講義の中でほとんど完成されたコードが提示されていて、
必要な箇所を変更するだけ、という方式。
こんなの負担でもなんでもないよ。
137名無し生涯学習
2018/11/07(水) 19:02:33.50ID:OI0qoNvP0 >>133
別にわざわざ送らなくったって教授陣や大学関係者もとっくにここを見てるよ。
あたり前だろ。
教授の方針は「学生同士掲示板で助け合って解決してみなさい」って感じだよ。
だから誰も答をまるまるコピペしたりしないし、わからない人にわかるように丁寧に説明してる。
2(5)chのくせにクソ真面目すぎるのは粋じゃないけど、大学側としては微笑ましい光景だろう。
別にわざわざ送らなくったって教授陣や大学関係者もとっくにここを見てるよ。
あたり前だろ。
教授の方針は「学生同士掲示板で助け合って解決してみなさい」って感じだよ。
だから誰も答をまるまるコピペしたりしないし、わからない人にわかるように丁寧に説明してる。
2(5)chのくせにクソ真面目すぎるのは粋じゃないけど、大学側としては微笑ましい光景だろう。
138名無し生涯学習
2018/11/07(水) 19:21:31.87ID:RBVf6ucR0 今日の報告。
19/14 19:15
2-1 233名 (59.7%) コピペ
2-4 189名 (48.5%) 変数 for文
3-4 128名 (32.8%) 変数 for文
4-4 34名 (8.7%) 条件分岐
5-4 34名 (8.7%) ライブラリ
6-4 9名 (2.3%) 配列
7-4 4名 (1.0%) 長桁計算
>>97
そんなデータがあったとは!
2-1が割合(%)でみるとほぼ同じ値になってきた。
第五回第六回を比較すると、
締切近くならないとケツに火がつかない人が多いってのがわかるね。
19/14 19:15
2-1 233名 (59.7%) コピペ
2-4 189名 (48.5%) 変数 for文
3-4 128名 (32.8%) 変数 for文
4-4 34名 (8.7%) 条件分岐
5-4 34名 (8.7%) ライブラリ
6-4 9名 (2.3%) 配列
7-4 4名 (1.0%) 長桁計算
>>97
そんなデータがあったとは!
2-1が割合(%)でみるとほぼ同じ値になってきた。
第五回第六回を比較すると、
締切近くならないとケツに火がつかない人が多いってのがわかるね。
139名無し生涯学習
2018/11/07(水) 20:11:39.98ID:b02CHbqia >>138
おおっ。データの近似性の驚き。人はなかなか変わらんですね。
おおっ。データの近似性の驚き。人はなかなか変わらんですね。
140名無し生涯学習
2018/11/07(水) 21:00:21.60ID:ck12dVTt0 >>136
課題の量だけでなく、主に言いたいのは内容のこと。
本当に、通学制では90分✖8回の授業でこれだけの内容を教えられたのか。学生とのやり取りがない分、映像60分と対面授業90分を同等として。
駆け足すぎて授業の何倍もの時間を自習に割かないと、初心者はついていけない。初級なのに。
課題については、未経験者が授業+小テスト+自習で大学が基準としている時間の1.5〜2倍くらいで過半数の学生が解ける程度なら、4題は受け入れられる。ただし、他教科では実習がある場合、大学が基準とする時間に合わせて授業を減らしているものもある。
通学制の大学生は生活の中心が大学だが、通信制では本業のある社会人も多いはず。時間を作って計画立てて受講しようにも、初級プログラミングのせいで他の学習計画まで崩れてしまう。
自分は経営8情報2くらいの気持ちで入学したから、より勉強したい教科の妨げにしか感じない。
課題の量だけでなく、主に言いたいのは内容のこと。
本当に、通学制では90分✖8回の授業でこれだけの内容を教えられたのか。学生とのやり取りがない分、映像60分と対面授業90分を同等として。
駆け足すぎて授業の何倍もの時間を自習に割かないと、初心者はついていけない。初級なのに。
課題については、未経験者が授業+小テスト+自習で大学が基準としている時間の1.5〜2倍くらいで過半数の学生が解ける程度なら、4題は受け入れられる。ただし、他教科では実習がある場合、大学が基準とする時間に合わせて授業を減らしているものもある。
通学制の大学生は生活の中心が大学だが、通信制では本業のある社会人も多いはず。時間を作って計画立てて受講しようにも、初級プログラミングのせいで他の学習計画まで崩れてしまう。
自分は経営8情報2くらいの気持ちで入学したから、より勉強したい教科の妨げにしか感じない。
141名無し生涯学習
2018/11/07(水) 22:02:51.83ID:oWPkwo3v0 動画15分✕4本と小テスト30分が基本構成です
※演習はサービス残業になります
※演習はサービス残業になります
142名無し生涯学習
2018/11/07(水) 22:50:56.79ID:FAhyyIrh0144名無し生涯学習
2018/11/08(木) 13:59:40.11ID:B7Ys/+Er0 4-4で詰んじゃった
どうやって差分と併合組み合わせるんだろうどちらかしか表示されないや
どうやって差分と併合組み合わせるんだろうどちらかしか表示されないや
146名無し生涯学習
2018/11/08(木) 17:34:31.36ID:B7Ys/+Er0 >>145
ええと講義の併合のところをまるまる写してるんですけど
int df, dg;
int ef, eg;
ef= fscanf(f,"%d", &df);
eg= fscanf(g,"%d", &dg);
while( ef==1 && eg==1){
if( df==dg ){
printf("%d\n",df);
......以下略
最初の宣言でint x;を追加してwhileの中にscanf("%d",&x);とif(x==1){を書くということでしょうか
トンチンカンなこと言ってたらすいません
ええと講義の併合のところをまるまる写してるんですけど
int df, dg;
int ef, eg;
ef= fscanf(f,"%d", &df);
eg= fscanf(g,"%d", &dg);
while( ef==1 && eg==1){
if( df==dg ){
printf("%d\n",df);
......以下略
最初の宣言でint x;を追加してwhileの中にscanf("%d",&x);とif(x==1){を書くということでしょうか
トンチンカンなこと言ってたらすいません
147名無し生涯学習
2018/11/08(木) 18:50:38.95ID:XP0y5cjn0 >>146
単にそれを書けばいいってわけじゃないよ。条件分岐を使うって察してほしかった。
scanf("%d",&x); 【標準入力の値をxに読み取る】
if(x==1){ 【もし読み取った値が1なら以下の処理を行う】
---講義内で提示された併合のプログラム----
}else
if(x==-1){ 【もし標準入力の値がマイナス1だったら】
---講義内で提示された差分のプログラム----
}
こんな感じ。書き方はいろいろあるけど、併合と差分を同時にやるんじゃなくて、どちらをやるか最初に決めてしまうんだ。
もちろんxはfでもnでも何の文字でもいいよ。
単にそれを書けばいいってわけじゃないよ。条件分岐を使うって察してほしかった。
scanf("%d",&x); 【標準入力の値をxに読み取る】
if(x==1){ 【もし読み取った値が1なら以下の処理を行う】
---講義内で提示された併合のプログラム----
}else
if(x==-1){ 【もし標準入力の値がマイナス1だったら】
---講義内で提示された差分のプログラム----
}
こんな感じ。書き方はいろいろあるけど、併合と差分を同時にやるんじゃなくて、どちらをやるか最初に決めてしまうんだ。
もちろんxはfでもnでも何の文字でもいいよ。
148名無し生涯学習
2018/11/08(木) 20:57:53.31ID:LUemeOeJ0 11月8日 21:00
2-1 234名 (60.0%) コピペ
2-4 191名 (49.0%) 変数 for文
3-4 129名 (33.1%) 変数 for文
4-4 38名 (9.7%) 条件分岐
5-4 36名 (9.2%) ライブラリ
6-4 9名 (2.3%) 配列
7-4 4名 (1.0%) 長桁計算
2-1 234名 (60.0%) コピペ
2-4 191名 (49.0%) 変数 for文
3-4 129名 (33.1%) 変数 for文
4-4 38名 (9.7%) 条件分岐
5-4 36名 (9.2%) ライブラリ
6-4 9名 (2.3%) 配列
7-4 4名 (1.0%) 長桁計算
149名無し生涯学習
2018/11/08(木) 22:10:48.62ID:jhWxHqGlp 福祉のほうで入学考えてるのですが数学は必須ですか?
151名無し生涯学習
2018/11/09(金) 00:32:23.80ID:MgmVq7X20 >>143
#include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
m= M; s=M;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) d= M;
if( d<m ) m= M;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
} 20てんだけど?
#include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
m= M; s=M;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) d= M;
if( d<m ) m= M;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
} 20てんだけど?
152名無し生涯学習
2018/11/09(金) 05:38:34.40ID:TdTRSarS0153名無し生涯学習
2018/11/09(金) 11:40:01.55ID:ypQ86+Jd0 >>151
20点と表示された場所のすぐ下に、「成功例」が一つと、
「失敗例」が4つ表示できるようになってる。
タブで切り替えてそれぞれを見てみよう。
正解の出力例と、自分のプログラムの出力が表示されるので、
どこが違うのか見ると一目瞭然。
dをmに代入ができてないんだなってすぐにわかる。
その箇所を修正すればいいんだ。
20点と表示された場所のすぐ下に、「成功例」が一つと、
「失敗例」が4つ表示できるようになってる。
タブで切り替えてそれぞれを見てみよう。
正解の出力例と、自分のプログラムの出力が表示されるので、
どこが違うのか見ると一目瞭然。
dをmに代入ができてないんだなってすぐにわかる。
その箇所を修正すればいいんだ。
154名無し生涯学習
2018/11/09(金) 20:38:52.21ID:MgmVq7X20 >>151 いってるいみがわからん。
なぜdなんだ?
Mにmを、Mにsをじゃないのか?
#include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
m= M; s=M;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) M= d;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
なぜdなんだ?
Mにmを、Mにsをじゃないのか?
#include <stdio.h>
int main(int argc, char *argv[]){
int m, M, s, i, d;
scanf("%d", &M);
m= M; s=M;
for(i= 1; scanf("%d", &d)== 1; i++){
s+= d;
if( d>M ) M= d;
if( d<m ) M= d;
}
printf("%d\n", M);
printf("%.3f\n",(double) s/i);
printf("%d\n", m);
return 0;
}
155名無し生涯学習
2018/11/09(金) 20:39:30.03ID:MgmVq7X20 M=mだとmをMに代入するという方向でいいんだよな?
156名無し生涯学習
2018/11/09(金) 22:31:44.47ID:4aSj4m4jp >>152
ありがとう!
ありがとう!
157名無し生涯学習
2018/11/09(金) 23:43:16.72ID:dmygBYCo0 if( d<m ) M= d;
dがmより小さい時、Mにdを入れる?
Mって最大値として使ってるんじゃないの?
dがmより小さい時、Mにdを入れる?
Mって最大値として使ってるんじゃないの?
158名無し生涯学習
2018/11/09(金) 23:45:23.46ID:h3ZA/Q64a 甘えん坊が多すぎ、
仮にも大学。
何でここまで手取り足取りが
当然みたいな人間がいるのだろう。
ここまで教えるってサービスの次元を
超えてると思う。
情報処理系の夜間高校でも入り直して
勉強し直したらどうか?
仮にも大学。
何でここまで手取り足取りが
当然みたいな人間がいるのだろう。
ここまで教えるってサービスの次元を
超えてると思う。
情報処理系の夜間高校でも入り直して
勉強し直したらどうか?
159名無し生涯学習
2018/11/10(土) 01:03:29.21ID:u9S9qZh40160名無し生涯学習
2018/11/10(土) 01:29:03.29ID:ddS6goZN0161名無し生涯学習
2018/11/10(土) 05:58:04.73ID:1bNtWe2J0 >>151
s+= d;【読み込んだ値dを合計値に加算する/正しい】
if( d>M ) d= M;【読み込んだ値dがMより大きい場合、dにMの値を代入する/間違い】
if( d<m ) m= M;【読み込んだ値dがmより小さい場合、mにMの値を代入する/間違い】
>>154
s+= d;【読み込んだ値dを合計値に加算する/正しい】
if( d>M ) M= d;【読み込んだ値dがMより大きい場合、Mにdの値を代入する/正しい】
if( d<m ) M= d;【読み込んだ値dがMより大きい場合、Mにdの値を代入する/間違い】
>Mにmを、Mにsをじゃないのか?
これはscanfの次の行の事を言ってるんだろ。
今間違ってるのはそこじゃなくて条件分岐のとこだよ。
s+= d;【読み込んだ値dを合計値に加算する/正しい】
if( d>M ) d= M;【読み込んだ値dがMより大きい場合、dにMの値を代入する/間違い】
if( d<m ) m= M;【読み込んだ値dがmより小さい場合、mにMの値を代入する/間違い】
>>154
s+= d;【読み込んだ値dを合計値に加算する/正しい】
if( d>M ) M= d;【読み込んだ値dがMより大きい場合、Mにdの値を代入する/正しい】
if( d<m ) M= d;【読み込んだ値dがMより大きい場合、Mにdの値を代入する/間違い】
>Mにmを、Mにsをじゃないのか?
これはscanfの次の行の事を言ってるんだろ。
今間違ってるのはそこじゃなくて条件分岐のとこだよ。
162名無し生涯学習
2018/11/10(土) 06:17:06.31ID:1bNtWe2J0 >>154
ついでに、
[m= M; s=M;]これを「Mにmを、Mにsを」と言ってるのもまだ方向を間違ってる。
正しくは「mにMを、sにMを」だ。
[m= M; s=M;]これ自体は間違ってないから修正しなくていい。
この命令が何をやってるのかが十分に理解できてないので、
代入についてもう一度勉強しなおしておこう。
ついでに、
[m= M; s=M;]これを「Mにmを、Mにsを」と言ってるのもまだ方向を間違ってる。
正しくは「mにMを、sにMを」だ。
[m= M; s=M;]これ自体は間違ってないから修正しなくていい。
この命令が何をやってるのかが十分に理解できてないので、
代入についてもう一度勉強しなおしておこう。
164名無し生涯学習
2018/11/10(土) 11:06:18.77ID:u9S9qZh40 #include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
#define fn "data1.txt"
#define gn "data2.txt"
FILE *f, *g;
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n");else printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n");else printf("%c\n",cg);
if( !(cf==EOF && fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
#include <stdlib.h>
int main(int argc, char* argv[]){
#define fn "data1.txt"
#define gn "data2.txt"
FILE *f, *g;
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n");else printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n");else printf("%c\n",cg);
if( !(cf==EOF && fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
165名無し生涯学習
2018/11/10(土) 11:06:59.92ID:u9S9qZh40 (続き)
でコンパイルして
txt1と2をそれぞれ作成して追加をして実行したらそれぞれの文字が違うと表示された。ここまではよし。
さらにそれを採点すると0点。なぜ?
条件には、 data1.txt, data2.txt が共に尽きた時
same content
data1.txt と data2.txt とで異なる文字が現れた時
different characters appear
と記載あるがこれは標準入力にこの英語をかけって事?
4−2です
でコンパイルして
txt1と2をそれぞれ作成して追加をして実行したらそれぞれの文字が違うと表示された。ここまではよし。
さらにそれを採点すると0点。なぜ?
条件には、 data1.txt, data2.txt が共に尽きた時
same content
data1.txt と data2.txt とで異なる文字が現れた時
different characters appear
と記載あるがこれは標準入力にこの英語をかけって事?
4−2です
166名無し生涯学習
2018/11/10(土) 11:55:04.70ID:tl23aBn50167名無し生涯学習
2018/11/10(土) 12:18:10.39ID:1bNtWe2J0 >>164
>>165
data1.txt, data2.txt が共に尽きた時
「same content」と出力せよ
data1.txt が先に尽きた時
「shorter: data1.txt」と出力せよ
data2.txt が先に尽きた時
「shorter: data2.txt」と出力せよ
data1.txt と data2.txt とで異なる文字が現れた時
「different characters appear」と出力せよ
という意味だよ。
printf("cf: ");【cf: と出力する/間違い】(なぜ?)
if(cf==EOF)printf("EOF\n");【data1.txtが先に終わったら「EOF\n」と出力する】(なぜ?)
出力する文字列が正しくないから0点なんだ。
printfのあたりを全て見直せばOK。
点数が表示されるところのすぐ下で失敗例を見ることができるから、
それを見れば何が間違ってたのかすぐにわかる。
課題文がわかりにくくても、これを見れば何を求められているのかすぐにわかるよ。
>>165
data1.txt, data2.txt が共に尽きた時
「same content」と出力せよ
data1.txt が先に尽きた時
「shorter: data1.txt」と出力せよ
data2.txt が先に尽きた時
「shorter: data2.txt」と出力せよ
data1.txt と data2.txt とで異なる文字が現れた時
「different characters appear」と出力せよ
という意味だよ。
printf("cf: ");【cf: と出力する/間違い】(なぜ?)
if(cf==EOF)printf("EOF\n");【data1.txtが先に終わったら「EOF\n」と出力する】(なぜ?)
出力する文字列が正しくないから0点なんだ。
printfのあたりを全て見直せばOK。
点数が表示されるところのすぐ下で失敗例を見ることができるから、
それを見れば何が間違ってたのかすぐにわかる。
課題文がわかりにくくても、これを見れば何を求められているのかすぐにわかるよ。
168名無し生涯学習
2018/11/10(土) 13:19:26.83ID:u9S9qZh40 166
気持ちはわかるけどここはわからない人間に対して批判をするようなところではないから君は降りてもいいと思うよご自由に。
もっと広い心を持てると良かったね。
気持ちはわかるけどここはわからない人間に対して批判をするようなところではないから君は降りてもいいと思うよご自由に。
もっと広い心を持てると良かったね。
169名無し生涯学習
2018/11/10(土) 13:34:27.33ID:u9S9qZh40 >>167さん
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
#define fn "data1.txt"
#define gn "data2.txt"
FILE *f, *g;
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n"); printf("%c\n",cg);
if( !(cf==EOF && fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
どうですか?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]){
#define fn "data1.txt"
#define gn "data2.txt"
FILE *f, *g;
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n"); printf("%c\n",cg);
if( !(cf==EOF && fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
どうですか?
170名無し生涯学習
2018/11/10(土) 16:57:11.08ID:S/ND73+U0 数学以外のレスを下さい!
171名無し生涯学習
2018/11/10(土) 17:04:13.97ID:1i4jRkVO0 >>169
どうもこうも、前のとほとんど変わってないじゃん。
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
このコードを日本語で書くと、
「cf: 」と出力して、もしdata1.txtが先に尽きた時「EOF\n」と出力し、data1.txtの文字列を出力する。
となる。
お題は、data1.txt が先に尽きた時「shorter: data1.txt」(data1.txtのほうが短かった)と出力せよ。
まったく違う。
以降も全て同じで、お題で求められている出力と全く違う出力をしてるので合格しないよ。
「cf: EOF」とか、「data1.txt and data2.txt differ.」などと出力せよとはお題に書かれていない。
採点をやったとき、点数が表jいされているすぐ下にある失敗例を見ると何が間違ってるのかすぐにわかるよ。
どうもこうも、前のとほとんど変わってないじゃん。
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
このコードを日本語で書くと、
「cf: 」と出力して、もしdata1.txtが先に尽きた時「EOF\n」と出力し、data1.txtの文字列を出力する。
となる。
お題は、data1.txt が先に尽きた時「shorter: data1.txt」(data1.txtのほうが短かった)と出力せよ。
まったく違う。
以降も全て同じで、お題で求められている出力と全く違う出力をしてるので合格しないよ。
「cf: EOF」とか、「data1.txt and data2.txt differ.」などと出力せよとはお題に書かれていない。
採点をやったとき、点数が表jいされているすぐ下にある失敗例を見ると何が間違ってるのかすぐにわかるよ。
172名無し生涯学習
2018/11/10(土) 17:12:21.40ID:u9S9qZh40 171さん
いや、失敗等見ても何が違うのか全然わかりませんよ、、できる人はわかると思いますけど。
いや、失敗等見ても何が違うのか全然わかりませんよ、、できる人はわかると思いますけど。
173名無し生涯学習
2018/11/10(土) 17:31:23.88ID:1bNtWe2J0 >>172
169のコードだとエラーになるので164のコードで説明すると、
失敗例1(二つのファイルが同じだったとき)
【作ったプログラムの出力】
cf: EOF
cg:
【正解の出力】
abcde
fgh
i
same content
これだけ見れば、二つのファイルが同じだったときにはファイルの中の文字列を出力して、
改行して、「same content」と出力するのが正しいんだとわかる。
それに対して、
cf: EOF
cg:
と出力してるから正しくない。
「data1.txtが短い時は"cf: EOF\ncg:"と出力する」ってコードが書けてるんだから、
出力する文字列を正しくするだけでいいんだよ。
data1.txtが短いときは、"shorter: data1.txt"と出力するんだよ。
条件分岐で4パターンの出力を作ってね。
他の失敗例も同じように見比べるんだよ。
169のコードだとエラーになるので164のコードで説明すると、
失敗例1(二つのファイルが同じだったとき)
【作ったプログラムの出力】
cf: EOF
cg:
【正解の出力】
abcde
fgh
i
same content
これだけ見れば、二つのファイルが同じだったときにはファイルの中の文字列を出力して、
改行して、「same content」と出力するのが正しいんだとわかる。
それに対して、
cf: EOF
cg:
と出力してるから正しくない。
「data1.txtが短い時は"cf: EOF\ncg:"と出力する」ってコードが書けてるんだから、
出力する文字列を正しくするだけでいいんだよ。
data1.txtが短いときは、"shorter: data1.txt"と出力するんだよ。
条件分岐で4パターンの出力を作ってね。
他の失敗例も同じように見比べるんだよ。
174名無し生涯学習
2018/11/10(土) 23:41:21.48ID:u9S9qZh40175名無し生涯学習
2018/11/10(土) 23:51:38.12ID:u9S9qZh40 >>173ん〜よくわからん
176名無し生涯学習
2018/11/10(土) 23:52:53.04ID:u9S9qZh40 FILE *f, *g;
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n"); printf("%c\n",cg);
if( !( cf=EOF\ncg:&& fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
てこと?
f= fopen(fn, "r"); g= fopen(gn,"r");
if( f==NULL){
printf("NG:%s\n",fn); exit(-1);
}
g= fopen(gn, "r");
if( g==NULL){
printf("NG:%s\n",gn); exit(-1);
}
int cf, cg;
while( (cf= fgetc(f))!=EOF &&
(cg= fgetc(g))!=EOF ){
if( cf!=cg ) break;
}
printf("\n");
printf("cf: "); if(cf==EOF)printf("EOF\n"); printf("%c\n",cf);
printf("cg: "); if(cg==EOF)printf("EOF\n"); printf("%c\n",cg);
if( !( cf=EOF\ncg:&& fgetc(g)==EOF) )
printf("%s and %s differ.\n", fn,gn);
fclose(f); fclose(g);
return 0;
}
てこと?
177名無し生涯学習
2018/11/11(日) 06:33:30.66ID:KMb0MzIE0 >>174
二つのファイルに書かれた文字列を一文字目から順に比較して、同じ文字であるかどうかを判断する。
data1.txtの内容が「ABCDE」
data2.txtの内容が「ABC」
だっとしたら、data2.txtが先に尽きている、ということ。
比較すべき文字が先に無くなることをお題では尽きるって言ってる。
講義では「おしまいになる」と言ってる。
もしかして、
printf("cf: ");
この命令がどういう意味かわからないで書いてる?
これは「cf: 」という文字列を標準出力に書き出せって意味だよ。
二つのファイルに書かれた文字列を一文字目から順に比較して、同じ文字であるかどうかを判断する。
data1.txtの内容が「ABCDE」
data2.txtの内容が「ABC」
だっとしたら、data2.txtが先に尽きている、ということ。
比較すべき文字が先に無くなることをお題では尽きるって言ってる。
講義では「おしまいになる」と言ってる。
もしかして、
printf("cf: ");
この命令がどういう意味かわからないで書いてる?
これは「cf: 」という文字列を標準出力に書き出せって意味だよ。
178名無し生涯学習
2018/11/11(日) 17:05:56.05ID:kkHhgN8G01111 11/11 17:00
2-1 234名 (60.0%) コピペ
2-4 193名 (49.5%) 変数 for文
3-4 134名 (34.4%) 変数 for文
4-4 47名 (12.1%) 条件分岐
5-4 50名 (12.8%) ライブラリ
6-4 13名 (3.3%) 配列
7-4 1名 (0.3%) 長桁計算
8-4 5名 (1.3%) 引数
2-1コピペの上昇が止まった。
第八回が公開された。7回よりもずっと簡単。
2-1 234名 (60.0%) コピペ
2-4 193名 (49.5%) 変数 for文
3-4 134名 (34.4%) 変数 for文
4-4 47名 (12.1%) 条件分岐
5-4 50名 (12.8%) ライブラリ
6-4 13名 (3.3%) 配列
7-4 1名 (0.3%) 長桁計算
8-4 5名 (1.3%) 引数
2-1コピペの上昇が止まった。
第八回が公開された。7回よりもずっと簡単。
179名無し生涯学習
2018/11/11(日) 17:21:53.53ID:BR6fK4p101111180名無し生涯学習
2018/11/11(日) 17:23:30.59ID:BR6fK4p101111181名無し生涯学習
2018/11/11(日) 17:57:22.65ID:HkDNcTH+01111 普段IT関連企業で仕事している人間が
Cの演習となるとこんなにももろいものなのか
Cの演習となるとこんなにももろいものなのか
182名無し生涯学習
2018/11/11(日) 18:07:11.36ID:FgPQxCI201111 こんな問題をあっさりクリアできないと、前途多難だな
183名無し生涯学習
2018/11/11(日) 19:15:19.93ID:6TFwbznO01111 Cだからできないんだつて言つてるやつ
Cに責任なすりつけるのかよ
Cに責任なすりつけるのかよ
184名無し生涯学習
2018/11/11(日) 22:35:14.32ID:9YKug7GS0 >>177だから要するにこのこぴぺはなにも書き換える必要はないって事?
言ってる意味がわからないよ。
どこを変えればいいのだから結局。
txtの中身?1をabcde
2をabcにして先に2が尽きることにして実行すればいいの?
言ってる意味がわからないよ。
どこを変えればいいのだから結局。
txtの中身?1をabcde
2をabcにして先に2が尽きることにして実行すればいいの?
185名無し生涯学習
2018/11/11(日) 23:05:51.46ID:KMb0MzIE0 >>184
printf("cf: ");
これの意味がわかってるとして書くよ。
条件分岐をもっと検討しなければいけないのは当然なんだけど、その前に出力する文字列を正しくしなければ、その先の話にすすめない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
かたくなにこれを出力しようとする限り合格は得られない。
出力すべき文字列は
「same content」
「shorter: data1.txt」
「shorter: data2.txt」
「different characters appear」
この四つ。これらを条件によって使い分ける。
「same content」とは、内容が同じだったよ、って意味。
「shorter: data1.txt」はdata.txtのほうが短かったって意味。「different characters appear」は異なる文字列だったって意味。
cf: EOF\nと書き出すのではなく、shorter: data1.txtと書き出すの。
"EOF\n"を"shorter: data1.txt"に書き換えるの。
最初からずっとそう言ってるよ。
printf("cf: ");
これの意味がわかってるとして書くよ。
条件分岐をもっと検討しなければいけないのは当然なんだけど、その前に出力する文字列を正しくしなければ、その先の話にすすめない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
課題文に、「cf: 」と出力せよとは書かれていない。
課題文に、「EOF\n」と出力せよとも書かれていない。
かたくなにこれを出力しようとする限り合格は得られない。
出力すべき文字列は
「same content」
「shorter: data1.txt」
「shorter: data2.txt」
「different characters appear」
この四つ。これらを条件によって使い分ける。
「same content」とは、内容が同じだったよ、って意味。
「shorter: data1.txt」はdata.txtのほうが短かったって意味。「different characters appear」は異なる文字列だったって意味。
cf: EOF\nと書き出すのではなく、shorter: data1.txtと書き出すの。
"EOF\n"を"shorter: data1.txt"に書き換えるの。
最初からずっとそう言ってるよ。
186名無し生涯学習
2018/11/11(日) 23:27:29.95ID:9YKug7GS0187名無し生涯学習
2018/11/11(日) 23:43:12.47ID:Fpdc6P7s0 >>183
Cの問題ではないな。そもそもプログラミング適性が無いってこった。
Cの問題ではないな。そもそもプログラミング適性が無いってこった。
188名無し生涯学習
2018/11/11(日) 23:52:34.70ID:KMb0MzIE0 >>186
あきらめんな。
書き換えるってのはこうやるの。
誤 printf("EOF\n")
正 printf("same content\n");
「EOF\n"」を「same content\n"」に書き換える、そのまんまだろ。
他にもあと3つ
printf("shorter: data1.txt\n");
printf("shorter: data2.txt\n");
printf("different characters appear\n");
これら四つを用意して、
もし二つのファイルが同じなら
「same content\n」と出力くする。
--------------------
if(cf==EOF && fgetc(g)==EOF)
printf("same content\n");
--------------------
こう書く。
他に、もしdata1.txtが短かった場合、data2.txtが短かった場合、
長さに関係なく文字列が異なった場合、のそれぞれについて
if〜
を使って出力を変えるんだ。
あきらめんな。
書き換えるってのはこうやるの。
誤 printf("EOF\n")
正 printf("same content\n");
「EOF\n"」を「same content\n"」に書き換える、そのまんまだろ。
他にもあと3つ
printf("shorter: data1.txt\n");
printf("shorter: data2.txt\n");
printf("different characters appear\n");
これら四つを用意して、
もし二つのファイルが同じなら
「same content\n」と出力くする。
--------------------
if(cf==EOF && fgetc(g)==EOF)
printf("same content\n");
--------------------
こう書く。
他に、もしdata1.txtが短かった場合、data2.txtが短かった場合、
長さに関係なく文字列が異なった場合、のそれぞれについて
if〜
を使って出力を変えるんだ。
189名無し生涯学習
2018/11/11(日) 23:53:17.22ID:KMb0MzIE0 >>186
つづき
後半の話は難しいからまだ後でいい。
とにかく
printf("EOF\n")
というまったく求められていない出力を
printf("same content\n");
printf("shorter: data1.txt\n");
printf("shorter: data2.txt\n");
printf("different characters appear\n");
に書き換える。
それができれば次の話(条件分岐の話)ができる。
つづき
後半の話は難しいからまだ後でいい。
とにかく
printf("EOF\n")
というまったく求められていない出力を
printf("same content\n");
printf("shorter: data1.txt\n");
printf("shorter: data2.txt\n");
printf("different characters appear\n");
に書き換える。
それができれば次の話(条件分岐の話)ができる。
190名無し生涯学習
2018/11/11(日) 23:54:04.72ID:BR6fK4p10 >>181
このスレの前の方にSEになれってという指導があったけどそれはあってるけど、誰かがプログラミングをやらなければならないという前提でこのレベルだとこの国は終了ですね。
プログラミングできないSEってお笑いしかない。
このスレの前の方にSEになれってという指導があったけどそれはあってるけど、誰かがプログラミングをやらなければならないという前提でこのレベルだとこの国は終了ですね。
プログラミングできないSEってお笑いしかない。
192名無し生涯学習
2018/11/12(月) 01:06:41.50ID:waQg4oMI0 1ヶ月ちょっとに詰め込む内容と課題量じゃないだろって話 政治の批判ならよそでやってくれ
193名無し生涯学習
2018/11/12(月) 08:43:50.27ID:bYWLDtw30 >>191
文科省だけでないよ。丸投げしソフトハウスを買い叩くITゼネコン、受注欲しさにバーゲンセールする営業とそれを承認する経営。
こんなんだからデベロッパーがいなくなった。北米だとプログラマーはそれなりの地位で給与もいい。
こんなに苦労しても報われない。
だからプログラミングできない自称SE様に流れてしまう事象もあると思う。
文科省だけでないよ。丸投げしソフトハウスを買い叩くITゼネコン、受注欲しさにバーゲンセールする営業とそれを承認する経営。
こんなんだからデベロッパーがいなくなった。北米だとプログラマーはそれなりの地位で給与もいい。
こんなに苦労しても報われない。
だからプログラミングできない自称SE様に流れてしまう事象もあると思う。
194名無し生涯学習
2018/11/12(月) 10:36:39.03ID:MW4wFdH80195名無し生涯学習
2018/11/12(月) 12:22:07.68ID:1uotlDPR0196名無し生涯学習
2018/11/12(月) 18:23:25.63ID:7Q3zZgh60 5-1の数字の出力の仕方がどうしてもわからん
for(ch= 0; ch<=128; ch++) count[ch]= 0;
for(; (ch= getchar())!=EOF;){
count[isdigit(ch)]++;
if( islower(ch) )
count[tolower(ch)]++;
if( isupper(ch) )
count[toupper(ch)]++;
}
ってやったらエラーになっちゃった
for(ch= 0; ch<=128; ch++) count[ch]= 0;
for(; (ch= getchar())!=EOF;){
count[isdigit(ch)]++;
if( islower(ch) )
count[tolower(ch)]++;
if( isupper(ch) )
count[toupper(ch)]++;
}
ってやったらエラーになっちゃった
197名無し生涯学習
2018/11/12(月) 19:33:27.44ID:ejIBsQ610 >>196
isdigitやislowerなどは一切必要ないよ。
これらは数字だったら真を返す、小文字だったら真を返す、といった関数。
おそらく課題文を読み間違えてる。
数字が何個だったか、小文字が何個だったかを数えるのではない。
出現した各文字の個数を数えるんだ。数字が全部で何個だったかは必要ない。
第五回講義資料の98ページにほとんど答に近いコードが書かれてるよ。
少しは編集が必要だけど、すぐにわかるだろう。
isdigitやislowerなどは一切必要ないよ。
これらは数字だったら真を返す、小文字だったら真を返す、といった関数。
おそらく課題文を読み間違えてる。
数字が何個だったか、小文字が何個だったかを数えるのではない。
出現した各文字の個数を数えるんだ。数字が全部で何個だったかは必要ない。
第五回講義資料の98ページにほとんど答に近いコードが書かれてるよ。
少しは編集が必要だけど、すぐにわかるだろう。
198名無し生涯学習
2018/11/12(月) 21:46:58.78ID:7Q3zZgh60199名無し生涯学習
2018/11/13(火) 00:18:25.27ID:HGVHbF1Y0 今更だけど…
4-1の標準出力が「NG:date.txt」とずっと表示されてるのに、点数が100点で合格になっているのが個人的にすごいモヤモヤする。
何を基準にこの点なのか理解できない
4-1の標準出力が「NG:date.txt」とずっと表示されてるのに、点数が100点で合格になっているのが個人的にすごいモヤモヤする。
何を基準にこの点なのか理解できない
201名無し生涯学習
2018/11/13(火) 01:16:12.54ID:4XpmsaAi0 >>200
全然OK
全然OK
202名無し生涯学習
2018/11/13(火) 03:02:58.41ID:Q2CXBvufp 留年あるよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 ★2 [ぐれ★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★12 [ぐれ★]
