1 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:21 BE:454421568-DIA(282072)] あなたが解けない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++の宿題片付けます 127代目 pc12.2ch.net/test/read.cgi/tech/1244449887/
75 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:49:01 ] [1] 授業単元: C [2] 問題文(含コード&リンク): キーボードから入力された1以上の整数nについて、次の例に示すように行番号と*を表示するプログラムを作成せよ 。また、0や負の数が入力された場合はプログラムが終了するようにせよ。 表示結果の例 正の整数:6 1****** 2 ***** 3 **** 4 *** 5 ** 6 * [3] 環境 [3.1]linux [3.2] gcc [3.3]C [4]6月29日 [5]繰り返しの課題なので繰り返しまででお願いします。 スペースをどういれたらいいかわからない・・・。
76 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:52:10 ] >>75 ごめん、問題文ミス。 1***** 2 **** 3 *** 4 ** 5 *
77 名前:デフォルトの名無しさん [2009/06/26(金) 05:11:14 ] >>75 #include<stdio.h> int main(void){ int a=1,b,n,i,j,k; printf("n…\n"); scanf("%d",&n); if(n<=0){ return 0; } b=n; for(i=1;i<=n;i++){ for(j=b;j<=n;j++){ printf(" "); } for(k=a;k<=n;k++){ printf("*"); if(k==n)printf("\n"); } b--; a++; } return 0; }
78 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 06:09:38 ] 前スレのプログラムへの質問なんですが、 前スレ675氏のプログラム、 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9553.txt を実行すると、 Usage: exefile 10000 とだけ出力されて終了してしまうのですが、 これは自分の転記ミスなんでしょうか? [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C
79 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 06:28:49 ] >>77 ありがとう。 せっかく作ってくれた所悪い、 問題文のとおり行番号がいるんだ。
80 名前:デフォルトの名無しさん [2009/06/26(金) 06:34:11 ] >>79 #include<stdio.h> int main(void){ int a=1,b,n,i,j,k; printf("n…"); scanf("%d",&n); if(n<=0){ return 0; } b=n; for(i=1;i<=n;i++){ printf("%d",i); for(j=b;j<=n;j++){ printf(" "); } for(k=a;k<=n;k++){ printf("*"); if(k==n)printf("\n"); } b--; a++; } return 0; }
81 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 07:13:02 ] >>78 17s/argc != 2/argc != 3/
82 名前:前675 mailto:sage [2009/06/26(金) 10:16:03 ] >>78 やっちまったみたい、17行目と18行目を、次の2行に置き換えてみて、教えて。 //if(argc != 2) {puts("Usage: exefile 10000"); return 1;} //max_days = atoi(argv[1]); if(argc < 2) max_days = 10000; else max_days = atoi(argv[1]);
83 名前:デフォルトの名無しさん [2009/06/26(金) 16:39:26 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 自分の名前の英字名のASCIIコードを順番に表示するプログラムを作りなさい。 [3] 環境 [3.1] OS: Windows vista [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月01日 [5] その他の制限:特になし どうかよろしくお願いします。僕の能力では作ることができませんでした。
84 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 16:54:23 ] #include <stdio.h> int main() { int i; char name[30] = "Taro Aso"; for ( i = 0; name[i] != '\0'; i++ ) printf("%3d %c", name[i], name[i]); return 0; }
85 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:09:15 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9554.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月1日 17:00 [5] その他の制限:
86 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:10:43 ] >>28 です。 答えてくだっさた方々ありがとうございました。
87 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:12:34 ] >>85 #include<stdio.h> #include<ctype.h> #include<string.h> int main(void){ char code[26][30]={{0}}, buf[30], filename[FILENAME_MAX], alpha; FILE *fp; int moji; scanf("%s\n", filename); fp=fopen(filename, "r"); if(fp==NULL) return 1; while(fscanf(fp,"%c,%[^\n]\n", &alpha, buf)==2){ if(isalpha(alpha)){ strcpy(code[tolower(alpha)-'a'], buf); } } fclose(fp); while((moji=getchar())!=EOF){ if(isalpha(moji)){ printf("%s", code[tolower(moji)-'a']); }else{ putchar(moji); } } return 0; }
88 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:23:31 ] 30って気持ち悪いw
89 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:28:57 ] >>83 #include<stdio.h> #include<ctype.h> int main(void){ char name[]="Nanasi no Gonbee Jr.2"; int i; for(i=0;name[i];i++){ printf("%c:%d\n", name[i], name[i]); } return 0; }
90 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 19:36:17 ] なんでctype.h?
91 名前:デフォルトの名無しさん [2009/06/26(金) 21:55:22 ] >>10 有難うございました!
92 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:25:43 ] [1]数値情報解析 [2]ドゥーリトル法によるLU分解でn元連立1次方程式を解くプログラムを作りなさい。 LベクトルとUベクトルと解ベクトルを表示すること。 [3] [3.1]Windows [3.2]Visual Studio [3.3]C [4]2009年7月1日 [5]ほぼ素人なので、少しでも優しい表現にしていただくようよろしくお願い致します。
93 名前:デフォルトの名無しさん [2009/06/27(土) 00:37:12 ] 前スレ930のものです。 前スレで回答してもらえず、前スレが落ちてしまったのでもう一度質問させてください。 [1] 授業単元:計算機システム構成原理 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9559.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月30日まで [5] その他の制限: 特になし よろしくお願いします。
94 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 00:39:17 ] 長くてめんどくさいだけの課題はやる人あんまりいないよな。
95 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 01:27:02 ] >>93 ftp.gnu.org/gnu/bash/bash-4.0.tar.gz
96 名前: ◆/91kCCQXBo mailto:sage [2009/06/27(土) 02:17:57 ] >>032 LED コンパイルはしてない。0b01111111 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/737.zip
97 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 05:39:00 ] 11 ★pc1つで毎日3万稼ぐ★ ★翌日入金★ ★2009年最新在宅ワーク!★☆ toutou.nantomo.dousetsu.com/
98 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 06:30:45 ] >>27 Dll_BMP_C.h ってのを晒さないと誰もできないぞ (もし Dll_BMP_C.c みたいなのがあったらそれも)
99 名前:デフォルトの名無しさん [2009/06/27(土) 07:24:15 ] >>27 >>98 D_llBMP_C.h kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9560.txt
100 名前:83 [2009/06/27(土) 09:54:43 ] >>84 様 ありがとうございましたm(__)m
101 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 09:56:38 ] >>99 thx DllBmpReadImage()とかの実体のDLLかソースコードもあるとうれしい (というかそれがないとできない)
102 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 10:04:27 ] なんかこのやり取りを良く見る気がする 一般的でないライブラリを使用するときは 一緒にアップしろとテンプレに明記した方がいいんじゃないか
103 名前:デフォルトの名無しさん [2009/06/27(土) 10:11:06 ] >>95 どうみてもbash
104 名前:デフォルトの名無しさん [2009/06/27(土) 10:37:35 ] [1] 授業単元:C言語 [2] 問題文:2つの整数型の変数を入れ替える関数swapを定義して、それを使用して配列中の数字をランダムに入れ替えるプログラムの作成。 1から52までの数が順番に入った配列を用意し、十分に入れ替えた結果を表示すること。 [3] 環境 [3.1] OS: windows [3.3] 言語: C [4] 期限: 7月2日まで [5] その他の制限: 特になし
105 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 10:44:04 ] #include <stdio.h> #include <stdlib.h> void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main(void) { int i, a[52]; srand(time(NULL)); for(i=0; i<52; i++) a[i] = i + 1; for(i=52; i> 0;) { int j = rand() / (RAND_MAX + 1.0) * i--; swap(a+i, a+j); } for(i=0; i<52; i++) printf("%d ", a[i]); return 0; }
106 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 11:30:32 ] >>92 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9562.txt
107 名前:デフォルトの名無しさん [2009/06/27(土) 14:22:30 ] [1] 授業単元 C言語 [2] 問題文 回文の判断をせよ ただ、小文字、大文字の区別はしない、記号、空白も考えない。 例 Madam, I’m Adam Able was I ere I saw Elba この二つの文は回文である。 Ad czv zC Daのような文も回文 [3] 環境 [3.1] OS Windows [3.2] コンパイラ名とバージョン VisualC++ [3.3] 言語 C [4] 期限: 6月29日
108 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:01:45 ] >>107 眠りながら適当に書いた #include<iostream> #include<algorithm> #include<string> #include<cctype> #include<functional> int main(){ std::string line; getline(std::cin,line); std::string tmp = line; tmp.erase(std::remove_if(tmp.begin(),tmp.end(),std::not1(std::ptr_fun(std::isalpha))),tmp.end()); std::transform(tmp.begin(),tmp.end(),tmp.begin(),std::toupper); std::cout << (std::equal(tmp.begin(),tmp.end(),tmp.rbegin()) ? "回文です" : "回文じゃないです") << std::endl; }
109 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:02:35 ] おおっとすまん課題はC言語だったか。適当に書き直すわー
110 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:03:34 ] >>107 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9564.txt
111 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:15:54 ] 書いてるうちに他の人が書いたけど悔しいから出してみる #include<stdio.h> #include<ctype.h> #include<string.h> void copyAlpha(char*dst,const char*src){ while(*dst = *src)if(isalpha(*src++))++dst; } void lowerCase(char*dst){ for(;*dst;++dst)*dst=tolower(*dst); } void reverseStr(char*dst,const char*src){ 0[dst += strlen(src)]=0; while(*src)*--dst=*src++; } int main(){ char src[80],rev[80]; gets(src); copyAlpha(src,src); lowerCase(src); reverseStr(rev,src); puts(strcmp(rev,src)==0 ? "回文です" : "回文じゃないです"); }
112 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 17:44:30 ] ポインタなしver.がないので isalphaの行をどうにかマクロにしたかったw int is_anagram(const char str[]) { int head, tail, len; head = 0; tail = (len=strlen(str))-1; for ( len /= 2; head < len && len < tail; head++, tail-- ) { if ( !isalpha(str[head]) ) { head++; continue; } if ( !isalpha(str[tail]) ) { tail--; continue; } if ( tolower(str[head]) != tolower(str[tail]) ) return 0; return 1; } }
113 名前:デフォルトの名無しさん [2009/06/27(土) 17:50:07 ] [1] 授業単元: コンピュータプログラミング [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/clip.gif [3] 環境 [3.1] OS: windows [3.2] VisualC++ [3.3] 言語: c [4] 期限: 2009年6月30日 [5] その他の制限:配列はcharやdouble, 並び替えはdo,for,if,whileなどで習いました。 お願いします。
114 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 17:55:56 ] URLが
115 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 17:56:14 ] >>113 大きいクリップ、リンクが変。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9568.zip
116 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 17:57:34 ] >>113 問題文のリンクがちがうぞw
117 名前:デフォルトの名無しさん [2009/06/27(土) 18:07:55 ] <<115のが正しいです。 すみません。
118 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 18:33:49 ] >>112 retrun 1; の位置が明らかにおかしい
119 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 19:36:14 ] >>107 俺もブームに乗って作ってみた。動作は保障しない。怪文21面相〜♪ そうそう、全角文字には対応してないんだからね!サンプルをコピペしてハマッタ。ソースの整形はご自分で! #include <stdio.h> #include <ctype.h> #include <string.h> int main(){ unsigned char str[1024]={'\0',}; char *ch; int i=0,j=0,N=0; printf("input string:"); fgets(str,1024,stdin); str[1023] ='\0';ch = strchr(str,'\n'); if(ch != NULL) *ch ='\0'; for(i=0;str[i]!= '\0';i++){ if(isalpha(str[i])){//アルファベット置換と移動 str[j++] = toupper(str[i]); } if(isdigit(str[i])){//数字移動 str[j++] = str[i]; } } str[j]='\0'; N=j/2; for(i=0;i<N;i++){ if(str[i]!=str[j-1-i]){ printf("string is no match!\n"); return 1; } } printf("string is Match!\n"); return 0; }
120 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:15:38 ] >str[1023] ='\0'; 無意味
121 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:18:23 ] >>120 保険だよ。一行削れるから、ないほうがよかったかなぁ。。。
122 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:25:14 ] 行削りたいなら if(isalum(str[i])) str[j++] = toupper(str[i]); でいいだろ
123 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:37:25 ] >>122 あぁ、それでいけるのね。 toupperを普段使わないから、認識が曖昧だった。勉強になります。
124 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:41:01 ] >>121 fgets()は必ず終端に'\0'を付けると>>120 は言ってるんだろう fgets()で付く場合と付かない場合があるのは'\n'だ
125 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:45:29 ] >>124 それも認識が曖昧だった。なるほど、勉強になります。
126 名前:デフォルトの名無しさん [2009/06/27(土) 21:07:38 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): int型配列:int x[]と、int型配列xの大きさ:int sizeの2つの引数を用いて、 クイックソートで昇順に並べ替えるvoid quicksort(int x[], int size)と 二分木の中間走査によって昇順に並び変えるvoid inorder(int x[], int size) の作成 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 明日 [5] その他の制限: 特になし
127 名前:デフォルトの名無しさん [2009/06/27(土) 22:03:12 ] >>27 u9.getuploader.com/himajinn/download/190/DLL_files.zip
128 名前:93 [2009/06/27(土) 23:06:49 ] >>95 これは違うと思うのですが…。 すいませんがどなたか>>93 のをお願いします。
129 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 23:42:52 ] >>128 >>94-95
130 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 23:54:48 ] >>106 さんありがとうございました。 ホントに助かりました!
131 名前: ◆/91kCCQXBo mailto:sage [2009/06/28(日) 01:42:21 ] >>113 ソートのアルゴリズムは習ってないということで。 pc12.2ch.net/test/read.cgi/tech/1232367742/676
132 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 02:54:57 ] 【質問テンプレ】 [1] 授業単元: C言語演習 [2] 問題文(含コード&リンク):3つの分数の和を求めるプログラムの作成. 但し,2つの分数の和をもとめる関数bunnsuwa(..)を作ってそれを利用して3つの分数を求める. [3] 環境 [3.1] OS:Windows/vista [3.2] コンパイラ名とバージョン Visual Studio 2008 [3.3] 言語:C++ [4] 期限: ([7月2日まで] [5] その他の制限: 下の手順でプログラムを作成すること 1.二つの分数を入力して,その和をmain関数で計算して結果を表示する 1.1 分数を二つ入力 b/a, d/c とする: ここは整数変数4つにデータを入力 1.2 二つの分数の和をf/eに計算: 普通に計算してf,eを表示 2.その二つの分数の和を計算する部分を取り出し関数bunnsuwa(..)を作成する: 3.bunnsuwa(..)を複数回適用し、三つの分数の和を求めるプログラムを作成する 4 約分をできるようにする。また分母が0のときにエラー処理をする。 4.1 yakubun(..)という関数を作ってみるのもよい 例えば、void yakubun(int *a, int *b)で *b/*aを約分して更新する 5 マイナスの分子や分母が入れられた時や,分母が1になった時もきれいに表示できるようにする お願いします〜
133 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 10:36:59 ] >>132 こんな感じでよいか? #include<stdio.h> void yakubun(int*a,int*b){ int x=*a,y=*b,z; while(y){z=x%y;x=y;y=z;} *a/=x;*b/=x; if(*a<0)*a=-*a,*b=-*b; } void bunnsuwa(int*a,int*b,int*c,int*d){ *b=*b**c+*a**d;*a*=*c; } int main(){ int a=!0,b=0,c,d,i; for(i=1;i<4;i++){ for(;;puts("やりなおせ")){ printf("%dつ目の 分子 分母 = ",i);scanf("%d%d",&d,&c); if(c)break; } bunnsuwa(&a,&b,&c,&d); yakubun(&a,&b); printf("合計 = %d",b); if(a>1&&b!=0)printf(" / %d",a); puts(""); } return 0; }
134 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 10:37:30 ] [1] 授業単元: C言語 [2] 問題文: (1) 整数と4つの演算子(+, -, *, /)とカッコ ( ) から 成る計算式の文字列から計算木を作成する関数を作れ。 ただし、再帰は使ってはならない。 (2) 整数と4つの演算子(+, -, *, /)から成る計算木から 計算式の文字列を作成する関数を作れ。優先順位に注意 して、必要な箇所をカッコ ( ) でくくれ。ただし、 再帰は使ってはならない。 [3] 環境 [3.1] OS:Linux [3.2] gcc [3.3] C言語 [4] 期限:6/30 お願いします。
135 名前:93 [2009/06/28(日) 11:15:59 ] >>129 本当にわからなくて>>95 のが与えられてもよくわかりませんでした。 すいませんがせめて>>95 のどれを見たらわかるかだけでも教えていただけないでしょうか?
136 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 11:41:43 ] >>132 一応やってみた。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9569.txt
137 名前:デフォルトの名無しさん [2009/06/28(日) 13:36:16 ] [1] 授業単元:数理物理 [2] 問題文(含コード&リンク):www.mns.kyutech.ac.jp/~kamada/suuributuri/sub8.html [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:どちらでも可 [4] 期限:6/30まで [5] ヒントのプログラムから最後のprintfのところのxのあたいがよくわからないのでよろしくお願いします。
138 名前: ◆/91kCCQXBo mailto:sage [2009/06/28(日) 13:41:47 ] >>132 >>136 のGCDを参考にした。 3個の分数の和は、分数の和+1個の分数の和が題意だと解釈してみた。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9570.c
139 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 14:02:12 ] >>133 >>136 >>138 ありがとうございました!とても参考になりました。
140 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 14:15:05 ] >>87 答えてくださってありがとうございます。しかし、これを実行してみたら、フォネティックコード 化はちゃんとなっているんですけど、入力→フォネティックコード化→入力・・・・とずっと続 いてしまいます。 ポインタとファイルだけは何がどうなっているのかさっぱりわからないので自分で修正する こともできなくて・・・。修正よろしくおねがいします。
141 名前:デフォルトの名無しさん [2009/06/28(日) 14:48:24 ] >>96 遅くなりましたが、ありがとうございます。
142 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 15:16:05 ] >>137 xは微分方程式を解いたときのx(t)の値だと思う double func(double x, double v, double t) { return (-x-v*v*v+1+cos(t)); } に変えるだけでいいんじゃないかな
143 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 15:23:56 ] >>140 こうかな? ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9571.c
144 名前:143 mailto:sage [2009/06/28(日) 15:30:17 ] while((moji=getchar())!=EOF){ if(isalpha(moji)){ printf("%s", code[tolower(moji)-'a']); }else{ if (moji == ']') break; putchar(moji); } } 前のだと無駄に ] を出力しちゃうのでこっちの方で。
145 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 16:04:07 ] >>144 if (moji == '\n') // 改行で終わる(笑!) break;
146 名前:デフォルトの名無しさん [2009/06/28(日) 16:13:13 ] [1] 授業単元: C言語 [2] 問題文:f(x)=xe^x-6を2分法とニュートン法で解きなさい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C 「4」期限:6/28 [5] その他の制限: 配列が終わった程度しかやってません
147 名前:デフォルトの名無しさん [2009/06/28(日) 17:17:34 ] >>142 助かりました。 プログラムは一応完成しました。 感謝します。
148 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:41:06 ] >>146 #include <stdio.h> #include <math.h> double f(double x) { return x * exp(x) - 6; } double fd(double x) { return (1 + x) * exp(x); } /* 繰り返し回数、初期値は任意 */ int main(void) { // 二分法 { int i, n = 10; double a = 0, b = 5, x; for (i = 0; i < n; i++) { x = (a + b) / 2; if (f(x) < 0 && f(a) < 0) { a = x; } else { b = x; } } printf("%f\n", x); } // ニュートン法 { int i, n = 10; double x = 0; for (i = 0; i < n; i++) { x = x - f(x) / fd(x); } printf("%f\n", x); } return 0; }
149 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:00:11 ] >>148 即レスthxです 参考にさせてもらいます
150 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:05:56 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): @kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9572.zip Awww.dotup.org/uploda/www.dotup.org180573.zip [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual Studio 2005 [3.3] 言語:C [4] 期限:7/2 [5] その他の制限: お手数かけますが宜しくお願いします
151 名前:145 mailto:sage [2009/06/28(日) 18:09:36 ] >>140 Ctrl+D をキーボードから入れれば終了する。Windowsなら Ctrl+Z。
152 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:10:58 ] >>150 課題1
153 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:12:41 ] URI張り忘れたorz kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9574.txt
154 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:41:45 ] >>153 有難うございます。 助かりましたm(_ _)m 課題2の方どなたかお願いします。
155 名前:デフォルトの名無しさん [2009/06/28(日) 20:58:21 ] すみません、アセンブラの問題なんですが、どこで質問したらいいのか分らないので ここでさせて頂きますm(_ _)m もしアセンブリプログラムの方が無理でしたらC言語の方で構いません。 [1] 授業単元: アセンブリプログラミング [2] 問題文(含コード&リンク): 1からN(N≦3)までの正整数の順列を作成せよ。すなわち、 N=1を与えた場合には1を、N=2を与えた場合には12,21、N=3を与えた場合には123,132,...を生成する。 [3] 環境 [3.1] OS:Windows [3.3] 言語: アセンブリ言語、無理でしたらC++ [4] 期限: 7月1日 [5] その他の制限: 特にないです。 ちゃんとした質問になってるかも分かりませんが、すみませんが よろしくお願いします。
156 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:02:26 ] >>150 課題2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9575.txt
157 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:23:33 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9576.txt [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: VC 2008 [3.3] 言語: C [4] 期限: 6月29日 15時 [5] その他の制限: 配列やif文などは使わない。(使わなくてもできるみたいです。 printf,繰り返し処理を使う。 148を参考にやってみたのですが、実行結果の出し方が違うみたいなのでいまいちわからなかったので 質問しました。 お手数ですがよろしくおねがいします。
158 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:32:00 ] >>156 迅速なレス感謝します 本当に助かりました。
159 名前:デフォルトの名無しさん [2009/06/28(日) 22:02:20 ] >>155 C言語でアセンブラ出力する。
160 名前:デフォルトの名無しさん [2009/06/28(日) 22:35:48 ] どなたか>>126 お願いします
161 名前:145 mailto:sage [2009/06/28(日) 22:44:53 ] >>087 scanf("%s\n", filename); // \nでは、<Enter>で入力が終わらない。 これか、 scanf("%s%*c", filename); または、 scanf("%[^\n]%*c", filename); これか、 fgets(filename, FILENAME_MAX, stdin); filename[strlen(filename) - 1] = '\0';
162 名前:デフォルトの名無しさん [2009/06/28(日) 22:50:03 ] [1] 授業単元:数値計算 [2] 問題文(含コード&リンク):の連立1次方程式の解をガウスの消去法用いて解くプログラムを作成しなさい。 (この行列を使用してください {{10,-9,0,0,0,0,0,0}, {-9,17,-8,0,0,0,0,0}, {0,-8,17,-9,0,0,0,0}, {0,0-9,13,-4,0,0,0}, {0,0,0,-4,12,-8,0,0}, {0,0,0,0,-8,10,-2,0}, {0,0,0,0,0,-2,2,7}}) [3] 環境 [3.1] OS: Windows Vista [3.2] Visual Studio 2008 [3.3] 言語: C++ [4] 期限: 2009年7月1日まで] [5] その他の制限:特にありませんがなるべく簡単なものでお願いします
163 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:05:17 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9577.txt [3] 環境 [3.1] OS Linux [3.2] コンパイラ名とバージョン:不明 [3.3] 言語:C [4] 期限:7/3 [5] その他の制限:ポインタ配列を利用すること お願いします
164 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:05:32 ] [1] 授業単元:文字列 [2] 問題文(含コード&リンク): #include<stdio.h> int chrlen(int n,char a[]); void cap2sml(char a[],char b[]); void strinv(int n,char a[],char b[]); int main(void) { char a[100],b[100]; int i,n; n=0; /*from CAPITAL to small*/ void cap2sml(char a[],char b[]) { int i; for(i=0;a[i]!='\0';i++){ b[i]=a[i]+0x20; } if("A"<=a)&&(a<="Z") b[i]='\0'; } ↑入力データが英大文字のときのみ小文字変換して表示するようにせよ [3] 環境 [3.1] OS: Windows vista [3.2] gcc [3.3] 言語: C [4] 期限: 2009年6月29日AM07:00 [5] その他の制限: 特になし
165 名前: ◆/91kCCQXBo mailto:sage [2009/06/28(日) 23:21:26 ] >>155 N=3までの順列 #include <iostream> using namespace std; int main(void) { int i,j,k,n; cout<<"n="; cin>>n; cout.width(1); switch(n) { case 1: for(i=1;i<=1;i++) { cout<<i<<endl; } break; case 2: for(i=1;i<=2;i++) { for(j=1;j<=2;j++) { if(i==j) continue; cout<<i<<j<<endl; }} break; case 3: for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(i==j) continue; for(k=1;k<=3;k++) { if(i==k || j==k) continue; cout<<i<<j<<k<<endl; }}} default: break; } }
166 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:31:15 ] >>163 入力はポインタでなくていいのかな。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9578.txt
167 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:40:54 ] >>164 もうちょっと何がしたいのか 具体的に書いてくれると嬉しい。 #include <stdio.h> #include <ctype.h> void cap2sml(char a[],char b[]){ int i; for(i=0;a[i];i++) b[i] = tolower(a[i]); } int main(void){ char a[100] = "I have a friend whose name is Bob."; char b[100]; cap2sml(a,b); puts(a); puts(b); return 0; }
168 名前:デフォルトの名無しさん [2009/06/28(日) 23:53:41 ] >>166 早速の回答ありがとうございます 入力は指定がないのでポインタでなくてもいいです
169 名前:155 [2009/06/29(月) 00:24:46 ] >>165 ありがとうございます! >>159 すみません、それはどういうことでしょう?
170 名前:デフォルトの名無しさん [2009/06/29(月) 00:27:46 ] 回答してもらえるとうれしいです。>>162
171 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:42:50 ] >>170 みんな暇なときにやってんだからさ そうせかすなよw 締め切りまだ近いわけじゃないしw
172 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:44:38 ] [1] 授業単元:計算機システム [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9532.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 6月30日まで [5] その他の制限: ボスケテ
173 名前:デフォルトの名無しさん [2009/06/29(月) 01:07:25 ] >>171 そうですね。つい焦っちゃって。 ごめんなさい。。
174 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:00:36 ] >>173 昔作ったのでよければあげる。 データ変える程度ならちょっといじれば動くようになるはず。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9580.txt
175 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:26:03 ] >>169 gcc と objdump が使えるなら $ gcc a.c -c $ objdump -d a.o > a.s とかすればよかったとおもう