1 名前:デフォルトの名無しさん [2008/02/04(月) 23:32:19 ] あなたが解けない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++の宿題を片付けます 103代目 pc11.2ch.net/test/read.cgi/tech/1200318925/
139 名前:デフォルトの名無しさん [2008/02/10(日) 10:34:58 ] すいませんm(_ _)m ありがとうございます。 (41)エ (42)ウ (43)イ (44)ウ (45)エ これでOKでしょうか?
140 名前:デフォルトの名無しさん [2008/02/10(日) 11:03:41 ] #include <stdio.h> main() { char x[3][7] = {"first","second","third"}; char *z[3] = {"first","second","third"}; char **p; p = z; p++; @ printf("%c\n",**p); A printf("%s\n",*p+1); B printf("%s\n",*(p+1)+1); これだと xの要素数は21個で ポインタ配列zの要素数は19個 @ABのprintfの表示は @がs Aがecond Bがhird でいいですかね?
141 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 11:35:41 ] >>123 これで合ってるのかな。srandがよくわからない。。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6028.c >>140 合ってる
142 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:18:18 ] >ポインタ配列zの要素数は19個 3個だろ
143 名前:54 [2008/02/10(日) 15:24:52 ] 答えてくれたみなさんありがとうございます!! めっちゃかんしゃです。
144 名前:デフォルトの名無しさん [2008/02/10(日) 15:38:46 ] 度々大変すいませんm(_ _)m どなたか解答をお願いします。 プログラム /*語尾変換プログラム*/ #include <stdio.h> #include <stdlib.h> #include <string.h> int f_read(void); int w_cnv(int ln); #define CHRSIZE sizeof(char) char str[20][(254 + 2)* CHRSIZE * 2 + sizeof(char)]; main() { int ln; int i; int cnt; ln = f_read(); cnt = w_cnv(ln); for(i=0;i<ln;i++) printf("%s",str[i]); printf("\n文章中を%d件変換し、\n",cnt); printf("文末を%d件付加しました。\n",ln); } /*ファイル入力*/ int f_read(void) { FILE *fp;
145 名前:デフォルトの名無しさん [2008/02/10(日) 15:39:16 ] 続き char buf[256]; int cnt = 0; if((fp = fopen("word.dat","r")) == NULL){ printf("入力ファイルがオープンできません\n"); exit(1); } while( (46) != NULL) (47) ; fclose(fp); return(cnt); } /*変換*/ int w_cnv(int ln) { int i; int cnt = 0; char w_str[256]; for(i=0;i<ln;i++){ while( (48) != NULL){ strcpy(w_str,strstr(str[i],"な") + CHRSIZE * 2); strcpy(strstr(str[i],"な"),"にゃ"); (49) ; cnt++; } strcpy( (50) ,"にゃ\n"); } return(cnt); }
146 名前:デフォルトの名無しさん [2008/02/10(日) 15:40:31 ] (46)の解答群 ア fgets(buf,255,fp) イ fgets(fp,buf,255) ウ fscanf("%s",buf,fp) エ fscanf(fp,"%s",buf) (47)の解答群 ア strcpy(buf,str[cnt++]) イ strcpy(buf,str[cnt+1],buf) ウ strcpy(str[cnt++],buf) エ strcpy(str[cnt+1],buf) (48)の解答群 ア strcat(str[i],"な") イ strchr(str[i],"な") ウ strcpy(str[i],"な") エ strstr(str[i],"な") (49)の解答群 ア strcat(w_str,str[i]) イ strcat(str[i],w_str) ウ strcpy(w_str,str[i]) エ strcpy(str[i],w_str) (50)の解答群 ア strchr(str[i],`\0') イ strchr(str[i],`\n') ウ strchr(w_str[i],`\0') エ strchr(w_str[i],`\n') 文中の「な」を「にゃ」に変換し、さらに文末の語尾に「にゃ」を付加して表示するプログラムです (46)〜(50)の答はどうなりますかね?
147 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:16:12 ] >>146 うざいからうpロダ使ってくれないかな。
148 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:03:18 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6029.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語:C [4] 期限:2月13日 [5] その他の制限: 前回は本当にありがとうございました。 今回もよろしくお願いいたします。
149 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:42:59 ] >>148 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6030.txt
150 名前:デフォルトの名無しさん [2008/02/10(日) 18:09:40 ] [1] 授業単元:パターン認識 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6031.lzh [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2月13日 [5] その他の制限: 動的計画法についての課題です。問題が図表付きなので圧縮しています。
151 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 20:25:53 ] >>149 ありがとうございました。
152 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:05:23 ] [1] 授業単元:プログラミング [2] 問題文:入力された文字列を逆に並べて表示せよ(例:TOKYO→OYKOT) [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2005 Express Edition [3.3] 言語:C [4] 期限:2008年2月13日8:00まで [5] その他の制限:#include <stdio.h>で使える命令のみ 一次元配列のみ
153 名前:デフォルトの名無しさん [2008/02/10(日) 21:10:05 ] [1]プログラミング [2]時計の針2本がなす角(中学入試の算数問題でよく出題される問題) 問:キーボード上から時と分を入力し、その時間とそれを指す長針・短針 のなす角を求める。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6032.c [3] 環境 [3.1] OS:Windows [3.2] bcc32 [3.3] 言語: C [4] 期限: [2008年2月12日まで] [5]その他の制限: 入力・計算・出力部分は必ず関数化し、mainの中でそれらを呼び出すようにする なす角θを計算する部分は成功しましたが(そこまでの完成版はリンクしたプログ ラムを参照)、キーボード上から入力した時間をうまく表示することができません。出力は、 ??:?? なす角:??° とします。どうか宜しくお願いします。
154 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:11:22 ] >>152 #include <stdio.h> int main(void) { char *p, str[256]; scanf("%s", str); p = str; while(*p) p++; while(p--!=str) putchar(*p); return 0; }
155 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:02 ] >>154 自分の技量不足で申し訳ありませんが質問してもよろしいでしょうか? 関数の*pの*は何か意味があるのでしょうか?
156 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:35 ] >>153 >>149
157 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:35 ] >>153 void output(int s, int t, double r1) { printf("%d:%d なす角:(%.1f)°\n", s, t, (double)r1); } にしてh1とm1渡すだけじゃね?
158 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:24:52 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6033.txt [3] 環境 [3.1] OS: Win XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C [4] 期限: 2008年2月12日午前7時00分 [5] その他の制限:色々な処理方法があるそうですが、 なるべくレベルが低い方法でよろしくおねがいします。
159 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:27:27 ] >>155 間接参照。
160 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:30:03 ] >>159 ありがとうございます!
161 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 21:56:55 ] >>158 #include <stdio.h> static int su[9], cnt; void perm(int *a, int j){ int i; if(j == 9){ int x = 0, y = 0; for(i = 0; i < 6; i++) x = 10*x + a[i]; for(i = 6; i < 9; i++) y = 10*y + a[i]; if(x%y == 0){ printf("%d / %d = %d\n", x, y, x/y); cnt++; } return; } for(i = 0; i < 9; i++) if(su[i] == 0){ su[i] = 1; a[j] = i + 1; perm(a, j + 1); su[i] = 0; } } int main(void){ int a[9]; perm(a, 0); printf("合計パターン数 = %d\n", cnt); return 0; }
162 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 22:35:42 ] >>158 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6034.txt
163 名前:デフォルトの名無しさん [2008/02/10(日) 23:00:27 ] >>144 >>145 >>146 ですが 解答はいかがでしょうか... 携帯からで見づらくて大変すいません...m(_ _)m
164 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:02:13 ] >>163 >>1
165 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:15:13 ] さすがに携帯にうpろだはきつくね?
166 名前:デフォルトの名無しさん [2008/02/10(日) 23:15:22 ] 153です。 157番さんのおっしゃる通りにしたら、「output関数における呼び出し時のパ ラメータが足りない」というエラーが出ました。157番さんの通りにプログラム を設計するなら、mainの中でoutputなどの各種呼び出しをどのようにすれば良い のか教えて下さい。プログラミングの基本である自学自習を心掛けていますが この呼び出し関数の設計などはあまり得意な方でないのでどうかお願いします。
167 名前:123 mailto:sage [2008/02/10(日) 23:15:37 ] >>141 ありがとうございます。実行してみたのですが生成される乱数が全て0になってしまいます。 srand関数を使って乱数の種を定めた時のプログラミング例を載せてみます。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6036.c どうかお願いします。
168 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:35:33 ] >>166 お前どうやって>>153 まで自分で出来たんだ? 得意じゃないってレベルじゃねーぞ output(h1, m1, show1);
169 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 23:37:49 ] 誰かの回答だろ
170 名前:153 [2008/02/10(日) 23:57:48 ] 正直に言うと今までに扱った内容を参考にしながらでした。 それでも不足部分は沢山あるのでそれを補えるよう努力しなければと思い ます。 ちなみにコンパイルできました。ありがとうございました。
171 名前:デフォルトの名無しさん [2008/02/11(月) 00:13:35 ] 質問! エラーがでたわけではないのですが、VC++2003.NETで ビットマップ画像をインポートして追加しようとしたのですが、 実行するとその画像が表示されません! 実行の際には画像が切り替わっている様子がうかがえるのですが、表示されないのです。 新規作成で追加するとちゃんと表示されるのですが・・。 どなたか原因分かる方いますか?
172 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:13:39 ] double→int→doubleとか意味不明なことしてるし、 設計を見直すべき。
173 名前:デフォルトの名無しさん [2008/02/11(月) 00:17:52 ] >>146 です すいません 荒らしてしまって... 携帯からなんで うp無理みたいです... なんかいろいろほんとすいませんでしたm(_ _)m
174 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:21:45 ] >>167 「10 動的に確保したメモリの解放」 これが抜けてる以外は問題なさそうだけど。 試しに実行してみたら、ちゃんと乱数生成されてるし。
175 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 00:30:32 ] >>174 pc環境とか関係するんですかね?とりあえず学内pcにファイルを移して実行してみます。 本当にありがとうございました。
176 名前:50 mailto:sage [2008/02/11(月) 00:30:47 ] >>65 〜73、87の書込みをしてくださった方々 一番難しい課題Bを解いていただき、ありがとうございましたm(__)m
177 名前:デフォルトの名無しさん [2008/02/11(月) 00:51:27 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6037.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual C++ 2005 [3.3] 言語: C [4] 期限: 2月13日 [5] その他の制限:特にありません
178 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 01:48:02 ] >>173 うpろだが使えないとしても、>>1 読んでテンプレくらいは使って欲しいところ まぁ推奨になってるからどうしてもテンプレは使いたくないってのなら止めないけど
179 名前:デフォルトの名無しさん [2008/02/11(月) 11:21:06 ] >>144 >>145 >>146 携帯からの投稿自体 無理がありました すいませんでした...m(_ _)m できれば解答をいただけると幸いです..
180 名前:デフォルトの名無しさん [2008/02/11(月) 14:34:02 ] [1] 授業単元: [2] 問題文: 文字列を入力させ、それを表示するプログラムを作成せよ。 ただし、文頭にaが入力された場合はそれを表示せず、 数値が入力された場合はエラーとしてもう1度入力させること。 【実行例】 入力=jgmttgad18j ※エラー※数値が入力されました。 もう1度入力してください 入力=aaaiaueokaki 出力=iaueokaki [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名とバージョン: [3.3] 言語: C++ [4] 期限:2008年2月11日22:00まで [5] その他の制限: 先生が、ヒントで「フラグを使うとできるかも」といってました! よろしくお願いします!
181 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:54:09 ] >>180 #include <iostream> #include <string> using namespace std; int main() { while(1) { cout << "入力="; string s; cin >> s; if( s.find_first_of( "0123456789" ) == string::npos ) { cout << "出力=" << s.substr( s.find_first_not_of( "a" ) ) << "\n"; break; } else { cout << "数値が含まれるので、再度入力してください。\n"; } } return 0; }
182 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 18:40:08 ] >>180 #include <stdio.h> #include <string.h> int main(void) { char str[256]; int top; printf("入力:"); start: top=0; fgets(str,256,stdin); again0: if(str[top]>=48&&str[top]<=57){ printf("再入力:"); goto start; } if(top++<strlen(str))goto again0; top=0; again1: if(str[top]=='a'){ top++; goto again1; } printf("出力:"); again2: printf("%c",str[top++]); if(str[top]!=NULL)goto again2; return 0; }
183 名前:デフォルトの名無しさん [2008/02/11(月) 18:57:58 ] >>181 >>182 ありがとうございます! できれば入力に cin.getlineとか使うくらいの初歩のでもやってほしいんですが..(><) 入力だけでいくと #include<iostream.h> main() { char a[50] ; cout<<"a=" ; cin.getline(a,50) ; } こんな感じで・・ サーセン(・_・、)
184 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 19:38:23 ] >>180 #include <iostream> #include <string> #include <boost/regex.hpp> int main() { while (true) { std::cout << "入力: "; std::string line; if (!std::getline(std::cin, line)) break; boost::regex re_num("\\d+"); if (boost::regex_search(line, re_num)) { std::cout << "※エラー※数値が入力されました" << std::endl; std::cout << "もう一度入力してください" << std::endl; continue; } boost::regex re_str("^a+"); std::cout << "出力: " << boost::regex_replace(line, re_str, "") << std::endl; break; } }
185 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 19:41:23 ] >>183 それなら>>180 の cin >> s; を char sz[50]; cin.getline(sz,50); s=sz; にすればいいが、 初歩というのは、もしかしてstringを使うなと言ってる?
186 名前:デフォルトの名無しさん [2008/02/11(月) 19:46:40 ] >>184 >>185 ありがとうございます!! stringをならってません(・_・、) ごめんなさい↓
187 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 20:00:14 ] >>186 #include <iostream> using namespace std; bool hasDigit( const char* pstr ) { while(*pstr) { if( isdigit(*pstr) ) return true; pstr ++; } return false; } int main() { while(1) { cout << "入力="; char sz[50]; cin.getline( sz, sizeof(sz) ); if( !hasDigit( sz ) ) { char* p; for( p=sz; *p=='a'; p++ ); cout << "出力=" << p << "\n"; break; } else { cout << "数値が含まれるので、再度入力してください。\n"; } } return 0; }
188 名前:デフォルトの名無しさん [2008/02/11(月) 22:32:23 ] [1] 授業単元: プログラム テスト [2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6038.txt [3] 環境 [3.1] OS: WindowsXP [3.3] 言語:C言語 [4] 期限: できれば、早いとありがたいです。 よろしくお願いいたします。
189 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:44:53 ] [1] 授業単元:プログラミング [2] 問題文 四問あります ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6039.zip [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: visual stdio [3.3] 言語: C [4] 期限: 2月13日の昼まで
190 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:46:32 ] >>188 アウエイ (50)は解なし。強いてあげればイか。
191 名前:189 mailto:sage [2008/02/11(月) 22:48:29 ] すいません >>189 には不備がありました 課題1には二つ問題があるのですが 一つtxtファイルが入ってません それを書き直したものにしますので少々待っててください
192 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 22:58:36 ] [1] 授業単元:プログラミング [2] 問題文 5問あります ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6040.zip [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: visual stdio [3.3] 言語: C [4] 期限: 2月13日の昼まで [5]ご迷惑をおかけして申し訳ありません 期限を13日としていますが出来ればなるべく早くお願いします
193 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:07:15 ] >>192 どれも最近見た気がするが、これって何処の課題なんだろ。 最後の二つは、ちょっと前に俺がうpしたから間違いない。
194 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:15:21 ] >>193 本当ですか よろしければその解答を頂けないでしょうか
195 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:18:41 ] >>194 ちょっと前にうpしたって言ってるじゃん。 ホントに欲しけりゃ、スレから探して持っていけばいいさ。
196 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:30:16 ] >>195 ありがとうございます 4と5は解決しました
197 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:36:55 ] アイムジャグラーちっとも勝てません。なぜでしょうか? ttp://www.borujoa.org/upload/source/upload16700.lzh ↓参考ページ。 ttp://www.htv-net.ne.jp/~dark/suro%20aimu%20jagura-.html
198 名前:デフォルトの名無しさん [2008/02/11(月) 23:37:55 ] >>190 さん ありがとうございます。 まぁ結果的に2級は落ちましたが.. 少しは勉強になったのでよかったです 皆さん いろいろ迷惑をかけましたがありがとうございましたm(_ _)m
199 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:40:13 ] 試験の問題だったのか。 この程度だと、あんまり取る意味なさそうな気も。
200 名前:デフォルトの名無しさん [2008/02/12(火) 00:09:02 ] >>199 さん 確かにそうですよね.. C2級も取れないレベルなんて 俺ってなんなんだろう... やっぱりバカなんだなぁ つくづく思います。
201 名前:デフォルトの名無しさん [2008/02/12(火) 00:40:36 ] 【質問テンプレ】 通りに書き込まなきゃいけないと思うんですが 眠くてやばいんで誰か解き方のだけ速攻教えてください。 C言語で123の数値を合計して6とするにはどうすればいいんでしょうか?
202 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:43:29 ] >>201 int sum=1+2+3;でおk
203 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:46:27 ] >>177 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6041.cpp
204 名前:デフォルトの名無しさん [2008/02/12(火) 00:48:33 ] >>202 ありがとうございます。 その数値が入力されたものの場合はどうすればいいんでしょうか><
205 名前:199 mailto:sage [2008/02/12(火) 00:48:33 ] >>200 いやいや、この程度とは言ったけど、 これを全く勉強せずに解ける人なんて居ないよ。 資格としての意味は薄いにしても、 1つの通過点にするのはいいんじゃないかな。 目標があると励みやすいし。 でさ、本当に2級を取得するだけの力をつけたいんだったら、 このスレで解答を求めたりするんじゃなくて、 自分で試行錯誤して辿り着く方が為になると思うんだけどな。 スレ違いなんでこの辺で。
206 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:51:42 ] >>204 int sum = val / 100 + (val / 10) % 10 + val % 10;
207 名前:デフォルトの名無しさん [2008/02/12(火) 00:52:05 ] 入力された文字列をatoiで変換→数値を合計みたいな問題でやり方がわからないんでヒントもらいたいです。 説明不足でほんとすみません。
208 名前:207 [2008/02/12(火) 00:54:18 ] >>206 ありがとうございます。
209 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:19 ] 情報を小出しにするな。
210 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:39 ] >>207 説明不足だと思うならちょっとくらい眠くてもテンプレに従えよ
211 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 00:54:57 ] >>207 int sum = (str[0] - '0') + (str[1] - '0') + (str[2] - '0');
212 名前:207 [2008/02/12(火) 00:55:23 ] >>206 ありがとうございます。
213 名前:デフォルトの名無しさん [2008/02/12(火) 01:00:18 ] !!!!>211さん 眠気がとびました! そっか atoiを絶対使うと思い込んでいたからできなかったのか>< '0'から引けば結果は数値と同じっすもんね・・・ 本当にありがとうございました。
214 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:02:05 ] >>201 >>207 #include<stdio.h> #include<stdlib.h> int main(void){ char buf[16]; int n, sum = 0; fgets( buf, 16, stdin ); n = atoi( buf ); while( n > 0 ) { sum += n % 10; n /= 10; } printf("%d\n",sum); return 0; } 多分こういうことがやりたいんだろうと思って答えてみる 間違っててもそれは質問の仕方が悪いと思う
215 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:09:38 ] 150ですがどなたかお願いします・・・
216 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 01:16:23 ] >>161-162 ありがとうございます。助かりました。
217 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:07:47 ] >>150 どう表示したらいいか不明なので適当にやった 最小のものが見つかった時点で逐次表示 #include<stdio.h> int main(void){ int cost[][4][3]={{{3,2,1},{2,3,3},{3,3,2},{0,2,0}}, {{1,1,2},{2,1,3},{3,1,2},{0,2,0}}, {{1,1,2},{1,2,3},{1,1,4},{0,3,0}}, {{3,0,0},{2,0,0},{2,0,0},{0,0,0}}}, c,cmin=9999,p,pmin=9999,x,y,i,k; for(i=0;i<729;i++){//3^6=729 printf("(0,0)0"); for(k=i,c=p=x=y=0;x<3&&y<3;k/=3) c+=cost[x][y][k%3], p++, x+=(k%3!=0), y+=(k%3!=1), printf("→(%d,%d)%d",x,y,c); if(x==3&&y==3&&cmin>c)cmin=c,printf(" 最小コスト\n"); else if(x==3&&y==3&&pmin>p)pmin=p,printf(" 最短経路\n"); else printf("\r%79s\r",""); } return 0; }
218 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:32:39 ] >>192 課題1 #include <stdio.h> int main(void) { bool exist[10000]={false,}; int temp,i=0,max,min,count=0; FILE *fp=fopen("input8500.txt","r"); if(!fp) return 1; while(!feof(fp)){ fscanf(fp,"%d ",&temp); exist[temp]=true; } fclose(fp); while(!exist[i++]); min = i; i = 9999; while(!exist[i--]); max = i; for(i = 0; i < 10000;i++) if(exist[i])count++; printf("count = %d\nmax - min = %d",count,max-min); return 0; }
219 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 15:38:30 ] >>192 課題2 #include <stdio.h> int main(void) { int rank[11]={0,}; int temp,i,j; FILE *fp=fopen("input_histo.txt","r"); if(!fp) return 1; while(!feof(fp)){ fscanf(fp,"%d ",&temp); rank[temp/10]++; } fclose(fp); for(i=0;i<11;i++){ printf("\n%3d点台:",i*10); for(j=0;j<rank[i];j++)printf("*"); } return 0; }
220 名前:193 mailto:sage [2008/02/12(火) 16:59:52 ] >>192 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6042.txt (1)〜(3)
221 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 20:27:04 ] >>218 >>219 >>220 皆さんありがとうございます これでなんとかなりそうです><
222 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:21:05 ] 先ほど質問スレで質問したのですが場違いだったようなので こちらで質問したいと思います。 お時間がある方、ご協力いただけると幸いです。 先週からC言語について学び始めた高1です。 明日からプログラミングが学校の授業ではじまり 予習していたのですが、何度やっても思い通りの結果を表示できません 本当に基礎的な問題かも知れませんが、アドバイス、正答などいただけると幸いです。 1.5個の整数データを配列に代入し合計と平均を求めるプログラムをつくれ。 2.問1のデータの最大値を求めるプログラムをつくれ。 3.問1のデータを大きい順に並べ替えるプログラムをつくれ。 本当に程度の低い質問かもしれませんが 悩んでます><よろしくおねがいします。
223 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 21:24:37 ] >>1
224 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:06:18 ] >>222 #include <stdio.h> int main(int argc, char **argv) { static int array[5]; int i; double sum=0.0; if (argc==6) { for(i=0;i<5;i++) { array[i]=atoi(argv[i]); sum += array[i]; } printf("average[%lf] sum[%d]\n", sum/5, (int)sum); } return 0; } 悩んでいるというのであれば何がわからないのかくらい書くべきです。 予想すると何もわからなくて悩んでいるんですよね。 2と3は自分で考えましょう。
225 名前:デフォルトの名無しさん [2008/02/12(火) 22:27:32 ] [1] 画像処理 [2] 画像ファイルを読み込み、マウスでクリックした位置の 水平垂直方向の輝度を表示せよ。 [3.1] Windows XP [3.2] Visual C++2005 ExpressEdition [3.3] C++ [4] 期限: 無期限 [5] その他の制限:とくになし。 ファイルダイアログでpicturebox1に画像ファイルを取り込んで、 getpixelでRGB値を取得しています。 pictureboxは640*480なのですが、画像サイズが640*480以外だと、 エラーが出たり、マウスの位置と、取得したRGB値が一致しません。 どうしたものだろうか? private: System::Void pictureBox1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { Graphics^gr=this->CreateGraphics(); Bitmap^bm = (Bitmap^)(pictureBox1->Image); int w = pictureBox1->Image->Width; int h = pictureBox1->Image->Height; int z = 480/h; int x=e->X/z; int y=e->Y/z; gr->FillRectangle(Brushes::Black,Rectangle(700,27,128,480)); gr->DrawLine(Pens::LightGray,700+64,27,700+64,27+480); if(x<w && y<h ){ for (int y=0;y<h-1;y++) { Color c=bm->GetPixel(x,y); //平均輝度 int r=c.R; int g=c.G; int b=c.B; int rgbdiv = (int)((r+g+b)/3); Color c2=bm->GetPixel(x,y+1); int r2=c2.R; int g2=c2.G; int b2=c2.B; int rgbdiv2 = (int)((r2+g2+b2)/3); gr->DrawLine(Pens::Red,700+rgbdiv/2,27+y*z,700+rgbdiv2/2,27+(y+1)*z); } } }
226 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:44:17 ] C++/CLI ?
227 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:12:51 ] C#?
228 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:21:25 ] .net
229 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:36:59 ] >>217 ありがとうございました。
230 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:19:22 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6044.txt input.txt: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6043.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:visual stdio [3.3] 言語:C [4] 期限:2月13日中 [5] その他の制限: 期限間近ではありますが、よろしくお願いいたします
231 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:44:46 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): www.uploda.net/cgi/uploader2/index.php?file_id=0000050574.pdf 待ち行列の問題です。 pdfの11ページに載っています。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 本日23:59まで その他の制限: 特になし 丸投げです。よろしくお願いします。
232 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:50:42 ] >>230 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6045.txt
233 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:43:34 ] ひどいな
234 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:47:34 ] ひどすぎるな
235 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 14:54:57 ] >while(!feof(fp)){ > fscanf(fp, "%d", &temp); > data[temp]++; > } >while(count <= 100)
236 名前:デフォルトの名無しさん [2008/02/13(水) 15:02:22 ] 晒しage
237 名前:デフォルトの名無しさん [2008/02/13(水) 15:30:21 ] >>231 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6046.txt
238 名前:デフォルトの名無しさん [2008/02/13(水) 16:19:12 ] >>230 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6047.txt
239 名前:デフォルトの名無しさん [2008/02/13(水) 20:12:05 ] チョンのあやかり創価学会 偽善者が政治活動、公明党 ニセ仏教、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや カルトキチガイ・創価騙されバカ信者 カルト・キチガイ・偽善政治活動・公明党 カルト・キチガイ・偽善政治活動・公明党 カルト・キチガイ・偽善政治活動・公明党