1 名前:デフォルトの名無しさん [2007/09/21(金) 08:46:37 BE:340816166-2BP(12)] あなたが解けない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++の宿題を片付けます 95代目 pc11.2ch.net/test/read.cgi/tech/1187944110/
175 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:22:32 ] >>174 英語は分かるがcが分からないんだ…
176 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:22:50 ] 翻訳しました -ベース値(int日付のタイプ)のためのユーザのPromt。 -ベース値を読んでください。 -解説者値(int日付のタイプ)のためのユーザのPromt。 -解説者値を読んでください。 -<cmath>機能を使用します。 -以下の出力を表示するべきです: /*はベースに入ります: 3 解説者に入ってください: 2 3 2と、パワーは9と等しいです。 3の平方根はいずれも*/を続けるために合わせる1.41Pressと等しいです。
177 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:25:26 ] そして、cはわからないが√3は1.41ではないことは分かる!
178 名前:汗 [2007/09/24(月) 14:39:17 ] お助けください。 現在の地域時間から15時間後の日時を表示するプログラムを作成しなさい。 表示形式は日付と時間が表示されれば、自由とします。
179 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:41:15 ] >>178 >>7
180 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:41:48 ] 間違えた >>178 >>1
181 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:45:40 ] #include <stdio.h> #include <time.h> int main() {struct tm tm; time_t now = time(NULL); tm = * localtime(& now); tm.tm_hour += 15; mktime(& tm); puts(asctime(& tm)); return 0;}
182 名前:汗2 [2007/09/24(月) 14:55:45 ] [1] 授業単元: 通信物 [2] 問題文(含コード&リンク): 次のプログラムで本来入れるべき処理は何か。それを指摘しなさい。 1:char*pstr; 2: 3:pstr=malloc(100) 4:sprintf(pstr,"123") 5:patr=malloc(10) 6:sprintf(pstr,"456") 7:free(pstr); [3] 環境 [3.1] OS: (Windows) [3.3] 言語: (C) [4] 期限:早いと助かるス。
183 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 14:59:18 ] 2:char*pastr; 8:free(pastr);
184 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 15:00:00 ] 2:char*patr; 8:free(patr);
185 名前:デフォルトの名無しさん [2007/09/24(月) 15:04:33 ] >>163 #include <iostream> #include <cstdio> #include <cmath> int main() { using std::cin; using std::printf; using std::putchar; char *str[4] = {"Enter the base: ", "Enter the exponent: ", "%d to the %d power equals %.0lf.", "The square root of %d equals %1.2lf"}; int b,ex; double p,r; printf(str[0]); cin >> b; printf(str[1]); cin >> ex; printf(str[2],b,ex,pow(static_cast<double>(b),ex)); putchar('\n'); printf(str[3],b,sqrt(static_cast<double>(b))); putchar('\n'); return 0; } The square root of 3 equals 1.41はおかしすぎる
186 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 15:54:34 ] 人並みにおごれや だったな確か
187 名前:続・汗3 [2007/09/24(月) 16:03:22 ] 【1】以下のプログラムは、起動時に指定された2つのテキストファイルを比較し、 違う行があればその行番号を表示するプログラムです。空白部分(@〜D)を埋めて、 プログラムを完成させなさい。 1:/* インクルード /* 2:#include<stdio.h> 3:#include<string.h> 4:#include<errno.h> 5: 6:FILE*Fp1; 7:FILE* @ ; 8: 9:/* 関数宣言 /* 10:int main(int argc,char*argv[]); 11: 12:int Func_open(char*,int); 13:int Func_read(void); 14:
188 名前:続続・汗3 [2007/09/24(月) 16:04:59 ] 15:/* メイン関数 /* 16:int main(int argc,char*argv[]) 17:{ 18: int nrtn; 19: int ncnt; 20: 21: nrtn=Func_open(argv[1],1); 22: if(nrtn!=0) 23: return1; 24: nrtn=Func_open( A ,2); 25: if(nrtn!=0){ 26: fclose( B ); 27: return1; 28: } 29: 30: ncnt=0; 31: nrtn=0; 32: while(nrtn==0){ 33: nrtn=Func_read(); 34: ncnt++; 35: }
189 名前:続続続・汗3 [2007/09/24(月) 16:05:51 ] 36: 37: fclose(Fp1) 38: fclose(Fp2) 39: 40: if(nrtn<0) 41: printf("%sと%sは違う内容でした(%d行目)", 42: argv[1],argv[2],ncnt); 43: else 44: printf("%sと%sは同じ内容でした", 45: argv[1],argv[2]) 46: 47: return(0); 48:} 49: 50:int Func_open(char*szfname,int nno) 51:{ 52: errno=0; 53: if(nno==1) 54: Fp1=fopen(szfname,"r") 55: else 56: Fp2=fopen(szfname,"r") 57: if((Fp1==NULL&&nno==1)UU 58: (Fp2==NULL&&nno==2)){ 59: printf("<%s>エラー:%s",szfname,strerror C )); 60: return(-1); 61: } 62: 63: return(0); 64:}
190 名前:続続続続・汗3 [2007/09/24(月) 16:06:42 ] 65: 66: int Func_read(void) 67:{ 68: char*prtn1; 69: char*prtn2; 70: char szdat1[81]; 71: char szdat2[81]; 72: int nrtn; 73: 74: prtn=fgets(szdat1,81,Fp1); 75: prtn=fgets(szdat2,81,Fp2); 76: if(prtn1==NULL)UUprtn2==NULL) 77: return(9); 78: 79: nrtn=strcmp(szdat1,szdat2) 80: if(nrtn!= D ) 81: return(-1); 82: return(0); 83:}
191 名前:続続続続続・汗3 [2007/09/24(月) 16:08:23 ] 【2】上記プログラムにおいてFunc_read関数はstrcmpを使用して読み込んだ 2つのレコードが同じかどうか判断しています。 これをmemcmpを利用したロジックに作り直しなさい。 当方、全く初心者なのでさっぱしです。ヨロシクお願いしますm(__)m
192 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:13:30 ] ひでえコードだな
193 名前:デフォルトの名無しさん [2007/09/24(月) 16:15:27 ] 穴埋め問題はどうもやる気がおきんな
194 名前:へたれ [2007/09/24(月) 16:27:29 ] C言語 Windows EZ EDITOR for文,1次元変数,do-while文,if-else文,doubleなどは習いました。 期限:今日中 問題 2次方程式の開放プログラム:a,b,cをそれぞれ入力し、axの2乗+bx+c=0の2つの解を表示するプログラムです。 こんな感じで大丈夫でしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:35:41 ] >>194 >こんな感じで大丈夫でしょうか? なんて言う前に、>>1 嫁 EZ EDITORってエディタ?そんな情報いらん コンパイラの方が重要だ
196 名前:へたれ [2007/09/24(月) 17:00:15 ] >>195 コンパイラの意味がわかりません。Visualかなぁ? WZ EDITORは関係なかったんですね。 PC初心者ですいません
197 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:16:03 ] >EZ EDITOR 今でも使っている奴いるのか?
198 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:19:34 ] プログラミングが上達するコツ pc11.2ch.net/test/read.cgi/tech/1190555031/
199 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:42:41 ] [1] 授業単元: C [2] 問題文 19と打てば、2 4 6 8 10 12 14 16 18と表示するプログラム [3] 環境 [3.1] OS: XP [3.2] VC++ 2008 [3.3] 言語: C [4] 期限: なるべく早めに [5] その他の制限:
200 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:22 ] いや、問題分は「入力された数字までの偶数を出力するプログラム」だろ?
201 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:35 ] WZ EDITORは今でも一応現役だな。 ほぼフルセットのC言語なマクロも使えるから、入門用の教材として使われるケースも希にある。 まあ、浮動小数点数とか使えないから、素直にVisualC++使っとけとも思うが。
202 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:35 ] #include <stdio.h> int main(void) { int n; scanf("%d", &n); if (n == 19) { printf("2 4 6 8 10 16 18"); } return 0; }
203 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:37 ] >>200 そうです。
204 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:54 ] >>200 でお願いします。
205 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:48:50 ] #include <stdio.h> int main(void) { int i, n; scanf("%d", &n); for(i=2; i<=n; i+=2) printf("%d ", i); return 0; }
206 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:00:22 ] #include <stdio.h> int main(void) { int num; int dig; dig=0; scanf("%d",&num); while (num>=dig+2) { dig+=2; printf("%d ",dig); } return (0); }
207 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:19:55 ] よかったな!これで4人分確保できたぞ! #include <stdio.h> int main(void) { int i, n; printf("数値?"); scanf("%d", &n);n >>= 1; for(i = 1; i <= n; i++) printf("%d ", n << 1);; return 0; }
208 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:31:23 ] やったー、これで4Pできるね!
209 名前:163 mailto:sage [2007/09/24(月) 18:37:42 ] 皆さん本当にありがとうございます 自分のプログラムですが kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4960.txt エラーがひとつ、どうしても消えません 修正可能な方よろしくお願いします
210 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:45:26 ] >>209 エラーがひとつって…いくつも間違いあるぞ cinでendlいらない powやsqrtを自分で宣言してどうする
211 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:45:51 ] -- int pow(int base,int exponent); double sqrt(int base); -- 標準関数を自分勝手に宣言してはいけません。しかも、間違っています。 -- int result1; result1=pow(base,exponent); double result2; result2=sqrt(base); -- 変数は定義と同時に初期化しましょう。そうしなければいけない理由がないのに 不定値のまま放置するのは阿呆のすることです。
212 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:46:18 ] >>209 コンパイラ通してないけど、ぱっと見で見つけたエラー。 >cin >> base >> endl; std::endlに何か入力させようとしてる… >int pow(int base,int exponent); >double sqrt(int base); 自分で関数内関数宣言?cmathをincludeしてるのに
213 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:48:02 ] 1] 授業単元:プログラミング [2] 問題文:txtファイルdata.txtに memo1.txt memo2.txt memo3.txt と書かれているとする。 今main関数で、ファイルdata.txtの中身のファイル(memo*.txt)をぬきとる。 その中身のファイルを違う関数void functionに移してファイルオープンして 中身を表示せよ。 ----------- memo1.txtの中身は 2 4 5 memo2.txtの中身は 1 4 6 memo3.txtの中身は 4 5 とします。 [3] 環境 LINUX [4] 期限:はやければはやいほうがいいです。 [5] その他の制限:特になし
214 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:51:37 ] >はやければはやいほうがいいです。 小学生?
215 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:52:29 ] >>214 ファイルの中身のファイル?
216 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:53:01 ] >>213 死ね。
217 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:55:43 ] >>213 ここに直接書いてるのでコンパイルエラーとか知らない。 #include <stdio.h> #include <string.h> void function(char *filename) { char command[1024]; sprintf(command, "cat %s", filename); system(command); } int main(void) { char filename[1001]; FILE* fp = fopen("data.txt", "r"); if( fp == NULL ) { return 1; } while( !feof(fp) ) { int len; fgets(filename, 1000, fp); len = strlen(filename); while( filename[len - 1] == '\n' ) filename[len - 1] = '\0'; printf("%sの中身は\n"); function(filename); } return 0; }
218 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:56:37 ] あ。data.txt閉じ忘れた……けどまぁいいや。
219 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:57:42 ] data.txtにかかれてあるのが memo1.txt memo2.txt memo3.txt で memo1.txtにかかれてあるのが 2 4 5 で memo2.txtにかかれてあるのが 1 4 6 で memo3.txtにかかれてあるのが 4 5 という意味です
220 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:00:32 ] >>217 cat使ったのを書こうと思ったらかぶったよw
221 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:06:00 ] >>219 え?
222 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:18:35 ] >data.txtにかかれてあるのが  ̄ ̄ ̄ ̄ ̄ ̄ どこの国の方ですか?
223 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:33:22 ] うんこ星人です
224 名前:163 mailto:sage [2007/09/24(月) 19:40:29 ] すいませんがまたチェックお願いします kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4961.txt 今度はエラー3とでましたが、、、
225 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:50:42 ] Display呼び出し時の引数の数 pow(double, double)
226 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:53:03 ] >>224 でたから何? 表示されたエラーを読めば解決する問題だよね?
227 名前:185 [2007/09/24(月) 20:13:14 ] >>163 >>185 で俺レスしてんだけど、無視? 関数使って処理するのがお好みなのかな
228 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:24:06 ] お前の糞コードなんていらねえってよw
229 名前:163 mailto:sage [2007/09/24(月) 20:32:21 ] >>185 さん 無視なんてとんでもないです ありがとうございますと言ったのは主に185さんに対してです ただ全く習っていない解法でしたので、、、 ありがたく使わせてもらいます
230 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:36:21 ] ほう、どう使うと言うのかね
231 名前:185 [2007/09/24(月) 20:51:31 ] 糞コードですいませんでした。 私がわるかったです。
232 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:56:54 ] つーか、>163の支離滅裂な英語からすると>163が日本語に訳すことも無意味ならば>163がありがたく使うことも無意味だ。
233 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:00:04 ] これが馬鹿さか…
234 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:04:05 ] >>224 宣言時>void Display(int result1,double result2,int base,int exponent); 使用時>Display(result1,result2); 引数の数が合ってないのが悪い。 「エラー3」とかではなくて、何行目にどういうエラーがあるのかということを 出力するはずだから、どうせならそれを書いてくれ。
235 名前:デフォルトの名無しさん [2007/09/24(月) 21:21:00 ] >>199 #include<stdio.h> int main(void){ int num; printf("=>"); scanf("%d",&num); if(num == 19) printf("2 4 6 8 10 12 14 16 18\n"); return 0; } 問題文どおりならこうなる
236 名前:デフォルトの名無しさん [2007/09/24(月) 21:21:47 ] >>199 #include<stdio.h> int main(void){ int num; printf("=>"); scanf("%d",&num); if(num == 19) printf("2 4 6 8 10 12 14 16 18\n"); return 0; } 問題文どおりならこうなる
237 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:27:08 ] >>199 #include<stdio.h> int main(void){ int num; printf("=>"); scanf("%d",&num); if(num == 19) printf("2 4 6 8 10 12 14 16 18\n"); return 0; } 問題文どおりならこうなる
238 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:34:08 ] >>235-237 そこまでして書き込みたいのか。
239 名前:デフォルトの名無しさん [2007/09/24(月) 21:40:55 ] >>238 書き込めないと思ってたら100-200までを 表示した画面をブックマークしてた
240 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 22:25:07 ] >>239 死ね。
241 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 22:32:38 ] このスレ1人だけくそ基地外がいるな。
242 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 22:37:35 ] オレのことか
243 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 22:48:17 ] いや、俺のことだろ?
244 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 23:05:55 ] >>224 というかわざわざCalcPower,CalcSquareRoot関数を作る必要がないだろ
245 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:02:09 ] >>199 は入力した数値以下の正の自然数の偶数を表示しろってことか?
246 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:10:50 ] 199はもう終わってるから
247 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:11:42 ] なんすか、それ?お前はもう、終わっている みたいな。
248 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:14:41 ] 簡単な問題だから飛びつきたい気持ちはわかるが 他の人が回答済み
249 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:23:04 ] それは分かっているんだよ。敢えて題意はそれで良いか、ただの疑問。 おまえもいちいちうるさいよ
250 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:24:12 ] それも他の人が質問済み
251 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:25:01 ] >>200 ,203-204 そこらへんも解決済み
252 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:26:10 ] 直後なのに見てないのかよ
253 名前:デフォルトの名無しさん [2007/09/25(火) 02:49:55 ] [1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): ある2つのファイルがある。 この時1つのファイルには次元nの2つの整数ベクトルが書き込まれている。 この2つのベクトルを読み出し、内積を計算した後、 結果をもう1つのファイルに書き込むプログラムを作成せよ。 読み込むファイル、書き込むファイルどちらもファイル名を 任意に(キーボードから)指定できるようにする。 ※なお、任意の大きさnのデータを処理できるようにする。 また、nはファイルの最初に置かれ、スペースによって要素は区切られる。 ベクトル要素のアクセスにはポインタを用いる。 [3] 環境 [3.1] OS: (WindowsXP) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C言語) [4] 期限: ([07年9月26日] ) [5] その他の制限: なし よろしくお願いします。
254 名前:デフォルトの名無しさん [2007/09/25(火) 03:20:59 ] >>253 >ある2つのファイルがある。 >この時1つのファイルには次元nの2つの整数ベクトルが書き込まれている。 これを用意してくれ
255 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 03:36:52 ] 一応ファイルフォーマットは提示されてるようだが? 適当に2つ条件にあうファイルを作ればいいんだろう?
256 名前:デフォルトの名無しさん mailto:age [2007/09/25(火) 04:16:46 ] _______ (___ ___) ∇
257 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 04:37:20 ] >>253 n次元整数ベクトルってのが何だったか思い出せなかったので適当に書いてみた。 #include <stdio.h> #include <stdlib.h> int main(void){ FILE* fp; char filename[256]; int i, j, n, * vector[2], result = 0; //ファイル読み込み do{ printf("読み込むファイル?"); scanf("%s", filename); }while((fp = fopen(filename, "r")) == NULL); fscanf(fp, "%d", &n);{ for(i=0; i!=2; i++){ vector[i] = calloc(n, sizeof(int)); for(j=0; j!=n; j++) fscanf(fp, "%d", (vector[i] + j));} close(fp);} //内積を求める for(i=0; i!=n; i++) result += *(vector[0] + i) * *(vector[1] + i); //ファイル書き込み printf("書き込むファイル?"); scanf("%s", filename); fp = fopen(filename, "w"); fprintf(fp, "%d", result); close(fp); free(vector[1]); free(vector[0]); return 0;}
258 名前:163 mailto:sage [2007/09/25(火) 06:06:24 ] 皆さんの助言のおかげでようやく完成しました ありがとうございました 一応コード貼っておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4964.txt おさわがせしてごめんなさい
259 名前:デフォルトの名無しさん [2007/09/25(火) 06:17:32 ] C言語 Windows WZ EDITOR gcc for文,1次元変数,do-while文,if-else文,doubleなどは習いました。 期限:今日中 問題 2次方程式の開放プログラム:a,b,cをそれぞれ入力し、axの2乗+bx+c=0の2つの解を表示するプログラムです。
260 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 06:28:21 ] >>259 他の質問者と同じ形式で書き込もうとは思わない?
261 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 06:34:10 ] >>260 いちいちうるせーんだよ、答えもしないクズが
262 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 06:39:09 ] >>259 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4965.c
263 名前:デフォルトの名無しさん [2007/09/25(火) 07:53:08 ] [1] 授業単元: C [2] 問題文(含コード&リンク): main引数に格納されたtest.txt(ファイル名)を 変更してtest.abc.txtとするコードを作成せよ。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 9/25 [5] その他の制限: なし 引数で得たファイル名の拡張子の前に「.abc」を入れるというものなのですが うまく作成できません。よろしくお願いいたします。
264 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:00:20 ] >>263 ファイルのリネームをしろってこと? コピーを作れってこと?
265 名前:デフォルトの名無しさん [2007/09/25(火) 08:22:33 ] >>264 ファイルのコピーを作って リネームしろってことだと思います。
266 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:27:28 ] >>265 Cygwin?MinGW?
267 名前:デフォルトの名無しさん [2007/09/25(火) 08:29:16 ] >>266 すみません書き忘れでした cygwinです
268 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:33:16 ] >>263 複数拡張子(a.txt.bak) や拡張子無しはどうすれば?
269 名前:デフォルトの名無しさん [2007/09/25(火) 08:35:42 ] >>268 とくにその辺は指定がないので 気にしなくて(ないものと考えて) 良いと思われます
270 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 08:41:06 ] >>263 #include<stdio.h> #include<stdlib.h> #include<string.h> int main(int c,char**v){ char com[256]="./tmp.bat "; strcat(com,v[1]); FILE*fp=fopen("tmp.bat","w"); fprintf(fp,"%s","cp %1 tmp\nren tmp %~n1.abc.%~x1"); fclose(fp); system("chmod 744 tmp.bat"); system(com); system("rm tmp.bat"); return 0; }
271 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:32:18 ] >>263 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4966.c
272 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:35:48 ] >>263 ちょい訂正。拡張子は . 以下3文字まで対応、だと思う。それ以外は知らん。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4967.c
273 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:40:50 ] あと、きんもぉ〜☆クソースなんで、あしからずw
274 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 10:14:27 ] >>263 #include <stdio.h> #include <string.h> #include <assert.h> int main(int argc, char **argv) { char outname[256]; char *dot; if( argc != 2 ){ printf("Usage:%s filename",argv[0]); return 1; } if( (dot = strrchr(argv[1], '.')) == NULL ){ strcpy( outname, argv[1]); strcat( outname, ".abc" ); }else{ int i; for( i=0 ; argv[1][i] != *dot ; i++){ outname[i] = argv[1][i]; } outname[i] = '\0'; strcat(outname, ".abc"); strcat(outname, dot); } if( rename( argv[1], outname ) == -1){ perror("Error"); return 1; } return 0; }
275 名前:274 mailto:sage [2007/09/25(火) 10:20:17 ] assert消し忘れた