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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:55:25 ]
あなたが解けない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++の宿題を片付けます 102代目
pc11.2ch.net/test/read.cgi/tech/1197132472/

352 名前:デフォルトの名無しさん [2008/01/20(日) 22:33:36 ]
[1] 授業単元:C言語
[2] 問題文
1つ以上の空白文字で区切られた英文を半角文字列として入力し、空白文字
を区切りとし分解して表示する。以上の動作をNULLが入力されるまで繰り返
すプログラムを作成しなさい。
@文字列の入力にはgets関数を使用すること。また、最大で80文字
 までしか入力されないものとする。
A空白文字かどうかは文字検査関数(is・・・)を使用して調べること。
B半角文字しか入力されないもとする
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:VisualStudio2005
 [3.3] 言語: C
[4] 期限:なし
[5] その他の制限:

353 名前:shogo [2008/01/20(日) 23:15:54 ]
>>>273
ディフォルトの名無しさんご回答ありがとうございました!
大変参考になりました!!


354 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:27:08 ]
ディフォルトの名無しさんって宿題全部やっちゃってすごいよね

355 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:30:25 ]
>>352
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5836.txt
無駄に長くした。

356 名前:デフォルトの名無しさん [2008/01/20(日) 23:32:25 ]
>>352
空白を複数個入れると表示が見苦しくなるが気にするな。
そうしちゃいけないとは書いていないから。


#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main()
{
char buf[81];
int i;

while(gets(buf)){
if(!strcmp(buf,"NULL"))
break;
for(i=0;buf[i];i++)
putchar(isspace(buf[i])?'\n':buf[i]);
printf("\n\n\n");
}

return 0;
}

357 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:56:04 ]
>>352 では表示が見苦しくならないようにしたものを。先頭に空白が入ってても大丈夫にしてある。
#include <stdio.h>
#include <ctype.h>
#define LMAX 80
main()
{
int i=0;
char str[LMAX+1];
while(gets(str)){;//本当はfgets(str,LMAX,stdin)を使いたい
while(str[i]!='\0'){
if(isspace(str[i])){
if(i>0&&!isspace(str[i-1]))
putchar('\n');
}else
putchar(str[i]);
i++;
}
putchar('\n');
}
}

358 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:09:07 ]
>>352
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5838.txt
なんとなく。

359 名前:269 mailto:sage [2008/01/21(月) 00:33:14 ]
>>333
混乱させていたらごめんなさい、樹形図化とはただの総書き出しのことです。
以下は私のイメージによる、辞書式に総書き出しをした場合の最初と最後の100件ずつ計200行です。

1行は常に25bytesです(Numberの右揃え7桁で7bytes+半角スペース1個で1byte+Combinationの2桁表記数字が6個分と半角カンマ5個分で17bytes)。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5837.txt

これはn2c処理の材料の一例、B.txt(右揃え無し)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5833.txt
これはB.txtにn2c処理をした後=C.txt(Number部分は右揃え7桁になっている)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5834.txt

n2c処理出来るものさえ頂戴出来れば僥倖ですが、c2n処理の材料であるA.txtは以下。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5835.txt
あと、自分でヒントを探した際に理解できなかったのですが(C#だし)考え方のノリとしてはこれです。
www.microsoft.com/japan/msdn/vs/vcsharp/mth_lexicograp.aspx

360 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:36:34 ]
【時間切れ】 (1/20)
>303

【未解決問題】
>>86 1/22
>>335 1/22
pc11.2ch.net/test/read.cgi/tech/1199515728/229 1/31
>79 無期限
>144 無期限 問題文>>148
>278 無期限



361 名前:デフォルトの名無しさん [2008/01/21(月) 00:41:37 ]
Cプログラマ必須テキスト!

mori.eco.to/

362 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:44:15 ]
宣伝するなクソが

363 名前:デフォルトの名無しさん [2008/01/21(月) 01:06:33 ]
>>355>>358
Thanks!!

364 名前:デフォルトの名無しさん [2008/01/21(月) 01:43:30 ]
ここって仕様書のせたらプログラム作ってくれますか?(゚゚)
もしだめなら仕様書のせてプログラム作ってくれるスレ教えてくだされ(ノ_・。)

365 名前:デフォルトの名無しさん [2008/01/21(月) 01:46:29 ]
>>364
無償では誰もやらないと思うYO!

366 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:50:05 ]
スレ立てればいいじゃん

