[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 08:33 / Filesize : 102 KB / Number-of Response : 318
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 122代目



1 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:30:38 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題を片付けます 121代目
pc11.2ch.net/test/read.cgi/tech/1230678123/


152 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 15:55:00 ]
>>151
#include <stdio.h>
int idmax(int idata[]) {
int max = *idata;
while(*++idata > 0) if(max < *idata) max = *idata;
return max; }
int idmin(int idata[]) {
int min = *idata;
while(*++idata > 0) if(min > *idata) min = *idata;
return min; }

int main(void)
{
int i, a[11];

for(i=0; i<10; i++) {
scanf("%d", a + i);
if(a[i] == -1) break;}
if(i==10) a[10] = -1;

printf("読み込んだ整数値:");
for(i=0; a[i]!=-1; i++) printf("%d ", a[i]);
putchar('\n');
printf("最大値:%d\n", idmax(a));
printf("最小値:%d\n", idmin(a));

return 0;
}

153 名前:デフォルトの名無しさん [2009/01/17(土) 16:32:55 ]
文字処理関数の使用例において、文字の入力に、「scanf("%c", &c);」を使うと
is○○関数で上手く判定が出来ないのはなぜですか?

154 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:35:21 ]
>>153
どうせ改行文字がバッファに残ってるせいなんだんだろうな

155 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:39:04 ]
>153
標準入力からはいったん文字列で読み込むようにして
sscanf(文字列, "%c", &c);
ではどうだろうか?

156 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:43:06 ]
>>153
scanf() で %c を指定すると、1バイトのデータしか入力しません。
'A' を入力すれば、0x41 です。
int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、
それに 0x41 だけを入力するので、0xff41 になってしまいます。
これでは is○○関数では正しい判断は行えません。

回避策ですが、scanf を使わずに、getchar を使う(getchar関数は int型の文字を返却します)。
もしくは、宣言時に int c = 0; とし、0 で変数を初期化するかです。


157 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:46:19 ]
cがintってどっから出てきた?

158 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:48:15 ]
>int型変数 c は、例えば宣言時に不定値が設定されていて 0xffff だったとすると、
>それに 0x41 だけを入力するので、0xff41 になってしまいます。

>153 のどこにそんなことが書いてあるんだろう?
>154 の推理もすごいけどw

159 名前:115 mailto:sage [2009/01/17(土) 17:07:19 ]
>>115に関して説明不足ですみません。
科目Aの成績と科目Bの成績があって、
それぞれの成績について平均、標準偏差、偏差値を求めるということです。
順位は科目A+Bの成績で出します。

ちなみに実際のファイルの中身はこんな感じ↓
1234567●●●● 1042


160 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:33:03 ]
ファイルアップしたほうがはやくね?



161 名前:デフォルトの名無しさん [2009/01/17(土) 17:33:57 ]
[1] 授業単元:Computer Prigramming II 第14回:木(ツリー)構造,再帰的関数と再帰的呼び出し
[2] 問題文(含コード&リンク):
下の入出力例のように,適当な数字を入れると,1からその数までの和が計算過程とともに
表示されるプログラムを作りなさい。ループ(for)文を使うものと再帰的関数を使用するも
のの2種類の解答を作ること。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8662.txt
[3] 環境
 [3.1] OS:Windows Vista / Linux
 [3.2] コンパイラ名とバージョン:Visual C++ 2008 Express Edition / gcc
 [3.3] 言語:C
[4] 期限:2008年1月25日00:00まで
[5] その他の制限:

162 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:44:47 ]
【質問テンプレ】
[1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク):
  問題3(戻り値がない場合の引数あり)
 平行四辺形の底辺tと逆さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。
 ただし、main関数で平行四辺形の底辺tと高さhの入力を行い、
 平行四辺形の面積の計算と表示はmensekiという関数で行うこと。

  問題4(戻り値がある場合の引数あり)
 平行四辺形の底辺tと高さhを入力して、平行四辺形の面積を求めるプログラムを作りなさい。
 ただしmain関数で平行四辺形の底辺tと高さhの入力と計算された円の面積の表示を行い、
 平行四辺形の面積はmensekiという関数で計算するようにする。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5
 [3.3] 言語:C言語
