- 1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
- あなたが解けない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++の宿題を片付けます 92代目 pc11.2ch.net/test/read.cgi/tech/1183511364/
- 897 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:05:05 ]
- いくらでもあるのに規制って(´,_ゝ`)プッ
宿題まるなげするやつのいいそうなことだ。(´,_ゝ`)プッ
- 898 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:10:14 ]
- >>897
>>762
- 899 名前:デフォルトの名無しさん [2007/07/25(水) 19:11:16 ]
- 説明不足でした。申し訳ありません。
N = 10000000 0.0 - 16.7: 0.699031 16.7 - 33.3: 0.206966 33.3 - 50.0: 0.065772 50.0 - 66.7: 0.020377 66.7 - 83.3: 0.005860 83.3 - 100.0: 0.001542 100.0 - 116.7: 0.000351 …中略… 316.7 - 333.3: 0.000000 が実行例としてありました。それぞれ体積の範囲ごとに どれくらい分布しているかを箇条書きみたいに出すようです。 よろしくお願いします。
- 900 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:12:19 ]
- >>898こてはずして必死だなwww
- 901 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:54:06 ]
- >>900
>>762
- 902 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 19:58:05 ]
- >>882 間に合うかな?
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4746.c
- 903 名前:デフォルトの名無しさん [2007/07/25(水) 19:58:54 ]
- age
- 904 名前:デフォルトの名無しさん [2007/07/25(水) 20:01:53 ]
- スマン影響ないけど if(j > 30) j = 30; → if(j > 29) j = 29;
- 905 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:04:49 ]
- [1] プログラミング
[2] キーボードから入力された1行を読み込み,そのアルファベットを全て大文字に 変換して表示するプログラムを作成しなさい。なお,以下に与えられるメイン関数を必ず使用し, 文字列を大文字の文字列に変換する関数str_capを作成することで完成させなさい。 ヒント:小文字とは「'a'以上 かつ 'z'以下」の文字であるので,条件式が成立した場合に 小文字→大文字変換を行う。それ以外の文字はそのままにする。 Program: pt3-3.c の一部 #include <stdio.h> #define MAXLINE 1024 void str_cap(char src[], char dst[]); int main(void) { char line[MAXLINE], conv[MAXLINE]; printf("Input a line ->"); gets(line); str_cap(line, conv); printf("Original : %s\n", line); printf("Converted: %s\n", conv); return 0; } 実行結果 $ ./pt3-3 Input a line -> hiroshima city Original : hiroshima city Converted: HIROSHIMA CITY $
- 906 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:05:46 ]
-
[3] 環境 [3.1] Linux [3.2] gcc 3.4 [3.3] C [4] [無期限] [5] 関数部分をifを使って組む、toupperは使ってはいけない お願いします
- 907 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:26:03 ]
- どなたか>>810
分かりませんか? offspringを使って左右に潜っていくんだろうけど 最終的にどうなれば求める値なのかさっぱりわからん・・・・
- 908 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:29:28 ]
- >>905 mainより上にコピーして
void str_cap(char str1[], char str2[]) { int i; for(i = 0; str1[i] != '\0'; i++) { if(('a'<=str1[i]) && (str1[i]<='z')) str2[i]=str1[i]-'a'+'A'; else str2[i]=str1[i]; } str2[i]='\0'; }
- 909 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:34:48 ]
- >>908 ごめん、str1 -> src、str2 -> dst、ってことで。
- 910 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:18 ]
- >>905
ヒントは無視してるがやってみた #include<stdio.h> int main(void){ char lower[]="abcdefghijklmnopqrstuvwxyz"; char upper[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i; printf("void str_cap(const char *src, char *dest){\n"); printf("\tdo{\n"); printf("\t\t*dest=*src;\n"); for(i=0;i<26;i++) printf("\t\tif(*src=='%c') *dest='%c';\n", lower[i], upper[i]); printf("\t\tsrc++;\n"); printf("\t\tdest++;\n"); printf("\t}while(*src);\n"); printf("}\n"); return 0; }
- 911 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:39 ]
- >>905
それvipでみたな ヒントもらえたのに解決しなかったのか?
- 912 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:38:40 ]
- 4文字の文字列を入力してF,R,E,Eの4文字で構成されていたらOK
それ以外なら入力しなおす。 ERFEやEERFもOK。この4文字で構成(F,RとEが2回で
- 913 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:40:28 ]
- DEAD BEEF
BAD FACE
- 914 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 20:42:48 ]
- >>910 は '\0' 入れ忘れてる orz
printf("}\n"); ↓ printf("\t*dest='\0';\n}\n");
- 915 名前:デフォルトの名無しさん [2007/07/25(水) 20:56:53 ]
- >>902
ありがとうございます。ギリギリ間に合いました。 お手数かけてすみませんでした。
- 916 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:04:05 ]
- >>912
宿題なら >>1 を読んで書きなおし
- 917 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:10:39 ]
- >>908
>>910 ありがとうございました。
- 918 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:22:18 ]
- >>908のように打ち込んだのですが、gets以外でfunction mainでエラーが発生し
printf("Converted: %s\n", conv);のconvの部分が出力されません newjizou.s6.xrea.com/cgi-bin/source/up0098.c
- 919 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:27:47 ]
- >>918
これじゃコンパイルできんだろ?
- 920 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:29:33 ]
- >>919
コンパイルはできたのですが、その部分が出力されないのです。
- 921 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:30:11 ]
- >>909の通りに置換されきれてない上に置換された文字が間違ってる
置換すらまともにできないのかYO
- 922 名前:デフォルトの名無しさん [2007/07/25(水) 21:36:52 ]
- >>902
度々すみません。コンパイルがうまくできてないようなんですが どこが間違っているのかわからないのですが。 お教え願いないでしょうか?
- 923 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:43:05 ]
- int main(int argc, char *argv[]) → int main(void)
にするといいかもNE!
- 924 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:43:11 ]
- >>921
コンパイルはできたのはこっちでした newjizou.s6.xrea.com/cgi-bin/source/up0099.c
- 925 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:49:44 ]
- だからね・・・
置換された文字が間違ってるからダメなんだ
- 926 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:53:32 ]
- >>925
落ち着いて見てみると修正した部分以外にも違っていた すみません、本当に自分が馬鹿でした・・・
- 927 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 21:57:13 ]
- >>924
折角変換処理を通した後で '\0' で上書きするということは memset(dest, '\0', strlen(str)); と等しい。
- 928 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:04:12 ]
- >>927
>>908のstc[i]='\0';の部分を修正したところ、正常に動作しました ありがとうございました、お世話かけました。
- 929 名前:デフォルトの名無しさん [2007/07/25(水) 22:08:37 ]
- [1] 授業単元:OS概論
[2] 問題文(含コード&リンク): Linuxでは、mmap()システムコールを使うと、 複数のプロセス間で仮想アドレス空間の一部を共有することができる。 このようなプログラムを作成し、 実際に仮想アドレス空間の一部が共有されていることを確認しなさい。 [3] 環境 [3.1] OS: LINUX [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2007年7月26日まで さっぱり見えてきません。 何卒宜しくお願い致します。
- 930 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:20:51 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): 正の整数nを入力して、1からnまでの積(階乗)を求めるプログラムを 作成さいなさい [3] 環境 [3.1] OS: Windows [3.2] 言語: C言語 [4] 期限: 2時間以内 よろしくお願いします
- 931 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:34:26 ]
- #include <stdio.h>
int main(void) { unsigned int n, val = 1; scanf("%d", &n); while (n > 0) { val *= n--; } printf("%d\n", val); return 0; } こんなんでいいの? unsigned intを超える値を表示させろというなら面倒だな。
- 932 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 22:39:03 ]
- >>930
#include <stdio.h> int main(void) { int n,i,r; printf("n = "); scanf("%d",&n); for(i=1,r=1; i<=n; i++) printf("%d! = %d\n",i,r*=i); return 0; }
- 933 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:10:40 ]
- >>930 ちょっと変わったところで、こんなのはどう?
>>931の言うように、任意のnには無理だけど。 #include <stdio.h> int fact(int n){ return n>1?n*fact(n-1):1; } int main(){ int n; printf("n = "); scanf("%d",&n); printf("%d\n",fact(n)); return 0; }
- 934 名前:プログラミング初心者 [2007/07/25(水) 23:23:39 ]
- [1]授業単元:c言語
[2]問題文(含コード&リンク): 2つの符号なし整数a,b(ただし、a>bとする)を キーボードから読み込み @a,bを2進表示し、配列の中にビットを格納しなさい Aa,bの四則演算 c=a+b d=a-b e=a*b f=a/b(商f1と余りf2)を計算しその結果を出力しなさい [3]環境 [3.1] OS: Windows [3.2] 言語: C言語 [4]期限:2007年7月28日まで 全然見えてきません。 よろしくお願いします。
- 935 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:34:59 ]
- [1] 授業単元: C言語演習
[2] 問題文: 自分で作成したデータファイルを読み込みんで以下のような出力が出るようにする。 abc efg abc hijkl efg xxxxxxxxx これを abc, 3 efg, 3 hijkl, 5 xxxxxxxxx, 9 のようにする。 同じ文字は二度も表示させない。それぞれの文字数をカウントする。 [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限:7月30日まで よろしくお願いします。
- 936 名前:デフォルトの名無しさん mailto:sage [2007/07/25(水) 23:54:44 ]
- >>934
こんなんでいいかい? #include <stdio.h> void dtob(unsigned int n, char *s) { unsigned int i = 32; s[i] = '\0'; for (i = 31; i >= 0; i--) { s[i] = (((n >> (31 - i)) & 1) + '0'); } } int main(void) { unsigned int a, b; char buf[33]; /* for 32bit */ scanf("%d %d", &a, &b); dtob(a, buf); printf("%s\n", buf); dtob(b, buf); printf("%s\n", buf); printf("%d + %d = %d\n", a, b, a+b); printf("%d - %d = %d\n", a, b, a-b); printf("%d * %d = %d\n", a, b, a*b); b && printf("%d / %d = %d(%d)\n", a, b, a/b, a%b); return 0; }
- 937 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:17:33 ]
- >>929 やっつけなので、かなりアレだかけど、一応、課題は満たせると思う。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4748.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4749.c 使い方 1:4748と4749を同じディレクトリ内でコンパイルする。 さらに、同じディレクトリ内に、hogeという名前のファイルを作る。 2:端末を二つ立ち上げ、片方で4748を、もう片方で4749を実行する。 3:4748で2,3文字入力してエンターしたあと、4749で'x'以外で何か一文字入力してエンター 4:すると、4748で入力した文字列が4749のプログラムに出力される。
- 938 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:18:31 ]
- どなたか>>929を御願いします…
- 939 名前:938 mailto:sage [2007/07/26(木) 00:20:49 ]
- リロードし忘れorz
>>937のを試してみます ありがとうございました
- 940 名前:686 mailto:sage [2007/07/26(木) 00:26:12 ]
- >>702
sa-wiki.com/upload/src/up0151.txt >期限: ([2007年7月23日9:00まで] ) もうとっくに切れているし、必要ないかもしれませんが、一応作ったので 極力ソースの変更はしないようにしたつもりです コメントは入れてませんし、メモリの開放が失敗しているかもしれません 問題の「その後、木のノードからつながる住所データを表示する。」の意味が分からなかったので手を付けていません 素人(自分)がやったのできれいではありません
- 941 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 00:26:38 ]
- >>935
「同じ文字は二度も表示させない」ってのは何のこと? 「同じ単語は…」のことか?
- 942 名前:デフォルトの名無しさん [2007/07/26(木) 00:41:47 ]
- >>810
dataType* f(nodeType *p,int k) { int n=k; if(k<1)return NULL; if(p->left!=sentry)n-=(p->left->offspring+1); if(n==1)return &(p->data); if(n<1)return f(p->left,k); if(p->right!=sentry)return f(p->right,n-1); return NULL; } dataType* RBSTfindKth(int k){ return f(head,k); } 該当箇所にコピー,ヘッダにf()の宣言追加, メニュー文字列に5:find追加でおk
- 943 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 01:39:43 ]
- [1] 授業単元:プログラミング演習I
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4751.txt [3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7/31まで [5] その他の制限:特になし 締め切り間近です。 どうか皆さんの力を貸してください。
- 944 名前:デフォルトの名無しさん [2007/07/26(木) 01:45:29 ]
- [1] 授業単元: プログラミング言語論
[2] 問題文: 読み込んだ分数を連分数として出力せよ。全ての分子が1になったときに連分数にする計算はとめればよい。 [3] 環境 [3.1] OS: Windows [3.3] 言語: C++ [4] 期限:明日(正確には今日)まで・・・ お願いします。
- 945 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:18:38 ]
- >>944
まず > 読み込んだ分数 っていう前提条件をよこせ
- 946 名前:944 [2007/07/26(木) 02:21:10 ]
- 問題があやふやですいません。
float a, b, c; std::cin >> a; std::cin >> b; c = a/b; 上記でいうcが読み込んだ分数です。 よろしくお願いします。
- 947 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:26:58 ]
- >>943
なんとなく lexico だけ #define lwstr(x) (isupper(x)?tolower(x):(x)) int lexico(char *a,char *b){ int i=0; while(*a && *b) i=lwstr(*a)-lwstr(*b),a++,b++; return i; }
- 948 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:33:59 ]
- >>943
ヒント・参考のとおりに書いたつもり くそーすだが kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4752.c
- 949 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 02:35:07 ]
- >>944
よりによってfloatか.微妙な誤差が出るかも 記法はwikiにならった #include <iostream> using namespace std; int main() { float A, B; cout << "input numerator (A in A/B)" << endl; cin >> A; cout << "input denominator (B in A/B)" << endl; cin >> B; if (A == 0) { cout << 0 << endl; } else if (B == 0) { cout << "error" << endl; } else { cout << "[" << (int)(A/B) << "; "; A = A-(int)(A/B)*B; while (A != 1) { if (B-(int)(B/A)*A == 0) { B /= A; break; } cout << (int)(B/A) << ", "; float w = A; A = B-(int)(B/A)*A; B = w; } cout << (int)B << "]" << endl; } }
- 950 名前:944 [2007/07/26(木) 02:46:42 ]
- >>949
ありがとうございます!このアルゴリズムを理解して寝ますwww 本当に助かりました☆
- 951 名前:948 mailto:sage [2007/07/26(木) 02:53:49 ]
- lexico関数の中の int k はいらないから消しといて><
- 952 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 05:58:29 ]
- クソースってのは俺が最初に使った言葉だ、一回使うたびに¢10徴収するニダ
- 953 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 06:38:34 ]
- どう考えてもブルドックソースのほうが先
- 954 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:04:59 ]
- んじゃブルドックソースに一部を納めるから、クソースを使うたびに¢50徴収する二ダ
- 955 名前:デフォルトの名無しさん [2007/07/26(木) 09:10:02 ]
- だれかクイックソートのフローチャートを図付きで詳しく説明してください
俺の頭じゃわかりません><
- 956 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:10:39 ]
- >>955 ¢50払え
- 957 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:11:48 ]
- >>955
www.google.co.jp/search?q=%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 958 名前:デフォルトの名無しさん [2007/07/26(木) 09:21:14 ]
- ググってもわかりやすいフローチャートが出ないんだ(´・ω・`)
- 959 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 09:23:06 ]
- あれで理解できないなら諦めろ。所詮、才能の無い奴、理解力の無い奴は
一応学校の規定で単位はもらえるが、適切に行動が起こせないから困る。 今はなんだかんだ言ってもバカでも金で学歴が買える時代だしな。
- 960 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:40:50 ]
- >>955
要は再帰呼び出しが理解できないでハマってるんだろうけど フローチャートで書いてもそこんところは分かりやすくならんのよ
- 961 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:44:20 ]
- 寧ろ、フローチャートなんか使うから余計に理解しにくくなると思うんだが。
- 962 名前:デフォルトの名無しさん [2007/07/26(木) 13:56:20 ]
- トランプかなんかで、試してみれ
- 963 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 13:57:03 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): ttp://s-io.mydns.jp/up/1/_/jump/1185417223.c/attatch PASS:c 四則演算のプログラムとして提出したのですがgets関数を使って書き換えろといわれ返されてしまいました 上のプログラムを元にして文字入力(取得)にgets関数を使った物を作ってください。 [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語:C言語 [4] 期限: 7月27日 [5] その他の制限: gets関数をつかっていればそれ以外には特に指定なし よろしくお願いします。
- 964 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:02:17 ]
- 教育目的とはいえ今時gets使えとかどこのアホ教授だ
- 965 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:36:12 ]
- >>963
void readch(void) /* 1文字を読む、空白は読み飛ばす */ { #if 0 do { if ((ch = getchar()) == EOF) return; } while (ch == ' ' || ch == '\t'); #else static char buf[1000]; static int index; if (index == 0) gets(buf); do { if ((ch = buf[index++]) == '\0') { ch = '\n'; return; } } while (ch == ' ' || ch == '\t'); #endif }
- 966 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:41:22 ]
- >>965
改悪にしかなってないのがwarosu 教官どんだけアホなのかと
- 967 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:45:15 ]
- >>965
ありがとうございます。 やっぱり無理に書き換えても無駄が増えるだけですよね・・・ 最初から新しく書き直したほうがいいんでしょうか?
- 968 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:47:15 ]
- 板谷だろ
- 969 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 14:52:53 ]
- >>967
どう書き直そうがgets()を使う限り改悪にしかならんから諦めろ (というかこのコードなら、例えfgets()であろうと同じことが言える)
- 970 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 15:26:16 ]
- [1] 授業単元:C++実習
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4720.txt プログラム問題文に沿って作ったものと、それに2つの要素を追加修正した 2つのプログラムの作成をお願いします。 [3] 環境 [3.1] OS: windows XP [3.2] visual studio 2005 [3.3] 言語: C++ [4] 期限: 2007/07/26 13:00まで [5] その他の制限: 特に無し よろしくお願いします
- 971 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:12:59 ]
- 投稿時すでに期限切れなのか
- 972 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:15:21 ]
- ほんとだwこれは新しいww
- 973 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:27:04 ]
- ごめんなさい、ごめんなさい。
>>970 の期限は [4] 期限: 2007/07/30 13:00まで です。 先生方、お願いしまつ。
- 974 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:32:00 ]
- [1] 授業単元:C言語
[2] 問題文 文字列が回文かどうか判定をするプログラムを作成せよ 実行例 文字列を入力してください。 abcdcba(Return) abcdcbaは回文です。 文字列を入力してください。 unko6yy6oknu(Return) unko6yy6oknuは回文です。 文字列を入力してください。 abcdefg(Return) abcdefgは回文ではありません。 [3] 環境 [3.1] Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7/30まで [5] その他の制限:特になし ポインタを使わなければいけないみたいですがさっぱり分かりません。 先生方、もしよろしければお助けください。お願いします。
- 975 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 17:58:32 ]
- >>974
pc11.2ch.net/test/read.cgi/tech/1184003625/598
- 976 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:12:28 ]
- >>974
釣りはとっとけこのクソッタレ野郎 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4758.c
- 977 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:15:23 ]
- ワザとやってんのかな
- 978 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 18:17:28 ]
- // >>974
#include <stdio.h> #include <string.h> #include <stdbool.h> bool isPalindrome(const char * word) { unsigned len = strlen(word); if (len == 0) return false; for (unsigned ic = 0; ic < len / 2; ++ic) { if (word[ic] != word[len - 1 - ic]) return false; } return true; } int main() { char buf[200]; scanf("%199[^\n]", buf); printf("%s is%s palindrome.\n", buf, isPalindrome(buf) ? "" : " not"); return 0; }
- 979 名前:974 mailto:sage [2007/07/26(木) 19:52:31 ]
- >>975
>>976 >>978 ありがとうございました
- 980 名前:943 mailto:sage [2007/07/26(木) 20:05:11 ]
- >>947
>>948 返事遅れてすいませんでした 明日実行してみます ありがとうございました
- 981 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 20:21:04 ]
- >>970
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4759.zip 問題文に沿って作ったものと、2つの各要素を個別に追加したもの計3ファイル 2つの要素を両方追加したファイルが必要なら自分で作ってくろ。
- 982 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 21:28:47 BE:94671252-2BP(12)]
- 次スレ立てました
C/C++の宿題を片付けます 94代目 pc11.2ch.net/test/read.cgi/tech/1185452895/
- 983 名前:プログラミング初心者 [2007/07/26(木) 22:18:40 ]
- >>936
ありがとうございます。 一度やってみましたがデバッグ後に何すればいいのかわかりません
- 984 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 22:27:32 ]
- とりあえず、分かるところまででいいから解読しようとしようよ。
- 985 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 23:11:17 ]
- >>935 同じディレクトリのwc_test.txtを読み込んで、単語数を数えて出力する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4760.c
- 986 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:04:02 ]
- [1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): 以下の円周率を求めるプログラムに、 ニュートン法を適用し、加減乗算のみに書き換えなさい。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4761.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: 特になし [3.3] 言語: C [4] 期限: 2007年7月27日23:00まで [5] その他の制限: よろしくお願いします。
- 987 名前:デフォルトの名無しさん [2007/07/27(金) 00:33:50 ]
- [1] 授業単元: プログラム言語
[2] 問題文: 再帰関数を用いて以下のような三角形を印字せよ。 入力:3 * ** *** *の個数も印字せよ。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限: 2007年7月23日22:00まで [5] その他の制限: forで以下のように作ったのですが、再帰の場合の書き方がわかりません。以下を再帰に書き換えるような形で作っていただけると、大変有り難いです。 よろしくお願い致します。 #include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); } int kazu(int n) { int i,j; for(i=1;i<=n;i=i+1) { for(j=0;j<i;j=j+1) { printf("*"); } printf("\n"); } }
- 988 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:42:55 ]
- >>815
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4762.c 凝りに凝りまくったぜぇ 誰かに丸投げしたのが一目瞭然なほどにな 本当に丸投げスレは地獄だぜフウハァハー
- 989 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 00:47:56 ]
- >>987
#include<stdio.h> int kazu(int n); main() { int a,b; scanf("%d",&a); b=kazu(a); printf("%d\n",b);} int kazu(int n) { int i,j; if(n<1)return 0; j=kazu(n-1); for(i=0;i<n;i=i+1) { printf("*"); } printf("\n"); return j+n;}
- 990 名前:デフォルトの名無しさん [2007/07/27(金) 00:58:54 ]
- >989さん
どうもありがとうございます。 本当に助かりました。
- 991 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:07:29 ]
- おねがいします
[1] 授業単元:プログラミング基礎 [2] 問題文(含コード&リンク): 空白または改行で区切られている単語だけからなる文章があるとする。 これを列は15文字以内(全角を1文字、半角は0.5文字とする) にして、最小の行に納めるようにせよ。 注意:単語の途中で改行をはさむことはできない。 (例) 123456789012345<-15文字分はここまで --------ここから----------------- 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル --------ここまで---------------- (実行結果) 日本 中国 アメリカ インド フランス イタリア スペイン メキシコ ドイツ カナダ イギリス スイス サウジアラビア 南アフリカ共和国 ブラジル [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: gcc2.95-3 [3.3] 言語: C [4] 期限: 8月1日 [5] その他の制限: 無制限(授業でならっていないものでも、自分で勉強して理解したのなら何をつかってもいい)
- 992 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:10:50 ]
- 丸投げってことは何も使っちゃ駄目ってことか・・・
- 993 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:24:04 ]
- >>991
面白そうな問題だ。ちょっと時間がないんで解けないが・・・ これってナップサック問題っていうんだっけ? あれみたいな感じで、入力内容によっては全パターン検索 しようとしたら膨大な時間になりそうな風に感じるんだが。 そういうの詳しい人いない?
- 994 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 01:33:03 ]
- ナップサックというより組み合わせ計画問題。
グリーディ法でいけそうな問題だね。めんどくさそうだけど
- 995 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 03:03:10 ]
- >>935
#include<iostream> #include<string> #include<vector> using namespace std; int main(void){ vector<string> v; string word; int i; while(1){ cin >> word; if(cin.eof() || cin.fail()) break; for(i=0;i<v.size();i++){ if(v[i]==word) break; } if(i>=v.size()) v.push_back(word); } for(i=0;i<v.size();i++){ cout << v[i] << "," << v[i].size() << " "; } cout << endl; return 0; }
- 996 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 04:18:53 ]
- #include <iostream>
#include <set> #include <string> int main( int argc, char ** argv ) { typedef std::set< std::string > dict_t; dict_t wc; while ( 1 ) { std::string word; std::cin >> word; if ( std::cin.eof() || std::cin.fail() ) break; wc.insert( word ); } for ( dict_t::iterator it = wc.begin(); it != wc.end(); it++ ) std::cout << *it << ", " << it->length() << " "; std::cout << std::endl; return 0; } set<> なり,map<> なりじゃなきゃ遅くてどうしようもないだろうに
- 997 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:13:33 ]
- >>988
指定にgets使わないといけないとか言ってクレームした出題者がいるから それもgets使わないといけないと思われ。
- 998 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:51:42 ]
- >>991
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4773.c 全角半角の判定のために非標準の関数wcwidthを使った。
- 999 名前:998 mailto:sage [2007/07/27(金) 08:54:04 ]
- >if(feof(stdin) || ferror(stdin))
> break; これは消し忘れ。
- 1000 名前: ◆mM9WALL8Ws [2007/07/27(金) 08:54:13 ]
- 1000GET
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|