367 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:53:00 ]
仕事代行スレ?面白そうだね。
作るならJAVAやC#その他言語もOKなスレにして欲しいな。
【無料】仕事代行ギコ猫商会【無保証】
猫の手を借りたいほど忙しい人が、プログラム好きの猫たちに仕事を依頼するスレです。
猫たちは気紛れなので、依頼を受け無い時もあります。途中で投げ出すかも知れませんし
出来たとしても猫たちの能力はまちまちなので品質は保証できません。
また、倫理や契約に違反する可能性がありますので十分注意してください。

まあ利用できるのは、個人ぐらいだろうな。企業とかでこんな所に仕事を投げたのが
ばれたら大変な事になりそう。

368 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:06:34 ]
>>359
ロト6のできたよ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5842.txt
何に使うのか気になるなw


369 名前:348 mailto:sage [2008/01/21(月) 03:21:22 ]
スイマセン勘違いしてました
ところで250の
printf("input (e.g. ****/**/**)\n>>");
の意味がわからないのですが・・・

370 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:27:15 ]
>>369
いや、"input (e.g. ****/**/**)\n>>"って表示するだけのことだろ。
****/**/**は年/月/日で入力しろってことでしょ



371 名前:348 mailto:sage [2008/01/21(月) 03:38:29 ]
>>370
ありがとうございます!
助かりました!

372 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 04:03:55 ]
>>272
面白そうなので、ちょっとやってみた。
期限過ぎてるし、手元に開発環境がなくてrubyだしで
スレ違いすまん

--
def create(n)
 if n < 2
  return "<>"
 else
  strs= create(n-1)
  result = []
  strs.each do |str|
   result.push "<"+ str +">"
   result.push str +"<>"
  end
  return result
 end
end

create(ARGV.shift.to_i).each { |str| print str, "\n"}
--

373 名前:269 mailto:sage [2008/01/21(月) 04:10:06 ]
>>368
おお…おお!ありがとうございます!!
たった10文字だけど、他に表現できる言葉を知らないので、もう一度「ありがとうございます」

374 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 04:13:44 ]
>>372
スクリプト系だと結構楽にかけそうなんだよね。
Cだと、リストと文字列処理が貧弱すぎて泣ける

375 名前:デフォルトの名無しさん [2008/01/21(月) 09:39:31 ]
1] 授業単元: プロ基礎
[2] 問題文(含コード&リンク):ある金額を入力し、その金額のお金の種類と数(1万円札〜1円玉)を求めるwhile文を作れ。
[3] c言語
[4] 期限:今
[5] その他の制限:ど基礎。for,while程度


よろしくお願いします。

376 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 09:43:34 ]
>[4] 期限:今

377 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 09:44:10 ]
じゃあもう期限切れだな残念

378 名前:375 [2008/01/21(月) 09:47:12 ]
自動販売機のおつりみたいなものです

379 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 09:57:51 ]
なぜループさせる必要があるのか、おじさんに分かるように教えてくれ

380 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:03:26 ]
>>364
そんなスレあったら俺が依頼したいww



381 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:17:45 ]
#include <stdio.h>
int main(void) {
int N=147568,a=10000;
while(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=2;
if(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=5;
}
}
return 0;
}

382 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:22:53 ]
[1] 授業単元: 基礎プログラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5843.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 今日の24時まで
[5] その他の制限:
長いプログラムになっても構わないので、
if文やfor文などの初歩的な関数を使いまくる感じでお願いします

383 名前:382 mailto:sage [2008/01/21(月) 10:24:37 ]
すみません、最後の構造体のは氏名はローマ字表記でも大丈夫です

384 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:27:15 ]
>>381
なるほど、そういう風にwhileを使うのか・・・全然思いつかなかった・・・・・orz

385 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:05:48 ]
>>382
#include <stdio.h>

struct student {
char name[32];
int ID;
int score;
};