[4] 期限:2009年01月19日まで
[5] その他の制限:習い始めて半年です、数学関数まで進みました。
よろしくお願いします。

163 名前:デフォルトの名無しさん [2009/01/17(土) 17:54:02 ]
文字処理関数の演習問題
16進数に変換可能な文字列(例えば "AB45")をキーボードから入力し、
10進数の数値に変換しなさい。

わかる方教えてください。。

164 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:07:44 ]
>>162
問題3
#include <stdio.h>

void menseki(double t, double h)
{
    printf("平行四辺形の面積は%lfです\n", t * h);

    return;
}

int main()
{
    double t, h;

    printf("底辺: ");
    scanf("%lf", &t);
    printf("高さ: ");
    scanf("%lf", &h);
    menseki(t, h);

    return 0;
}

165 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:09:30 ]
>>162
問題4
円の面積って何だ
#include <stdio.h>

double menseki(double t, double h)
{
    return t*h;
}

int main()
{
    double t, h;

    printf("底辺: ");
    scanf("%lf", &t);
    printf("高さ: ");
    scanf("%lf", &h);
    menseki(t, h);
    printf("平行四辺形の面積は%lfです\n", menseki(t, h));
    return 0;
}

166 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:13:41 ]
>>161
入出力例を見ると和を入力しているが、入力するのは和なのか?

3を入力→1+2+3を求めるではなく、
3を入力→1+2=3まで計算、なのか?

167 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:20:56 ]
>>163
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int do_hex(char *str)
{
    static const char hex[] = "0123456789abcdef";
    static const int digit = sizeof(hex) - 1;
    int ch, ret = 0;
    char *p;
    while(*str != '\0'){
        ch = tolower(*str);
        p = strchr(hex, ch);
        if(p == NULL){
            fprintf(stderr, "卑猥な文字:%c\n", *str);
            exit(1);
        }
        ret = digit * ret + (int)(p - hex);
        str++;
    }
    return ret;
}

int main(void)
{
    char buf[256];
    scanf("%255s", buf);
    printf("%s(16) -> %d(10)\n", buf, do_hex(buf));
    return 0;
}

168 名前:デフォルトの名無しさん [2009/01/17(土) 18:25:34 ]
>>167
もっと簡潔に書けるよ

169 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:30:10 ]
>>168 こうか?
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int ret, hex;

    ret = scanf("%x", &hex);
    if(ret != 1){
        fprintf(stderr, "俺にも彼女ができる\n");
        exit(1);
    }

    printf("%x(16) -> %d\n", hex, hex);

    return 0;
}

170 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:35:02 ]
>>159
フォーマットは各行に「学籍番号が7桁、名前が10文字、成績1が2桁、成績2が2桁」が隙間無く並んでいるってことでいいんだよね?
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8666.txt



171 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:36:58 ]
みなさんcのコンパイラは
何をお使いでしょうか?

おすすめや
これは使えないというものはありますか??

172 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:42:56 ]
>>171
スレ違いだから消えろ

173 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:43:13 ]
>>171
スレチ。
pc11.2ch.net/test/read.cgi/tech/1231564903/

174 名前:162 mailto:sage [2009/01/17(土) 18:45:48 ]
>>164-165
ありがとうございます!助かりました。

円の面積・・・意味不明ですね、気付きませんでした。
プリント見返してみましたけど円って書いてありますw
先生のミスかな。

175 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:22:28 ]
>>172 >>173 wwwwwwwwwwwwwwwwww
>>172 >>173 wwwwwwwwwwwwwwwwww
>>172 >>173 wwwwwwwwwwwwwwwwww


176 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:52:09 ]
gccかclでいいんじゃないかとおもうけど
bccってどうなの?

177 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:57:30 ]
>>176
Windowsでgccって微妙じゃね?

