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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:30:56 ]
あなたが解けない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++の宿題を片付けます 108代目
pc11.2ch.net/test/read.cgi/tech/1211980711/


78 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:53:22 ]
>短く削って
何を削っていいか判断できるぐらいなら宿題も自分で解けるだろw

79 名前:67 mailto:sage [2008/06/09(月) 22:58:26 ]
>>78
プログラミング上級者のここのスレの方達だと、例題のコメントや余計な制約は邪魔なだけかなと思って削らせていただきました。
何分実力不足なので、私自身の力では無理です。。力を貸して下さい

80 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:59:57 ]
[1]プログラミング
[2]問題文
画面に「こんにちは」と表示して改行する、void hello(void)関数を作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。

81 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:01:19 ]
>>80
void hello(void)
{
printf("こんにちわ\n");
return;
}

82 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:04:05 ]
>>79
上級者(ってなんだ?)になればコメントが不要になるか?
→必要
制約を無視していいか?
→よくない

ということなんで、素直に
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt
の課題2をお願いしますって言っとけばよかったのに。
むやみにアップロードして資源を使うこともないよ。

83 名前:67 mailto:sage [2008/06/09(月) 23:06:06 ]
>>82
そうですね、すいません。余計なことをしてしまいました。。
これからは気をつけます。

84 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:31:55 ]
>>59
回答するつもりも無いならレスする必要(ry
こうですか?わかりません><


この言い方古いのかな

85 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:33:55 ]
>>84
っつーか2重ループの回答あがってるし、
どうでもいい

86 名前:21 mailto:sage [2008/06/10(火) 01:56:32 ]
>>36
確認しましたが、特に指定はないとのことです…
曖昧な返答で申し訳ありません。どうかよろしくお願いします。





87 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 01:58:16 ]
制約を守らないのにループを残した>>57はなんだ?
どうせならこうするがね。

int main(void){
int n=0;
scanf("%d",&n);
printf("%d\n", n*(n+1)*(n+2)/6);
return 0;
}

88 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:01:11 ]
>>19お願いします。できれば今日中に・・・


89 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:09:47 ]
>>86
forkを使って、fork1.c fork2.cそれぞれから生成される実行体を
外部プロセスとして呼び出すのですか?
という意図の質問をしてしまったのであれば、前回の課題を実力で
解答したのではないことがばれたかと。
理解しなかったっしょ。もったいない。

90 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:42:29 ]
>>88
アフィン変換とかでぐぐってみればどうだろう。

91 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:28:18 ]
[1] 授業単元:
C言語入門
[2] 問題文(含コード&リンク):
二つの整数値を入力したら最大公約数を表示してくれるやつ作れ
[3] 環境
 [3.1] OS:
 windows
 [3.2]
 borland c++ 5.5.1
 [3.3] 言語:
 C

自分で作ってみたのですがうまく動きません
どこが間違ってるんでしょうか?

#include <stdio.h>

int main (void)
{
int x,y,z=0,i=1;

printf("二つの整数を「,」で区切って入力してください:");
scanf("%d,%d",&x,&y);

while(i==1){
if(x>y) z=x-y;
if(x<y) z=y-x;
else break;
}
printf("最大公約数は%d\n",z);
return 0;
}

92 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:50:48 ]
>>91です
意味ないかもしれませんが
正解に近づいたかもしれないので貼ってみます

#include <stdio.h>

int main (void)
{
int x,y,a,b;

printf("二つの整数を「,」で区切って入力してください:");
scanf("%d,%d",&x,&y);

a=x;
b=y;

while(a!=b){
if(a>b) a=a-b;
if(a<b) a=b-a;
}
printf("%d%dの最大公約数は%d\n",x,y,a);
return 0;
}

93 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 03:52:44 ]

[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6849.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
無し

お願いします。

94 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:12:00 ]
#include <stdio.h>