int main(void) {
int i,j,x;
char buf[32];
struct student s[5];

for(i=0;i<5;i++) {
printf("氏名:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%s",&s[i].name);
printf("ID:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].ID);
printf("点数:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].score);
}
printf("何点以上?:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&x);
for(i=0;i<5;i++) if(s[i].score>=x) printf("%s ID:%d %d点\n",s[i].name,s[i].ID,s[i].score);
return 0;
}

386 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:28:44 ]
>>86
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5823.c


387 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:57:00 ]
>>382の1
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5845.c

388 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:13:09 ]
>>387の修正版
#include<stdio.h>
long get_power(long base, int expt);
int main(int argc, char *argv[]){
int base, expt;
long power_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
base = atoi(argv[1]);
expt = atoi(argv[2]);
if(expt < 0){
fprintf(stderr, "input error\n");
return 1;
}
power_out = get_power(base, expt);
printf("%d^%d = %ld\n", base, expt, power_out);
return 0;
}
long get_power(long base, int expt){
if(expt == 0) return 1;
if(expt % 2 == 0){
expt /= 2;
base *= base;
return get_power(base, expt);
}else{
expt -= 1;
return base * get_power(base, expt);
}
}

389 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:27:02 ]
>>382の2
#include<stdio.h>
int get_gcd(int num1, int num2);
int main(int argc, char *argv[]){
int num1, num2;
int gcd_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
num1 = atoi(argv[1]);
num2 = atoi(argv[2]);
if(num2 < 0){
fprintf(stderr, "input error\n");
return 1;
}
gcd_out = get_gcd(num1, num2);
printf("GCD(%d,%d) = %d\n", num1, num2, gcd_out);
return 0;
}
int get_gcd(int num1, int num2){
if(num1 == num2) return num1;
if(num1 > num2){
return get_gcd(num1-num2, num2);
}else{
return get_gcd(num1, num2-num1);
}
}

390 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 15:27:31 ]
【質問テンプレ】
[1] 授業単元:プログラミングC++
[2] 問題文(含コード&リンク):
以下のデータを空白を区切りとしてキーボードから入力して
配列に読み込み、英語のアルファベット順に並び替えよ。
ただし、文字列の大きさの比較にはstrcmp関数を
文字列の入れ替えにはstrcpy関数を利用しなさい。

日本語   英語   味わい月
鯖    mackerel 10
新巻鮭  salmon 12
岩魚 charr 7
牡蛎   oyster 2
帆立貝 scallop   1

正答動作画像
www-2ch.net:8080/up/download/1200896566698764.Kngz6w


[3] 環境
 [3.1] OS: WindowsXP 
[3.2] Microsoft Visual C++
 [3.3] C++
[4] 期限: 2008年1月23日18:00まで
[5] その他の制限:strcmpとstrcpyを利用したソートをさせるのが問題の主眼かなと思います。

よろしくお願いします。



391 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:06:20 ]
[2] 問題文:最長文字列の検出
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] gcc 3.4
 [3.3] 言語:C

カンマで区切った単語を入力してその中で一番長い文字列を表示させる。

単語を入力してください:1,10,10,1000
最長文字列は1000です。

strtokでカンマごとに切断することは出来たのですがそこからどうすればいいか分かりません。
よろしくお願いします。

392 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:10:23 ]
strtok()で区切った文字列を配列に突っ込んでstrlen()で長さを数えればいい

393 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:53:14 ]
すいません、よく分からないです・・・無知ですいません。

394 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 18:36:29 ]
>>391
#include <stdio.h>
#include <string.h>
int main()
{
int i = 0, max = -1, max_i = -1;
char buf[200], *p, *tmp[100];

printf("単語を入力してください:");
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%s", buf);
for (p = strtok(buf, ","); p != NULL; i++)
{
int len = strlen(p);
if (max < len)
{
max = len;
max_i = i;
}
tmp[i] = p;
p = strtok(NULL, ",");
}
printf("最長文字列は%s", tmp[max_i]);

return 0;
}

395 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:24:02 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5847.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008/01/27 23:59
[5] できれば配列とforメインでおねがいします

396 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:45:45 ]
#include <stdio.h>

int main () {

int y, m, d, sum = 0;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char *week[7] = {"日", "月", "火", "水", "木", "金", "土"};
printf("input (e.g. ****/**/**)\n>>");

スイマセン、このinputとe.gの意味がわかりません

397 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:49:15 ]
おめーはぷりんとfもわかんねーのかよ

398 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:59:56 ]
inputは、えいごでにゅうりょくっていみだよ
e.gは、らてんごでたとえばっていみだよ

399 名前:デフォルトの名無しさん mailto:age [2008/01/21(月) 21:14:09 ]
[1] 授業単元:基礎プログラミング
[2] 問題文(含コード&リンク):オンラインゲームを作成せよ。
ラグナロクオンラインやリネージュのようなオンラインゲームを
作成してみよう。データを送信するのに必要なライブラリ等は各自
調べておくこと。またDirectXを使用すること。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio2005
 [3.3] 言語: C++