178 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:07:42 ]
悲しいかな、C関連で一番勢いの大きいスレッドなので、ウザイ自演も沸く・・・

179 名前:115 mailto:sage [2009/01/17(土) 22:08:32 ]
>>170
そのとおりです、ありがとうございます。助かりました・・・。


180 名前:115 mailto:sage [2009/01/17(土) 22:53:18 ]
何度もすみませんorz
>>170のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・




181 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 22:55:45 ]
>>180

>>1
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。


182 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:09:26 ]
115.txtを探す旅

183 名前:115 mailto:sage [2009/01/17(土) 23:29:59 ]
>>182
いくら自分が間抜けでプログラム苦手とはいえそれはさすがにないw


自力でどうにか出来そうな箇所を弄ったら102個あったエラーが30個にはなったんですが
もうこれ以上は自力じゃ無理orz
ここでひとつひとつコピペするのも難なので、全部まとめてコピペしてロダに上げておきます・・・。

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8669.txt

184 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:46:46 ]
>>183
手直ししたなら、そのプログラムも上げてくれ

多分 grade_t のどっかがおかしいんだと思う

185 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 23:50:18 ]
>>180
> >>170のを実行してみたらエラーが出て実行できないんですがどこがおかしいんでしょうか・・・

先生!>>183が実行時エラーじゃありません!!!

186 名前:170 mailto:sage [2009/01/18(日) 00:15:38 ]
あー、VC++だと変数宣言を全部ブロックの先頭に書かないといけないんだっけ?

187 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:20:41 ]
>>186
いや全く関係ないけど。

188 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:22:52 ]
>>180
>>170
  const grade_t *x = a;
  const grade_t *y = b;

  const grade_t *x = (const grade_t *)a;
  const grade_t *y = (const grade_t *)b;
に書き換えてもダメか?
(*.cppとしてコンパイルしていると想定)

189 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:24:12 ]
const grade_t *x = (grade_t*)a;
const grade_t *y = (grade_t*)b;
に変えればとりあえず動くけどフォーマット指定したファイルも出してくれないと
ファイル作るの面倒です^;^

190 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 00:57:16 ]
&grades[i].numberという書き方はキライだな(個人的には)
&(grades[i].number)と書きたい



191 名前:デフォルトの名無しさん [2009/01/18(日) 00:59:54 ]
宿題で関数strcpyを自分で作らなければいけません。
自分で作ってみたのですが、うまくいきませんでした。

char *my_strcpy(char *s1, char *s2){
int i = 0;
while(s2[i] != '\0'){
s1[i] = *s2;
i++;
}
*s1 = '\0';
return s1;
}

どこをどう直せばいいのか教えてください。
お願いします。

192 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:01:14 ]
>>191
www.bohyoh.com/CandCPP/C/Library/strcpy.html

193 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:03:08 ]
>>191
s1[i] = s2[i];
s1[i] = '\0';

194 名前:デフォルトの名無しさん [2009/01/18(日) 01:10:39 ]
>>192 >>193
ありがとうございました。
本当に助かりました。

195 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:50:13 ]
>>192
そんなの貼ると、代入式だってファビョられるぞw

196 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:19:03 ]
>>195
言われるのはサイトの管理人だから、放っとけよ

197 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:28:10 ]
JIS X 3010:2003の定義に従えば、条件式⊂代入式

198 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 11:21:05 ]
>>102
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define N 256

int main(void)
{
char b[N];
int c = 0, w = 0, l = 0;
FILE *fp;
fgets(b, N, stdin); *strchr(b, '\n') = '\0';
if (!(fp = fopen(b, "r"))) return 1;

while (fgets(b, N, fp)) {
int i = 0;
while(b[i]) { c++; if (!isalpha(b[i++])) w++; }
l++;
}
printf("%d character(s)\n%d word(s)\n%d line(s)\n", c, w, l);
fclose(fp);
return 0;
}

199 名前:デフォルトの名無しさん [2009/01/18(日) 13:37:08 ]
まったくできない。
こんな学部入らなければよかった・・