int main(void)
{
int i, j, count[11] = {0}, n;

while(1) {
scanf("%d", &n);
if(n==-1) break;
if(0<=n && n <= 100) count[n/10]++;
}

for(i=0; i<10; i++) {
printf("%3d -%3d %d人 ", i*10, i*10 + 9, count[i]);
for(j=0; j<count[i]; j++) putchar('*');
putchar('\n');
}
printf("100      %d人 ", count[10]);
for(j=0; j<count[10]; j++) putchar('*');
putchar('\n');

return 0;
}

95 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:16:28 ]
>>92
#include <stdio.h>

int main (void)
{
   printf("二つの整数を「,」で区切って入力してください:");
   scanf("%d,%d",&x,&y);
   int a,i;
   if (x>y) {
      for (i=1;i<=y;i++) {
         if (y%i == 0) {
            if (x%i == 0) a = i;
         }
      }
   } else {
      for (i=1;i<=x;i++) {
         if (x%i == 0) {
            if (y%i == 0) a = i;
         }
      }
   }
   printf("%d%dの最大公約数は%d\n",x,y,a);
   return 0;
}

96 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:19:57 ]
>>93
発展
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int i, j, count[11] = {0}, n;

srand(time(NULL));

while(1) {
n = rand() % 102 - 1;
if(n==-1) break;
count[n/10]++;
}

for(i=0; i<10; i++) {
printf("%3d -%3d %3d人 ", i*10, i*10 + 9, count[i]);
for(j=0; j<count[i]; j++) putchar('*');
putchar('\n');
}
printf("100      %3d人 ", count[10]);
for(j=0; j<count[10]; j++) putchar('*');
putchar('\n');
return 0;
}





97 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:43:15 ]
>>95
ありがとうございます

98 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:55:23 ]
while(a!=b) {
while(a > b) a -= b;
a = a + b;
b = a - b;
a = a - b;
}


99 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 04:56:26 ]
>>92
,で区切る意味が全く分からない
再帰を使わずに作ると

#include <stdio.h>
int gcd(int a, int b);
int main(void){
int x, y, z;
scanf("%d", &x);
scanf("%d", &y);
z = gcd(x, y);
printf("%d\n", z);
}

int gcd(int a, int b){
int c;
while (b > 0){
c = a % b;
a = b;
b = c;
}
return a;
}


100 名前:22 mailto:sage [2008/06/10(火) 05:12:14 ]
結構プログラムを書き換えましたが、以前さっぱりです・・・
いつでもいいので、どうかよろしくお願いします。

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6850.txt

101 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 05:43:56 ]
>>21
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <unistd.h>
int main(void) { pid_t c[2], p; int s;
switch (c[0] = fork()) { case -1: perror("fork"); break;
case 0: execlp("./fork1", "fork1", NULL); perror("fork1"); _exit(1); /* NOTREACHED */
default: break; }
switch (c[1] = fork()) { case -1: perror("fork"); break;
case 0: execlp("./fork2", "fork2", NULL); perror("fork2"); _exit(1); /* NOTREACHED */
default: break; }
while (c[0] != -1 || c[1] != -1) { int i;
if ((p=wait(&s)) == -1) { perror("wait"); break; }
else for (i = 0; i < 2; i++) if (p==c[i]) {
if (WIFEXITED(s)) printf("fork%c exit(%d)\n", i+1, WEXITSTATUS(s));
else if(WIFSIGNALED(s)) printf("fork%c killed(%d)\n", i+1, WTERMSIG(s));
c[i]=-1;break; }
if (i==2) {fprintf(stderr, "?\n"); break;}}
return 0; }


102 名前:101 mailto:sage [2008/06/10(火) 05:45:59 ]
どうして 「backslash n」が消えるんだ???

103 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 05:57:44 ]
>>102
ソースを貼るのには適さないんだし、行が多い場合はテキストファイルを
ここ用のロダにあげなよw