[4] 期限: 2008/2/1 23:59
[5] できれば3DのデータをMAXやMAYA、Shade等で作成する。


400 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 21:16:06 ]
>[1] 授業単元:基礎プログラミング



401 名前:デフォルトの名無しさん mailto:age [2008/01/21(月) 21:30:47 ]
>>399 なんとか完成したぞよ

#include <stdio.h>

int main(void)
{
char input[100];

printf("******ログイン画面******\n");
printf("UserID:");
scanf("%s",input);
printf("Password:");
scanf("%s",input);
printf("@@@@ログイン完了@@@@\n\n");

//roop for ever
while(1){
printf("チャット発言:");
scanf("%s",input);
printf("\n ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("( ´∀`)< %s\n",input);
printf("(   ) \______________\n");
printf(" | | |\n");
printf("(__)_)\n\n");
}

return 0;
}


402 名前:デフォルトの名無しさん mailto:age [2008/01/21(月) 21:39:40 ]
>>399 ごめ、C++だったか!
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string input;

cout<<"******ログイン画面******"<<endl;
cout<<"UserID:";
cin>>input;
cout<<"Password:";
cin>>input;
cout<<"@@@@ログイン完了@@@@\n"<<endl;

//roop for ever
while(1){
cout<<"チャット発言:";
cin>>input;
cout<<endl;
cout<<" ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"<<endl;
cout<<"( ´∀`)< "<<input<<endl;
cout<<"(   ) \______________"<<endl;
cout<<" | | |"<<endl;
cout<<"(__)_)\n"<<endl;
}

return 0;
}


403 名前:デフォルトの名無しさん mailto:age [2008/01/21(月) 21:43:02 ]
俺が見る限り >>400 と >>401 は間違ってるな
これが正解だw

#include <iostream>
#include <string>

int main(void)
{
std::string input;

while(true){
std::cout<<"******ログイン画面******"<<std::endl;
std::cout<<"UserID:";
std::cin>>input;
std::cout<<"Password:";
std::cin>>input;
std::cout<<"IDまたはパスワードが違います\n"<<std::endl;
}

return 0;
}


404 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:26:06 ]
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):()
自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。
ただし,下記の条件を満たすこと。
<条件>
自動販売機で購入できる「商品」,「お金」,「自動販売機」は最低限クラス化すること。
「カプセル化」,「継承」,「多様性」を全て利用すること。
例外処理をすること(プログラムが頓挫した時点でNGとします)。
入出力は,下記のとおり行うこと。

【入力】
・お金(10円〜1000円)の個数(枚数)   
・購入商品選択(複数可)    
【出力】
・つり銭(10円〜100円)の個数(枚数)と総購入代金
・購入商品名(複数)


実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy( )メンバ関数を呼び出したら全てが動作するようにする。

※条件以外に動的メモリ,ファイル入出力などを用いて自動販売機の機能が拡張されるほど良い。ただし,明らかに無駄なコードを追加して機能を増やしている場合はその限りではありません。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] visual studio 2005
 [3.3] 言語: C++
[4] 期限: 2008/1/25まで
[5] その他の制限: 特に無し。
よろしくお願いします。

405 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:28:22 ]
【時間切れ】 (1/21)
なし

【未解決問題】
>>335 1/22

>>390 1/23 18:00
>>404 1/25
>>395 1/27 23:59
pc11.2ch.net/test/read.cgi/tech/1199515728/229 1/31
>>399 2/1 23:59
>79 無期限
>144 無期限 問題文>>148

406 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:30:21 ]
#include<stdio.h>
#define N 1;

typedef struct{


}Record;

void inputData(int n, Record r[]);
void outputData(int n, Record r[]);
void calcBMI(int n; Recordr[]);


int main(void)
{
Record rrr[N];

int i;

printf("%d人まで処理します",N);
for(i=0;i<N;i++){
inputData(i,rrr);
outputData(i,rrr);
calcBMI(i,rrr);
printf("\n");
}

return 0;
}