200 名前:デフォルトの名無しさん [2009/01/18(日) 13:45:29 ]
大学じゃ、Cの授業なんてなかったなぁ・・・
独学で覚えて仕事にしてるが。



201 名前:デフォルトの名無しさん [2009/01/18(日) 15:50:18 ]
>>93
>1からその数までの和
それなら、45を入力すると

1081 = 1 + 2 + ... + 45

になるはずなのだが。
問題が間違っているのか、出力例が間違っているのかを教えてくれ

202 名前:デフォルトの名無しさん [2009/01/18(日) 15:53:32 ]
>>93
>1からその数までの和
それなら、45を入力すると

1081 = 1 + 2 + ... + 45

になるはずなのだが。
問題が間違っているのか、出力例が間違っているのかを教えてくれ

203 名前:201 [2009/01/18(日) 15:54:28 ]
連続スマソ

204 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:25:14 ]
>>201
自分も、何か変だなとは思ったが、例えば36から45の間の数を入力したら
どうするのかと考えたが、問題文を見ると、やはり1〜nまでの和なのかと・・・

205 名前:201 [2009/01/18(日) 16:33:34 ]
問題が正しいのならば↓
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8671.c

出力例が正しいのならば↓
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8670.c

for文は苦手だから書かんかった。ごめん。
暇だったら書くかもしれん

206 名前:201 [2009/01/18(日) 16:48:21 ]
分かるとは思うけど205は >>93

207 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:00:54 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8672.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: 不明
 [3.3] 言語: C
[4] 期限: 2009年01月19日
[5] その他の制限:このような形に表示されるよう求められています↓
www.dotup.org/uploda/www.dotup.org16591.jpg

どうか宜しくお願いします

208 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:05:17 ]
>>93
forでやった場合、問題に合わせたやつ。
出力例にあわせるのはめんどいからパス。

#include <stdio.h>

int sum_n(int);

int main()
{
int i, j, n;

printf("Input any integer >");
scanf("%d", &n);

for (i = 1; i <= n; i++) {
printf("%d = ", sum_n(i));
for (j = 1; j <= i; j++) {
printf(" %d %c", j, (j==i ? '\n': '+'));
}
}
printf("Total: %d\n", sum_n(n));

return 0;
}

int sum_n(int n)
{
return n * (n + 1) / 2;
}

209 名前:208 mailto:sage [2009/01/18(日) 17:20:35 ]
もしかすると、sum_nの中身こっちのほうがいいかも。
int sum_n(int n)
{
int i;
int sum = 0;

for(i = 1; i <= n; i++) {
sum += i;
}
return sum;
}

210 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:28:56 ]
もしかすると、うpロダ使って書き直すのも良いかも



211 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:51:03 ]
>>207
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8673.c

212 名前:デフォルトの名無しさん [2009/01/18(日) 18:53:11 ]
一般ユーティリティ関数の演習問題

* をランダムな個数ずつ、10行画面に出力しなさい。
ただし、最大でも 1行(80個)を越えないこと。

お願いします。

213 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:00:34 ]
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i,j;
for(i=0;i<10;i++){
for(j=0;j<rand()%80+1;j++)printf("*");
printf("\n");
}
return 0;
}

214 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:02:59 ]
>>213
助かりました。ありがとうございます!!

215 名前:デフォルトの名無しさん [2009/01/18(日) 19:04:08 ]
>>213
>j<rand()%80+1
これは思いつかんかったわww
ちなみに俺は212ではない

216 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:06:57 ]
>>213
j<rand()%80+1
これってループするたびに右辺の値が変わったりしないか?
それでも要求仕様は満足するだろうけど

217 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:10:57 ]
この場合、*の個数の分布はなんだろう?

218 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:15:19 ]
指数分布だろ近いのは

219 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:18:12 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
32以下の自然数nを入力し、nビットのグレイコードを出力せよ。
[3] 環境
 [3.1] OS: Vista
 [3.2] コンパイラ名とバージョン: VC2008EE
 [3.3] 言語: C