104 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:17:36 ]
学科の出席簿作成。
15人分の学生を表示し、入力により内容を変動させる。
表示順番:出席表
<入力>学生番号0〜14
<入力>曜日番号0〜6
<入力>時限番号0〜3
<入力>出欠番号0〜1
<入力>学生番号0〜14の時に99を入力するとプログラム終了。


105 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:17:59 ]
ここまでは自力でできた。
#include <stdio.h>

int main()
{
int gakusei,youbi,jigen,syukketsu;

printf("学生Noを入力してください----");
scanf("%d", &gakusei);
printf("曜日番号を入力してください----");
scanf("%d", &youbi);
printf("時限番号を入力してください----");
scanf("%d", &jigen);
printf("出欠番号を入力してください----");
scanf("%d", &syukketsu);

if(gakusei=99){
printf("学生番号は99以外の数字を入力してください。\n");
}
if(gakusei>=0||gakusei<=14 || youbi>=0||youbi<=6 || jigen>=0||jigen<=3 || syukketsu>=0||syukketsu<=1){
printf("学生No%d\n",gakusei);
printf("月曜日\n");
printf("時限番号%d\n",jigen);
printf("出欠番号%d\n",syukketsu);
}else{
printf("エラーです\n");
}
return 0;
}

106 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:05:18 ]
>>101
forkしてexecか。なる。
出題者じゃないが勉強になった。



107 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:20:46 ]
そういう事柄に関しては
小耳に挟んだ
ということと
勉強になったということは
根本的に違うということは区別しようね。

108 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:28:22 ]
それにして、インデントがないと、ソースが読みにくい(><)

109 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:33:35 ]
まあ手元ソース書く場合はメモ帳とか使うんだろうからせめて
TAB1個->全角スペース3個とかで置換かけてから投下しようよw
それがあれならアップローダーにあげるとかさ・・・

110 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:33:57 ]
>>5の問題の補足なんですが

円の中心に原点をおくと、格子点はi,jを整数として座標(i,j)で表される。(i,j)が円環に含まれる場合に1,含まれない場合に0を返却する関数
is_inrarge(double r, int i, int j)
を作成し、これを用いて、半径Rをキー入力することでn(R)を表示するプログラムを作成しなさい。

とのことなのでこれを踏まえてもう一度この問題の解答をお願いします。

111 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 12:53:24 ]
>>109
全角はねーよw

112 名前:デフォルトの名無しさん [2008/06/10(火) 13:05:53 ]
[1] 授業単元: C++
[2] 問題文キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。
ただし入力される数値が2以上でない場合、繰り返し入力を求めること。[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: C++
([[4] 期限:今日の5時mで
[5] その他の制限:なし

113 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:07:32 ]
>>110
#include <stdio.h>

int is_inrange(double r, int i, int j)
{
return r * r >= i * i + j * j;
}

int main(void)
{
int i, j, r, count = 0;

scanf("%d", &r);

for(i=-(r+1); i<=r+1; i++) {
for(j=-(r+1); j<=r+1; j++) {
if(is_inrange(r+1, i, j)&&!is_inrange(r, i, j)) count++;
}
}

printf("%d", count);

return 0;
}

114 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:08:44 ]
そういうオープンな問題が出るわきゃないだろ
出した講師か教師が糞
2^2^1024-1が素数かも判定しなきゃならなくなる罠

115 名前:ルート mailto:sage [2008/06/10(火) 13:11:11 ]
[1] 授業単元: プログラミング C言語
[2] 問題文(含コード&リンク): 【課題】
                BMPファイルを読み込み、以下の処理を行って下さい。

                @2値化(白黒画像) 閾値は指定できること
                Aディザ法による2値化
                B誤差拡散法による2値化
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++
 [3.3] 言語: C
[4] 期限: 〜6月13日0:00
[5] その他の制限: 無い


116 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:12:25 ]
なんか、ここを見てるとプログラミングを嫌いにさせたいのか
と思うような出題内容が多いよな。

まあIT業界は悲惨なので学生時代に嫌いにさせておいて
就職口から外す講師の親心なのかもしれないけどw

ってそれはねーかw



117 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:18:15 ]
口だけクンががんばってるなw

118 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:19:34 ]
@
[1] 授業単元: C++
[2] 問題文 キーボードから2以上の整数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。
ただし入力される数値が2以上でない場合、繰り返し入力を求めること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C++
[4] 期限: 6月10日
[5] その他の制限: なし
A
[1] 授業単元: C++
[2] 問題文 直角三角形の表示を行うフローチャートは左下が直角の直角三角形を表示するプログラムであった。直角が左上側、右上側、右下側の三角形を表示するプログラムをそれぞれ作成せよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C++
[4] 期限: 6月17日
[5] その他の制限: なし

お願いします。

119 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:24:22 ]
書くだけクンが大きなこと言えるのかなw

120 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:24:34 ]
>>112
#include <iostream>

int main(void)
{
int n, flag = 1;

do {
std::cout << "2以上の整数を入力してください:";
std::cin >> n;
}while(n < 2);

for(int i = 2; i*i<=n; i+=2) {
if(n % i == 0) {
flag = 0;
break;
}
}


std::cout << n << "は素数" << (flag ? "です" : "ではありません") << std::endl;
}

121 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:32:01 ]
2以上の素数を入力して下さい 15
15は素数です

122 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:32:56 ]
ミスった
i+=2 → i++

123 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:33:47 ]
>>118
#include <iostream>

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

std::cin >> n;

//左上
for(i=n; i>0; i--) {
for(j=i; j>0; j--) std::cout << '*';
std::cout << std::endl;
}
//右下
for(i = 0; i<n; i++) {
for(j=1; j < n - i; j++) std::cout << ' ';
for(j=0; j<=i; j++) std::cout << '*';
std::cout << std::endl;
}

//右上
for(i=0; i<n; i++) {
for(j=0; j<i; j++) std::cout << ' ';
for(j=n; j>i; j--) std::cout << '*';
std::cout << std::endl;
}
}

124 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:44:20 ]
2以上の素数を入力して下さい:2
2は素数ではありません

125 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 13:50:00 ]
>>124
バカ発見

126 名前:デフォルトの名無しさん [2008/06/10(火) 14:02:11 ]
[1] 授業単元: プログラミング C言語
[2] 問題文(含コード&リンク)課題:ファイル"test.txt"から文字列を読み込み、並びを逆にしてファイル"sample.txt"に出力するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
 [3.3] 言語: C
[4] 期限: 〜6月11日11:00
[5] その他の制限: ポインタを使う




127 名前:110 mailto:sage [2008/06/10(火) 14:10:22 ]
>>113ありがとうございます

128 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 14:15:28 ]
>>126
#include <stdio.h>
void f(FILE *in, FILE *out)
{
int ch = fgetc(in);
if(ch==EOF) return;
f(in, out);
fputc(ch, out);
}

int main(void)
{
FILE *f_in, *f_out;

if((f_in=fopen("test.txt", "r"))==NULL) return 0;
if((f_out=fopen("sample.txt", "w"))==NULL) return 0;

f(f_in, f_out);

fclose(f_in);
fclose(f_out);

return 0;
}

129 名前:デフォルトの名無しさん [2008/06/10(火) 14:31:41 ]
>>128
正しく実行できません。


130 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 14:37:33 ]
>>126
int main(void) {
FILE* in;
FILE* out;
int c;
char ss[1024];
int i = 0;
in = fopen("test.txt", "r");
if (in == NULL) {
return -1;
}
out = fopen("sample.txt", "w");
if (out == NULL) {
return -1;
}
while ((c = fgetc(in)) != EOF) {
ss[i] = c;
i++;
}
ss[i] = '\0';
i--;
while (i >= 0) {
fputc(ss[i], out);
i--;
}
fclose(in);
fclose(out);
return 0;
}

適当すぎたorz

131 名前:130 mailto:sage [2008/06/10(火) 14:39:26 ]
おかしかったら自分でなんとかして。
結構、初心者向けに書いたつもりなので

132 名前:20 mailto:sage [2008/06/10(火) 15:38:13 ]
>>41>>41
int pattern1(double a, double b, double c){
int x, y;
y=(a-2*c)/(sqrt(3.)*c)+1;
x=b/(2*c);
return x*y-((b-x*2*c<c)?y/2:0);;
}
すみませんがここの処理が何をやってるのかわからないのですが
説明していただけませんか?

133 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 15:38:36 ]
[1] 授業単元:
Cプログラミング
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6813.txt
の課題2をお願いします
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)

[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明後日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特にありません

134 名前:デフォルトの名無しさん [2008/06/10(火) 15:41:55 ]
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク):小さい順の友愛数ペア10組を探し出すプログラムをつくれ。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++
[4] 期限:2008年6月17日14:40まで
[5] その他の制限:for,while,if文ぐらいしか習ってません。
  main関数のみでお願いします。
  参考プログラム:約数の和の計算
#include <stdio.h>

void main()
{
int m; /* 整数 */
int n; /* 1〜m まで繰り返す */
int s; /* 約数の和(累計) */

scanf("%d", &m); /* キーボードから整数を読み込む */

s = 0; /* s の内容をクリア */
for (n = 1; n <= m; n++) { /* 1〜m まで繰り返す */
if (m % n == 0) /* 約数の判定 */
s += n; /* 約数であれば s に足す */
}

printf("整数%dの約数の和は%dです。\n", m, s); /* 約数の和の画面表示 */
}

よろしくお願いします。



135 名前:デフォルトの名無しさん [2008/06/10(火) 15:48:26 ]
[1] 授業単元: C++
[2] 問題文次々に入力される値を合計する処理である。
変数dtにデータを入力する処理を繰り返し行い、
入力終了後その合計sumと平均aveを出力する。
なお、入力データは正の整数とし、
入力するデータがなくなったら、
終わりの印として負の値を入力する。
【ヒント】
平均の計算は、合計÷入力回数。
入力回数も変数を用意して数える。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C++)
[4] 期限: ([2008年06月24日午後5時までまで] )
[5] その他の制限:なし

136 名前:ルート mailto:sage [2008/06/10(火) 16:02:29 ]
>>115 よろしくおねがいします




137 名前:デフォルトの名無しさん [2008/06/10(火) 16:02:34 ]
[1] 授業単元: C++
[2] 問題文 次の処理を行うプログラムを作成しなさい。

キーボードから入力した2進数を
10進数に変換して出力する。
ただし,入力が2進数でなかった場合
エラーメッセージを出力して最初からやりなおす。


【実行例】
2進数を入力してください 10101
21

2進数を入力してください 12345
エラー(2進数ではありません)


[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: (C++)
[4] 期限: ([2008年06月24日午後5時までまで] )
[5] その他の制限:なし
お願いします

138 名前:21 mailto:sage [2008/06/10(火) 16:07:41 ]
>>101
ありがとうございました。
来週テストということもあり、前回のプログラムも含めて復習してみます。
本当にありがとうございました。

139 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 16:18:36 ]
>>135
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {

char input[1024];
int temp = 0;
int dt = 0;
int count = 0;

gets(input);
while ((temp = atoi(input)) >= 0) {
count++;
dt += temp;
gets(input);
}

printf("合計:%d\n", dt);
printf("平均:%d\n", dt / count);

return 0;
}

140 名前:デフォルトの名無しさん [2008/06/10(火) 17:26:47 ]
[1]データ構造(C言語)
[2]以下のようなstudent構造体の配列をプログラム内に定義しておく。

struct student{
int num;
char name[20];
int score;
};
struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}};

このデータをfprintf()を用いてファイルに出力するプログラムを作成せよ。またcatコマンドなどにより出力し、内容が正しいことを確認せよ。
[3]OS Linux
言語 C
[4]10日18時
[5]なし


おねがいします。

141 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:33:54 ]
>>134
#include <stdio.h>

int f(int n)
{
int i, s = 0;
for(i=1; i<=n/2; i++) if(n % i == 0) s += i;
return s;
}

int main(void)
{
int i, j, cnt = 0;

for(i=1; cnt < 10; i++) {
j = f(i);
if(j > i && i == f(j)) {
printf("%d, %d\n", i, j);
cnt++;
}
}

return 0;
}


142 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:43:09 ]
>>137
#include <iostream>

using namespace std;

int main()
{
int i, n = 0;
char buff[256], *p;
while(1) {
cout << "2進数を入力してください ";
cin >> buff;
for(p=buff; *p; p++) if(*p!='0' && *p!='1') break;
if(!*p) break;
cout << "エラー(2進数ではありません)" << endl;
}

for(p=buff; *p; p++) n = n * 2 + *p - '0';

cout << n << endl;
}

143 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:44:02 ]
>>140
struct student {
int num;
char name[20];
int score;
};
int main(void) {
FILE* fp = fopen("aaa.txt", "w");
int i = 0;
struct student St[]={{3, "鈴木三郎", 86}, {1, "山田一郎", 75}, {14, "高橋十四子", 93}, {2, "田中二子", 68}};
struct student st;
if (fp == NULL) {
return -1;
}
for (; i < 4; i++) {
strcpy(st.name, St[i].name);
st.num = St[i].num;
st.score = St[i].score;
fprintf(fp, "番号:%d 氏名:%s スコア:%d\n", st.num, st.name, st.score);
}
fclose(fp);
return 0;
}
Cで動くかしらんけど。

144 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:44:25 ]
>>133
一応動くけど初心者なので責任は取れない

暇な人は添削を m( __ __ )m

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

145 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:50:27 ]
あ、include載せ忘れてる。

ま、いっか。
それくらい自分でなんとなしてくれ。

146 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 18:15:56 ]
>>141
main関数のみでお願いします。
せっかくやってもらった立場でそうと言いにくい
>>134に代わって御願いします



147 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 18:40:06 ]
>>144
ほんとありがたいです。ありがとうございました!

148 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:11:37 ]
>>134
#include <stdio.h>

int main(void)
{
int i, j, cnt = 0, m, n;

for(i=1; cnt < 10; i++) {
n = 0;
for(j=1; j<=i/2; j++) if(i % j == 0) n += j;

if(n > i) {
m = 0;
for(j=1; j<=n/2; j++) if(n%j ==0) m += j;
if(m == i) {
cnt++;
printf("%d, %d\n", i, n);
}
}
}

return 0;
}


149 名前:デフォルトの名無しさん [2008/06/10(火) 19:34:18 ]
>>148 様
ありがとうございます

150 名前:デフォルトの名無しさん [2008/06/10(火) 19:44:13 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1.2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/clip.gif

151 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:44:42 ]
>>150
ワロタw

152 名前:デフォルトの名無しさん [2008/06/10(火) 19:45:31 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
1.2の補数を用いて負の数も扱えるように拡張せよ.
2.2つの2進数の差を求めるプログラムを作成せよ.
3.任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++
[4] 期限:2008年06月11日まで
[5] その他の制限:このプログラムを基にお願いします。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6853.txt

153 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:45:35 ]
盛大な釣りですね

154 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:49:42 ]
[1]プログラミング
[2]問題文
警報をno回鳴らす関数void alart(int no)をメイン文も含め作る。
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。

155 名前:デフォルトの名無しさん [2008/06/10(火) 20:12:43 ]
>>150 >>152 です

すみません><

156 名前:Ctrl+Gがどうしようもないや mailto:sage動くかな [2008/06/10(火) 20:16:15 ]
void alart(int no);
int main(void){
int no=0;
alart(no);
return 0;
}