407 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:30:45 ]
/*inputData関数の定義*/
void inputData(int n, Record r[]){
printf("%d人目の入力\n",n+1);
printf("名前は? →");scanf("%s", r[n].personal);
printf("生年月日は?(8桁)→");scanf("%s", r[n].birth);
printf("身長は?(cm) →");scanf("%lf", &r[n].height);
printf("体重は?(cm) →");scanf("%lf", &r[n].weight);
}
/*outputData関数の定義*/

/*calcBMIの定義*/


実行結果は
1人まで処理します
1人目の入力
名前は?     →hoge
生年月日は?   →19700917
身長は(cm)?   →174.5
体重は(kg)?  →69.5
1人目の出力
名前は      hoge
生年月日は 1970年09月17日
身長は  174.50cm
体重は  69.50kg
1人目のBMIは  22.82


Record型構造体の定義とoutputData関数の定義とcalcBMIの定義がよくわからないのですがどなたかわかりませんか?
BMIの計算内にはpower関数を利用しなくてはいけないんですが


408 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:45:51 ]
すいませんテンプレもつかわずに・・
[1] 授業単元:C実習
[2] 問題文(含コード&リンク):()
キーボードから氏名、生年月日、身長、体重をそれぞれよみこんでRecord構造体変数に格納し
そのデータからBMIを計算し同じ構造体メンバに格納し、画面に表示するプログラム
氏名、生年月日、身長、体重、BMIをメンバとする構造体Recordを定義する
なおBMIは次の計算で求められる
BMI=体重(kg)/身長^2(m)
BMIの計算には、power関数も利用し、また、身長の入力単位がcmであることに注意する

[3] 環境
 [3.1] OS: Windows vista
 [3.2] visual studio 2005
 [3.3] 言語: C
[4] 期限: 2008/1/22まで
[5] その他の制限: 特に無いです

よろしくおねがいします

409 名前:デフォルトの名無しさん [2008/01/21(月) 23:16:08 ]
2つの整数を入力して、最大公約数と最小公倍数を
求めなさい。

このプログラムをお願いします。

410 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:18:28 ]
前見たな
>>408
>>233



411 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:28:58 ]
>>409
まあ落ち着いて>>1でも読めよ

412 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:40:13 ]
>>410
ありがとうございます。
>>233さんの方法を試してみたのですがじっこうけっかがうまくいかなくて・・

413 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:44:04 ]
>>409
今年のセンター試験2Bでそのプログラムが出たよ
BASICだけど

414 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:45:19 ]
>>412
何が駄目なのかくらい書けよ。

415 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:50:43 ]
関数powが定義されていないのとinputDataの定義を確認してくださいとでます
あと出力のところで〜年〜月〜日とださなければいけないのですがその部分もわからないです


416 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:51:45 ]
includeくらいしろよ。大体printfも書けないなら勉強し直せ

417 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:53:38 ]
includeはしてます・・

418 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:55:07 ]
printfは書けるんですが19700917と打ち込んだのを
1970年09月17日と分けるにはどうすればいいかわからないです

419 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:56:25 ]
char buf[100];
fgets(buf, sizeof(buf), stdin);
printf("%.4s年%.2s月%.2s日\n", buf, buf + 4, buf + 4 + 2);

420 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:11:02 ]
powが定義されてないって出るなら,includeしてないだろ…常考



421 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:22:22 ]
というかどこにも定義してなくないですか?一応powを別に定義したらうまくうごいたんですが
double pow(double a)
{
return a*a;
}
こんなかんじじゃだめですかね?

422 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:24:36 ]
>power関数も利用し
なんだからダメだろ

423 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:27:54 ]
そうですかすいません・・includeはしてあるんで何が原因かわからなくて・・

424 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:30:29 ]
<math.h>をインクルードだろ・・・常識的に考えて・・・

425 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:30:32 ]
#include <math.h>だ。
それとpowerは2乗じゃなく累乗の意。

426 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:30:45 ]
いろいろ動かしたら定義しなくてもふつうに動くようになりましたありがとうございました
知識不足の自分に教えてくださってありがとうございます

427 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:38:02 ]
e.gを使いこなす奴は、論文とかを読みなれてしまった汚い大人。

428 名前:86 [2008/01/22(火) 01:05:39 ]
>>386
ありがとうございました!!
まさか丁度300レス後とはwwww

429 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:07:43 ]
wwwwwwwwww

430 名前:86 [2008/01/22(火) 01:07:57 ]
>>386
な、内容みたら文字化けがwwwwwwwwwwwwwwwwwww

orz