[4] 期限: 本日中
[5] その他の制限: 標準ライブラリの範囲内で。
よろしくお願いします。

220 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:34:47 ]
>>217
やってみた
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8674.txt
当然だが後半ほとんどでないな



221 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:40:45 ]
>>219
#include <stdio.h>
int main(void)
{
int i,j,g[6],flg;
unsigned int a;
do {
printf("input number(<=32): ");
scanf("%d",&a);
} while (a>32);
for (i=0;i<6;i++) {
g[5-i]=a%2;
a>>=1;
}
for (i=0;i<6;i++) {
if (g[i]) {
for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2;
}
}
for (i=0,flg=0;i<6;i++) {
if (g[i]) flg=1;
if (flg) printf("%d",g[i]);
}
printf("\n");
return 0;
}

222 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:30:38 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
天秤の左皿にだけ重さNの物体が載っている。(Nは自然数)
左右の皿に分銅を追加して、天秤が釣り合うようにする。
使える分銅は、重さが1, 3, 9, 27, ...というように
3のべき乗のものがそれぞれ1つずつである。
Nを入力し、分銅の載せ方を表示するプログラムを作成しなさい。
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン: Visual C++ 2005
 [3.3] 言語:C言語
[4] 期限:1/19 午前7時
[5] その他の制限:できるだけスマートな解法でお願いします。

223 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:47:46 ]
組み合わせが存在しない場合は?

224 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:58:55 ]
>>223
左の皿に分銅を載せるのも考慮すればいかなる場合でもおk

225 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:23:56 ]
[1] 授業単元:計算機プログラム
[2] 問題文(含コード&リンク):
3つの数を引数としてとり、大きいほうの2つの数の和を繰り返す手続きを作成しなさい。
(例えば、最初に最小値を見つける。次に3つの数の和から最小値を引く)
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:不明
 [3.3] 言語: C
[4] 期限: 1月19日
[5] その他の制限:特にありません
よろしくお願いします

226 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:27:26 ]
>>225
すみません訂正します
[2] 問題文(含コード&リンク):
3つの数を引数としてとり、大きいほうの2つの数の和を返す手続きを作成しなさい。
でした。繰り返すではなく返すでした。

227 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:32:39 ]
>>221
それはn番目のグレイコードであって、nビットのグレイコードではないな。

228 名前:デフォルトの名無しさん [2009/01/18(日) 21:35:56 ]
>>220
じゃあ>>213は間違ってるってこと?

229 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:40:03 ]
>>228
何をいっているんだ?

230 名前:デフォルトの名無しさん [2009/01/18(日) 21:41:29 ]
>>227-229
不覚にも吹いたww



231 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:43:17 ]
>>225

int addition(int a,int b,int c) {
if(a<b){
if(a<c) return b+c;
return a+b;
} else {
if(b<c) return a+c;
return a+b;
}
return 0;
}

232 名前:115 mailto:sage [2009/01/18(日) 21:43:29 ]
>>115です。
何度も煩わせてすみませんorz


>>188
入れてみましたがエラーの数も内容も変化なしでした・・・
問題の方を改めてロダに上げます。
もう何が間違ってるのか分からない・・・

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8675.txt

233 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:45:20 ]
>>222
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8676.c
スマートかどうかは知らん

234 名前:デフォルトの名無しさん [2009/01/18(日) 21:49:02 ]
>>219
これで良いだろう

#include <stdio.h>
int main(void)
{
int i,j,g[6],flg;
unsigned int a;
do {
printf("input number(<=32): ");
scanf("%d",&a);
} while (a>32);
for (i=0;i<6;i++) {
g[5-i]=a%2;
a>>=1;
}
for (i=0;i<6;i++) {
if (g[i]) {
for (j=i+1;j<6;j++) g[j]=(g[j]+1)%2;
}
}
for (i=0,flg=0;i<6;i++) printf("%d",g[i]);
printf("\n");
return 0;
}

235 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ]
>>230
不覚だな