void alart(int no){
if(no);
system("echo 数字を入力してください");
system("set /p no=");
system("for /l in (1,1,%no%) do echo ^G");
system("set no=");
}




157 名前:デフォルトの名無しさん [2008/06/10(火) 20:31:48 ]
[1] 授業単元:プログラミング演習

[2] 問題: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6854.txt
 [3.1] OS: WindowsXp
 [3.2] コンパイラ名とバージョン:visualstdio 2008
 [3.3] 言語:C++
[4] 期限:6月13日
[5] その他の制限:なし。

   よろしくお願いします.

158 名前:scanfの戻り値に自信なし mailto:sage真面目に [2008/06/10(火) 20:47:52 ]
>>154
#include <stdio.h>
void alart(int no);
int main(void){
int ret=0;
int no=0;
printf("数字を入力して下さい");
scanf("%d",&no);
if(ret){
puts("数字っつったろぼけ");
return 1;
}
alart(no);
return 0;
}
void alart(int no){
int i=0;
for(i=0;i<no;i++){
printf("\a");
}
}

159 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:51:19 ]
自信ないのに意味不明なコード書くのはバカ

160 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:52:08 ]
コード書かないのはバカですね
分かります

161 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:54:17 ]
man よめよ

162 名前:158 mailto:sage [2008/06/10(火) 20:56:36 ]
やべぇ
否定し忘れてる!!
if(!ret){


>>159
あ?しねよ
scanfの戻り値なんか見たことないだろ

163 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:58:43 ]
私のためにケンカしないで><

164 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:01:18 ]
/*ここまで俺の自演*/

165 名前:デフォルトの名無しさん [2008/06/10(火) 21:07:16 ]
[1] 授業単元: プログラミング C言語
[2] 問題文(含コード&リンク)課題:
      ファイル"test.txt"から文字列を読み込み、並びを逆にしてファイル"sample.txt"に出力するプログラムを作成せよ。
[3] 環境
コンパイラ名とバージョン:Microsoft Visual Studio 2005
言語: C
[4] 期限: 〜6月11日
[5] その他の制限: ポインタを使う


166 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:08:22 ]
>>165
ファイルポインタじゃ、ダメだった?



167 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:11:41 ]
ここは、使えないPGを育成するスレですか?


といてもらって、お礼もいわんとは

168 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:14:55 ]
>>167
あえて言おう

ここは2ちゃんねる



久しぶりに言った

169 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:16:33 ]
同じ質問を再度行う場合も非常に見にくいことが多い。
前回依頼時へのポインタを示してくれればそこからいろいろたどれるのに。

具体的には>>165>>126へ貼ってくれさえいればダメだったらしい
回答であるところの>>130がすぐ見れたわけだ。

もう少し考えていただければと思う。

170 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:17:15 ]
釣られてどうする

171 名前:デフォルトの名無しさん [2008/06/10(火) 21:17:53 ]
>>166
ファイルポインタは大丈夫みたいなんですが、
while ((c = getc(in)) != EOF)
などが上手く動作しないみたいで困ってます。

172 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:19:45 ]
>>171
>while ((c = getc(in)) != EOF)
        ~~~~~
fgetcじゃなくて?

173 名前:デフォルトの名無しさん [2008/06/10(火) 21:19:54 ]
>>169
次からそうします。
失礼しました。

174 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:20:10 ]
質問者は名前欄にレス番号を記入すべきだとも思う。

175 名前:デフォルトの名無しさん [2008/06/10(火) 21:26:29 ]
>>172
fgetcです。
文字列の書き込みや出力の部分がとんで動作しているみたぃです。

176 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:33:15 ]
>>157
気づけば大元のソースが見る影もなくなっていた

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6855.cpp



177 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:33:34 ]
test.txtの置き場所間違ってないか?

178 名前:157 [2008/06/10(火) 21:37:51 ]
>>176

ありがとうございます。






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

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

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