431 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:09:17 ]
>>430
エンコードをEUCにしなさい。

432 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:09:43 ]
for(int i=0; i<50; i++)
  cout << "w";

433 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:09:49 ]
JISコードでおk

434 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:06:13 ]
【質問テンプレ】
[1] 授業単元:情報処理概論
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 22日10時まで

問題文

(ファイルからのデータ入力、ファイルへの出力)
"in_file"という名前のファイルの中に多数の整数データが空白や改行コードで区切られて並んでいると仮定した上で
この入力ファイルのなかのデータを1行に5個ずつ綺麗に並べて"out_file"という名前のファイルに出力するCプログラムを作成せよ。

入力ファイル”in_file"の内容が

_-1111111111______2222222__33333 4444 55 6 7 8 9 0 1 2 3 4
5 6 7890123
のときには次のような内容を出力ファイル”out_file"に書き出す

_-11111111_____22222______333333________4444__________55
_____________6___________7______________8____________9____________0
_____________1___________2______________3____________4____________5
_____________6__7890123



です、よろしくお願いします。

435 名前:434 mailto:sage [2008/01/22(火) 02:08:11 ]
書き込んだらずれてしまいました・・・

「 _ 」はスペースで右揃えに並ぶ感じです。

よろしくお願いします

436 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:10:43 ]
>>394
ありがとうございます。プログラムで見てみるとどういうことだったのかよく分かりました。
もっと勉強していこうと思います!!

437 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 03:34:15 ]
>>390
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5851.txt

C++の単元で"ソートにstrcmp()とstrcpy()を使え"ってホント?
あまりに稚拙なコードで組んでて泣けてきた。

438 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 04:40:37 ]
>>434
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5852.c

strtokをあえて使わない 俺ってそんな男

439 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:41:11 ]
strpbrkって知らなかった。
でも符号の分いれて、%11dの予感。

440 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 07:12:54 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5853.txt
[3] 環境
 [3.1] OS: windowsXP
 [3.2] コンパイラ名とバージョン:gcc3.4
 [3.3] 言語:C言語
[4] 期限:2008年1月23日10時まで
[5] その他の制限:特にないです


どうかよろしくお願いします。



441 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 07:49:05 ]
>>440
うぷろだの5854.txt
規制で携帯からなんでアドレス貼れなくてスマソ

442 名前:デフォルトの名無しさん [2008/01/22(火) 07:51:01 ]
ぼるじょあがC/C++の宿題を片づけますYO! 68代目
このスレと違いはあるのですか?


443 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 07:57:27 ]
答える人が違う

444 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:36:40 ]
>>395
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5855.c

たぶん大丈夫と思う。テストデータの答えがわからないからなんとも言えないけど

445 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:51:32 ]
[1] 授業単元:プログラミングU
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5856.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003
 [3.3] 言語: C
[4] 期限: 2008/1/24
[5] その他の制限:

446 名前:デフォルトの名無しさん [2008/01/22(火) 15:14:04 ]
fp=fopen(argv[1],"w");
buffer=(char *)malloc(buffer_size);
while(fgets(buffer,sizeof(buffer),stdin)){
fputs(buffer,fp);
if(sizeof(buffer)==buffer_size){
buffer=(char *)malloc(sizeof(buffer)*2);
buffer_size=buffer_size*2;
fputs(buffer,fp);
free(buffer);

ファイル入出力プログラムの一部ですが、
sizeof(buffer)では4バイトしか確保できないということに気がつきました。
できるだけプログラムをいじらず入力したサイズを取得する方法はありますか?
ヒントをください。buffer_sizeの初期設定は1000byteです。
strlenでもできませんでした。

447 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 15:29:44 ]
>>446
スレ違い。
初心者スレにでもどうぞ。
その際は何故バッファが必要なのか、その理由を書くことをお推めします。

448 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:30:04 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5859.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual studio 2005
 [3.3] 言語:C
[4] 期限:2008年1月23日
[5] その他の制限:特になし

よろしくお願いします。

449 名前:デフォルトの名無しさん [2008/01/22(火) 16:30:31 ]
>>441さん
ありがとうございました



450 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:33:23 ]
>>445
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5860.txt



451 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:07:10 ]
>>294
有難う御座いますm(_ _)m

452 名前:デフォルトの名無しさん [2008/01/22(火) 18:40:18 ]
>>448
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5861.txt






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

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

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