236 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:51:08 ]
>>213
っていうか、srandしてないから不味くね?

237 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:56:42 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
(1)
キーボードから入力された0から9までの数字各々の個数をカウントし表示するプログラムを作れ
(2)
画面に任意の次数の単位行列を表示するプログラムを作れ
(3)
学生の数をまず入力した後、各自の試験成績(1課目)を順次入力した後、
最高点・最低点・平均点をそれぞれ求めて表示するプログラムを作れ
[3] 環境
 [3.1] OS:WindowsVista
 [3.2] コンパイラ名とバージョン:不明
 [3.3] 言語:C++
[4] 期限:1月21日
[5]その他の制限:特にありません
よろしくお願いします


238 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:58:13 ]
>>232
だから>>170をどういじったのかを言えと

もしくは>>170をコンパイルした時(いじる前)にどんなエラーが出たかを言ってくれ

239 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:59:46 ]
>>237
(1) >>140,141,143
(2) >>118,121,122

240 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:11:01 ]
>>237
(3)
#include<iostream>
#include<algorithm>
#include<numeric>
#include<vector>
int main() {
int num, score;
std::cout << "Number of students = ";
std::cin >> num;
std::vector<int> scores;
for (int i = 0; i < num; i ++) {
std::cout << "Student" << 1+i << "'s score = ";
std::cin >> score;
scores.push_back(score);
}
std::cout << "-----\n";
std::cout << "The highest score is " << *std::max_element(scores.begin(), scores.end()) << ".\n";
std::cout << "The lowest score is " << *std::min_element(scores.begin(), scores.end()) << ".\n";
std::cout << "Average score is " << std::accumulate(scores.begin(), scores.end(), 0) / scores.size() << "." << std::endl;
return 0;
}



241 名前:201 [2009/01/18(日) 22:11:34 ]
>>237
(1)
出力は勝手に考えた

#include <stdio.h>

int main(void)
{
int num[10] = {0,0,0,0,0,0,0,0,0,0};
int n = 0;
int i = 0;

while(1){
printf("input:");
scanf("%d",&n);
if(n <= 10) num[n]++;
for(i = 0;i < 10;i++)printf("%d:%d\n",i,num[i]);
printf("\n");
}
return 0;
}

242 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:09 ]
C++と聞くととたんにがんばる奴がいるなw

243 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:12:24 ]
> int num[10] = {0,0,0,0,0,0,0,0,0,0};
フイタw

244 名前:デフォルトの名無しさん [2009/01/18(日) 22:13:21 ]
[1] 授業単元:プログラミング
[2] 問題文:
あるゼミの各学生の名前、読み仮名、点数を入力し、最高点を取った学生の名前と
点数を表示せよ。今まで入力した中で何番目の学生が最高点かを記録するための
変数max_iを用意し、最高点が更新されるごとにmax_iを更新する。但し、max_iの
初期値は0とする。
[3] 環境
 [3.1] OS:Windows
 [3.2]
 [3.3] 言語:C言語
[4] 期限:1月19日
[5] その他の制限: 全くわからないので誰か教えてください!!よろしくお願いします!!


245 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:13:31 ]
>>243
int num[10] = {0};
でいいことぐらい分かってるよ

246 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:14:17 ]
>>245
フイタw

247 名前:222 mailto:sage [2009/01/18(日) 22:16:31 ]
>>233
ありがとうございました。

248 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:16:41 ]
ちょっと細工しておくと検索しやすくなるんだよ
誰が検索するのかは秘密♥

249 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:22:21 ]
>>241
正常に機能しなくてフイタw

250 名前:201 [2009/01/18(日) 22:24:24 ]
一応言っておくが、>>245は俺ではない(汗)

あと、
int num[10] = {0};
は知らんかった。
>>201は中坊だというわけで許してくれw



251 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:25:23 ]
なにがなんだか分からない・・・・・・・

252 名前:225 mailto:sage [2009/01/18(日) 22:25:28 ]
>>231
ありがとうございました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<102KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef