C/C++の宿題片付けます 154代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/11/29(火) 19:30:48.45【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
0002デフォルトの名無しさん
2011/11/29(火) 19:31:21.61[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
http://pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 153代目
http://hibari.2ch.net/test/read.cgi/tech/1320365280/
0003デフォルトの名無しさん
2011/11/29(火) 23:21:23.48環境は何?
0004デフォルトの名無しさん
2011/11/29(火) 23:24:31.02% gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50)
% uname -a
Linux (ホスト名) 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
% cat ack.c
#include <stdio.h>
int ack(int m, int n)
{
if (m == 0) return n+1;
if (n == 0) return ack(m-1, 1);
return ack(m-1, ack(m, n-1));
}
int main()
{
printf("%d\n", ack(4, 1));
return 0;
}
% gcc ack.c
% time ./a.out
65533
./a.out 24.65s user 0.79s system 106% cpu 23.969 total
0005デフォルトの名無しさん
2011/11/29(火) 23:26:31.69% ulimit -s
10240
0006デフォルトの名無しさん
2011/11/29(火) 23:27:40.05つぎにLinuxだからスタックが足りなくなると自動的に伸ばすよね
多分CPUはCore i7だろうから全部キャッシュに乗っちゃうのかな
どこかにack()の呼び出し回数をカウントするようにしてみて欲しい
ack()の呼び出し回数凄いから
0007デフォルトの名無しさん
2011/11/29(火) 23:29:28.17あまり意味がないな
むしろスタックサイズに全てかかっていそうだ
俺のはVC10の32bitでスタックサイズ1Mで例外で落ちる
0008デフォルトの名無しさん
2011/11/29(火) 23:39:33.310009デフォルトの名無しさん
2011/11/29(火) 23:42:08.1732bitマシンでやってみた。
%uname -a
Linux (ホスト名) 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 i686 i386 GNU/Linux
% more /proc/cpuinfo | grep "model name"
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
%time ./a.out
65533
2862984010
./a.out 31.00s user 0.01s system 99% cpu 31.304 total
>>8
なるほど、その間にあるのね。
0010デフォルトの名無しさん
2011/11/29(火) 23:43:27.69>>6
スタックが足りなくなると自動的に伸ばすの初めて知った。ありがとうー
0011デフォルトの名無しさん
2011/11/29(火) 23:44:04.87この問題はお開きか
何かつまんねえ
0012デフォルトの名無しさん
2011/11/29(火) 23:48:20.290013デフォルトの名無しさん
2011/11/29(火) 23:52:06.580014デフォルトの名無しさん
2011/11/29(火) 23:57:24.380015デフォルトの名無しさん
2011/11/30(水) 00:02:24.3600161
2011/11/30(水) 00:05:32.11ありがとう。次は気をつけるー
0017デフォルトの名無しさん
2011/11/30(水) 00:05:54.72979 :デフォルトの名無しさん:2011/11/29(火) 21:17:42.06
[1] 授業単元:コマンドライン引数
[2] 問題文(含コード&リンク):
コマンドライン引数を用いて,以下の計算ができる簡易電卓プログラムを作成せよ.
1. 2 〜5項式までの四則演算(計算順もちゃんと考慮すること)
(出力例)C :¥Programming>dentaku 2 + 5 / 5 + 4 * 2 + 1
答えは 12
C :¥Programming>dentaku 2 * 3 + 1
答えは 7
2.()を用いた演算(かっこの中の計算を最優先する)
(出力例)C :¥Programming>dentaku ( 2 + 3 ) * 7 * ( 3 - 1 )
答えは 70
3. (sin, cos, tan)の演算
(出力例)C :¥Programming>dentaku sin(90) * 2 + 1 - 2
答えは 1
4.logの演算
(出力例)C :¥Programming>dentaku log(3) * 2 + 1
答えは 1.9542425094
5. 半角スペースを入れ忘れても演算可能
(出力例)C :¥Programming>dentaku 1-2*(3+1)-2
答えは 9
[3] 環境
[3.1] OS:Windows7<br> [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5<br> [3.3] 言語:C言語
[4] 期限:12/3まで
[5] その他の制限:
0018デフォルトの名無しさん
2011/11/30(水) 00:15:31.97>まず64ビットだよね
これは今回のコードだとどう影響する?
とりあえず引数がレジスタ渡しになる反面フレームポインタとかが64bitだから
スタック使用量としては...
>つぎにLinuxだからスタックが足りなくなると自動的に伸ばすよね
そうだっけ?
0019デフォルトの名無しさん
2011/11/30(水) 00:36:04.46http://ronri2.web.fc2.com/kiben.html
http://ronri2.web.fc2.com/shinri.html
まあ精神分析を知ってる人なら皆分かってる事だけどね
0020デフォルトの名無しさん
2011/11/30(水) 00:39:04.07ここを読むとQの書き込みが非論理的である事が一目瞭然
こう書くとQは決まって「私の書き込みのどこが非論理的であるか具体例を上げて
示してください」と反論してくるが、相手にしてはならない
Qは自分に都合の悪い証拠を上げられても徹底的に無視を決め込むので、どんな
ハッキリした証拠を上げても全く無駄です
0021デフォルトの名無しさん
2011/11/30(水) 01:09:56.89[2] 問題文(含コード&リンク):標準入力から文字型のポイント配列*str[3]を使って"Hello",
"Goodbye","Thankyou"の3つの文字を入力し入力した順番に標準出力に出力する
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: ggc3.4
[3.3] 言語: C言語
[4] 期限:6時まで
[5] その他の制限: ファイル出力まで習っています
それではお願いします
0022デフォルトの名無しさん
2011/11/30(水) 01:15:27.970023デフォルトの名無しさん
2011/11/30(水) 01:18:20.330024デフォルトの名無しさん
2011/11/30(水) 02:10:55.38malloc() も駄目?
0025デフォルトの名無しさん
2011/11/30(水) 02:19:01.440026デフォルトの名無しさん
2011/11/30(水) 02:26:10.79良かったの?malloc() を使わないのを書いたところなんだがw
ttp://codepad.org/R3YO4sfJ
0027デフォルトの名無しさん
2011/11/30(水) 07:15:21.05一番やさしい1. の場合でもマイナス値を扱うと、すこし難しくなるな。
23×−16 などの入力も認めるのかな?
0028デフォルトの名無しさん
2011/11/30(水) 08:26:58.10[2] 問題文(含コード&リンク):http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4900
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月1日
[5] 実装にはスタックを用いてください。
そのスタックはhttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4901です。
前スレで未解決だったのでもう一度質問させていただきました。
よろしくお願いします。
0029デフォルトの名無しさん
2011/11/30(水) 08:33:05.13983 名前:デフォルトの名無しさん[sage] 投稿日:2011/11/29(火) 21:35:40.34
Qに一つ例題を出してやろう
アッカーマン関数のAck(4, 1)を出力してみろ
普通に再帰で組むといくら待っても答えが出ないどころかスタックオーバーフローになる
連想配列を使って初めて答えが出る
0030デフォルトの名無しさん
2011/11/30(水) 08:45:23.60感染した研究員はどのスレッドにも同じコピペを
繰り返すといった症状が報告されています。
研究員によると思われる書き込みがあっても
近づかないようにしてください。
京都大学
0031デフォルトの名無しさん
2011/11/30(水) 09:55:02.28認めると思います
おまいさんが QZ を好きなのはよくわかった。蓼食う虫も好き好きというから好みに文句をいうつもりはないが、頼むから、
Q と 略 さ ず に Q Z と 書 け
NGワードに登録できず迷惑だ
0034デフォルトの名無しさん
2011/11/30(水) 12:31:39.15if (m == 0)
return n + 1;
if (m == 1)
return n + 2;
if (m == 2)
return 2 * n + 3;
だからこれやめいって前の人も書いてたろ
チョンボはあかんよ
あくまでも定義通りの関数だけで答えを出すんだ
本当に人の言う事に耳を貸せないやっちゃな
つーか上の方にも書いてあるけどVC10でもスタックを10MBほど取れば
30秒足らずで答えが出るって分かってるんだけど(Core i7)
お前さんのヘボCPUでは2分ほど掛かるかもしれんけどな
0035デフォルトの名無しさん
2011/11/30(水) 12:37:03.28[2] �@ http://codepad.org/jqY1UI1T のプログラムを
スクロール方向を逆にし、さらに文字をキーボードから入力
できるように改良せよ。(全角のみでOK)
�A http://codepad.org/aPqYkjGh のプログラムを、半角スペースが
2つ以上の場合は1つになるように改良せよ。
[3.1] Windows7
[3.3] C言語
[4] 12/1の20時まで
[5] �@は%sを使用。�Aは特に条件なし。
わかる方よろしくお願いします。
0036デフォルトの名無しさん
2011/11/30(水) 13:32:28.69e^iθ = isinθ + cosθ は感動した
0037デフォルトの名無しさん
2011/11/30(水) 13:40:26.24他にも感動する公式が一杯あるぞ
0038デフォルトの名無しさん
2011/11/30(水) 13:44:59.020039デフォルトの名無しさん
2011/11/30(水) 13:54:21.11>半角スペース
変換前? 変換後?
0040デフォルトの名無しさん
2011/11/30(水) 13:56:14.90後置ならスタックは不要だと思うんだけどなぁ
そこが謎なので手を出しにくい
004140
2011/11/30(水) 14:06:28.740042デフォルトの名無しさん
2011/11/30(水) 14:09:58.67[2] 問題文(含コード&リンク):
秒数を与えると,それが何日何時間何分何秒にあた
るかを計算する関数
calctime(long sec, int *dp, int *hp, int *mp,
int *sp);
を作成せよ.例えば
calctime(100000, &d, &h, &m, &s);
として呼び出すとd=1, h=3,m=46,s=40 となる
(100,000 秒=1 日3 時間46 分40 秒).以下の実行例の
ように,関数の動作を確認できるmain 関数も作成すること.
(出力例)
秒数を入力してください:100000
100000 秒= 1 日3 時間46 分40 秒
秒数を入力してください:3725
3725 秒= 0 日1 時間2 分5 秒
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc [
3.3] 言語:C言語
[4] 期限:12/2まで
[5] その他の制限:
0043デフォルトの名無しさん
2011/11/30(水) 14:24:57.03前スレで同じのみたな
0044デフォルトの名無しさん
2011/11/30(水) 14:51:08.77#include <stdlib.h>
int calctime(long sec, int *dp, int *hp, int *mp, int *sp)
{
*dp = *hp = *mp = *sp = 0; if(sec < 0) return 0;
*dp = sec / (60 * 60 * 24); sec %= 60 * 60 * 24;
*hp = sec / (60 * 60); sec %= 60 * 60;
*mp = sec / 60; *sp = sec % 60;
return 1;
}
int main(int ac, char **av)
{
char buf[4096];
long sec;
int d, h, m, s;
while(1){
printf("sec = "); fgets(buf, sizeof(buf), stdin); if(buf[0] == '\n') break;
sscanf(buf, "%ld", &sec);
if(!calctime(sec, &d, &h, &m, &s)) fprintf(stderr, "error %ld\n", sec);
else printf("%ld sec = %d days %d hours %d minutes %d seconds\n", sec, d, h, m, s);
}
return 0;
}
0045デフォルトの名無しさん
2011/11/30(水) 15:37:02.24あんまりちゃんと動作の確認をしていない、テストは任せるので問題があればレスしてくれ
ttp://codepad.org/hXYphxIz
指定されたソースコードは何か動作が怪しそうなので使っていない
しかし関数IFは合わせて有るので指定されたソースに問題が無ければ差し替えても動作するはずだ
ソースの『ここから』〜『ここまで』の間を指定ソースと差し替えてくれ
0046デフォルトの名無しさん
2011/11/30(水) 15:43:07.60すげーな
0047デフォルトの名無しさん
2011/11/30(水) 16:02:08.41やってないよ、それも含んでるんだっけ?
だったらパスするよ
0048デフォルトの名無しさん
2011/11/30(水) 16:04:58.23コテつけてくれ。
0049デフォルトの名無しさん
2011/11/30(水) 16:10:06.50どんなに長い文字列(数字)も受け付けろと書いてあった
0050デフォルトの名無しさん
2011/11/30(水) 16:30:47.38ホントだ
『またどのような整数が出現しても』って書いてるな
あんな怪しげなソースを付けてる割にはハードルが高いな
多倍長整数の四則演算か....面倒だな....取りあえずパスしとくわ
0051デフォルトの名無しさん
2011/11/30(水) 16:49:13.03前スレでそれは考えなくていいといってたよ
0052デフォルトの名無しさん
2011/11/30(水) 20:01:24.80ありがとうございます。
何か問題があればレスさせていただきます。
0053デフォルトの名無しさん
2011/11/30(水) 21:21:41.05ttp://ideone.com/i5ouS
0054デフォルトの名無しさん
2011/11/30(水) 22:26:07.66[2] 問題文(含コード&リンク):
プロセス間通信のプログラミングです。
ttp://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/252.txt
すまない、ブラウザのエンコードがUTF-8じゃないと多分化ける。
子プロセスから親プロセスに文字列を送るプログラムはかけたんだけど、
ファイル内容を子プロセスから親プロセスに送ると何も表示されなくなってしまう。
自分でやってみたがここ数時間答えが出せない。
誰かお願いします
[3] 環境
[3.1] OS:mac10.7.2 (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン:gcc4.2.1 (gcc 3.4 VC 6.0等)
[3.3] 言語:C (C/C++/どちらでも可 のいずれか)
[4] 期限:2011/12/1/14:30 ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限:なし (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0055デフォルトの名無しさん
2011/12/01(木) 00:54:04.24子から親に複数回文字列を送っても大丈夫かどうかの確認をしてみたら、ぐらいしかいえない。コードがないと。
005756 ◆QZaw55cn4c
2011/12/01(木) 01:04:43.030058デフォルトの名無しさん
2011/12/01(木) 01:19:29.170059デフォルトの名無しさん
2011/12/01(木) 01:24:33.79助かったありがとう、ちゃんと動いた。
どうやら自分はバッファの扱いがおかしかったみたい。
詳細に検討することをお勧めします。
0061デフォルトの名無しさん
2011/12/01(木) 02:23:04.18[2] 問題文(含コード&リンク):
白黒のbmp画像を読みとり、白なら0、黒なら1として以下の例のような画像情報を載せたtxtファイルを作成する。
(txtファイルの1行目にはbmpの横と縦のピクセル数を書き込むこと)
<例>
元のbmp画像(direct.bmp):http://loda.jp/kng311tt/?id=74.bmp
↓
/********direct.txtの中身********************
24 15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
******************************************/
[3] 環境
[3.1] OS:windows7 32bit
[3.2] コンパイラ名とバージョン: Borland 5.51
[3.3] 言語: C言語
[4] 期限:2011年12月10日 14:00
[5] ASNIの範囲内でよろしくお願いします。
0062デフォルトの名無しさん
2011/12/01(木) 04:06:55.360063デフォルトの名無しさん
2011/12/01(木) 04:15:31.370064デフォルトの名無しさん
2011/12/01(木) 04:34:45.20そのファイル、なんか珍しい形式っぽいのかな。
エラー処理も何もないけど。
http://codepad.org/1F5vD4AE
0065デフォルトの名無しさん
2011/12/01(木) 06:50:42.66作って全然仕様にあってないけどupする
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uchar;
int main()
{
FILE *fp = fopen("kng311tt.bmp","rb");
FILE *fw = fopen("direct.txt","w");
uchar BhInfo[54];
uchar *BInfo = NULL;
int i,j;
fread(BhInfo,sizeof(char),51,fp);
fprintf(fw,"%d,%d\n",BhInfo[18],BhInfo[22]);
rewind(fp);
fseek(fp,54,SEEK_SET);
BInfo = malloc(sizeof(uchar)*(BhInfo[18]));
while(!feof(fp)){
fread(BInfo,sizeof(char),BhInfo[18],fp);
for(i = 0; i< (BhInfo[18]);i++){
if(BInfo[i] == 0x00)
fprintf(fw,"1 ");
else if(BInfo[i] == 0xff)
fprintf(fw,"0 ");
}
fputc('\n',fw);
}
free(BInfo);
fclose(fp);
fclose(fw);
return 0;
}
0066デフォルトの名無しさん
2011/12/01(木) 08:39:26.82変換後の方です。
(e3t55sf45d → e t sf d
となっているのを
e3t55sf45d → e t sf d
となるように改良する。)
0067デフォルトの名無しさん
2011/12/01(木) 08:43:27.36ミスってるけど、上はtとs、fとdの間は
スペース二つです。
0068デフォルトの名無しさん
2011/12/01(木) 08:49:48.520069デフォルトの名無しさん
2011/12/01(木) 10:12:25.73ありがとうございます!たぶん、作成者側のオリジナルだと思います^^
以前ここで作っていただいたtxt→bmpに変換するプログラムより
すごくシンプルですね。
白黒のみでもtxt→bmpに変換するのは大変なのでしょうか?
0070デフォルトの名無しさん
2011/12/01(木) 13:48:23.39[2] 問題文(含コード&リンク):
.cファイルを読み込んで、定義されている変数や配列を一覧にして表示する(できれば何型で定義されているかも)プログラムを作成せよ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: visual studio 2010
[3.3] 言語: C言語
[4] 期限:無期限
[5] その他の制限:できるならやってみろって感じで出されたので制限はないです
0071デフォルトの名無しさん
2011/12/01(木) 14:33:31.55コンパイルの段階で変数名等は失われるので無理。
0072デフォルトの名無しさん
2011/12/01(木) 14:34:45.77>.cファイルを読み込んで
0073デフォルトの名無しさん
2011/12/01(木) 14:37:02.92見落としてたよ orz
0074デフォルトの名無しさん
2011/12/01(木) 14:47:18.670075デフォルトの名無しさん
2011/12/01(木) 15:02:03.93この本読めば作れるようになるかもしれない
ttp://www.amazon.co.jp/dp/4797337958
0076デフォルトの名無しさん
2011/12/01(木) 15:04:13.90Cプログラマは避けて通れる世界じゃないかと
0077デフォルトの名無しさん
2011/12/01(木) 15:10:26.940078デフォルトの名無しさん
2011/12/01(木) 15:26:26.78>定義されている変数や配列
structは?
0079デフォルトの名無しさん
2011/12/01(木) 15:34:08.68あと、
#define VARIABLE(type, name) (type) (name)
みたいな変なマクロを使って変数宣言してるとか
0080デフォルトの名無しさん
2011/12/01(木) 15:46:08.83プリプロセスしてから解析すればよくね?
0081デフォルトの名無しさん
2011/12/01(木) 15:53:23.00C言語はLL(1)だっけ
面倒な問題を出してくれたもんだ〜
008270
2011/12/01(木) 15:59:06.55構造体もはいってますね、すみません
>>79
多分そこまでは求めてられないので
int a;みたいな基本的な宣言だけで大丈夫だと思います
口頭で言われたもので、曖昧ですみません…
0083デフォルトの名無しさん
2011/12/01(木) 16:10:25.78その手の問題は
今までの授業、課題をちゃんとこなしてきた→できる範囲で回答すればおk
今までの授業、課題を人に頼ってきた→詰む時
だよ。最後の審判的な。
丸くおさめたいなら、何も提出せずに、難しいので出来上がらなかったということを口頭で言って終わらせる。
0084デフォルトの名無しさん
2011/12/01(木) 16:31:28.720085デフォルトの名無しさん
2011/12/01(木) 16:36:24.010086デフォルトの名無しさん
2011/12/01(木) 17:07:58.27「2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。」
どなたか、上の問題がわかる方いらっしゃいましたら、教えて頂きたいです。宜しくお願いします。
0087デフォルトの名無しさん
2011/12/01(木) 17:10:47.58わかるがお前の態度が気に入らない
つーか>>1嫁
0088デフォルトの名無しさん
2011/12/01(木) 17:20:46.05[1] 授業単元: C言語
[2] 問題文(含コード&リンク):2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C言語
[4] 期限:12月2日まで
[5] その他の制限: なし
です。すみませんお願いします
0089デフォルトの名無しさん
2011/12/01(木) 17:37:58.390090デフォルトの名無しさん
2011/12/01(木) 17:45:21.54http://ideone.com/OVAsy
0091デフォルトの名無しさん
2011/12/01(木) 17:47:01.35外積はそうだとおもいます
0092デフォルトの名無しさん
2011/12/01(木) 17:50:33.93ご丁寧にありがとうございます
助かりました!
0093デフォルトの名無しさん
2011/12/01(木) 17:51:03.20[2]引数vc の指すint 型配列に対して,その(pos + 1)
番目からn 個の要素(vc[pos], vc[pos+1], …のn 個)
の値を0 にする関数
void reset_n(int *vc, int pos, int n)
を作成せよ 。
例.ary[] : 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
ary[n1] からn2 個の要素を0 にします。
n1 を入力してください:2
n2 を入力してください:4
指定された要素を0 にしました。
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語:C言語
[4] 期限:12月2日まで
[5] 例えば配列ary[] が
{10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
であるとき,
reset_n(ary, 2, 4);
として呼び出すと,配列ary[] は
{10, 11, 0, 0, 0, 0, 16, 17, 18, 19}
となる.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,プログラムは以下の要件
を満たすこととする.
? main 関数内でint 型配列を適当な値で初期化・宣
言して用いてよい.
? 関数reset_n の中では,添字演算子[] は使用しな
いこと
0094デフォルトの名無しさん
2011/12/01(木) 18:04:34.22単元の名前替えるように教官に言っとけ
0095デフォルトの名無しさん
2011/12/01(木) 18:07:04.03[2] 問題文(含コード&リンク):http://i.imgur.com/hnQll.jpg
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12/6 10:00
[5] その他の制限:入門なのでそれほど複雑なものは習ってない・・・かな
お願いします。
#include <stdio.h>
void reset_n(int *vc, int pos, int n) {
int i;
for (i = 0; i < n; ++i) *(vc + pos + i) = 0;
}
void print(const int *a, int n) {
int i;
for (i = 0; i < n; ++i) printf("%d ", a[i]);
putchar('\n');
}
int main(void) {
int a[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
int n = sizeof a / sizeof *a;
int n1, n2;
print(a, 10);
puts("ary[n1] からn2 個の要素を0 にします。");
printf("n1 を入力してください:");
scanf("%d", &n1);
printf("n2 を入力してください:");
scanf("%d", &n2);
if (n1 < 0 || n < n1 + n2) {
puts("範囲オーバー");
} else {
reset_n(a, n1, n2);
puts("指定された要素を0 にしました。");
print(a, 10);
}
return 0;
}
0097864
2011/12/01(木) 18:37:27.33[2] 問題文(含コード&リンク):
http://codepad.org/kRWaQPuY
例えば 学籍番号として 181 など 存在しない学生の番号を入力して実行すると、
エラーを生じてプログラムが停止してしまうなど、このソース コードは不完全である。
そこで存在しない学生の番号を入力した場合には、
「その番号の学生は、いません。」のエラーメッセージを表示するように、プログラムを改良せよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VC2008
[3.3] 言語:C
[4] 期限:明日
[5] その他の制限:
0098デフォルトの名無しさん
2011/12/01(木) 18:57:56.19884:デフォルトの名無しさん:2011/11/28(月) 22:51:02.28
>>882
Line94 pointer_student = pointer_student->pointerNext; の次に以下を追加
if( ! pointer_student ) { printf( "その番号の学生は居ない\n" ); return 0; }
0099デフォルトの名無しさん
2011/12/01(木) 19:04:59.870101デフォルトの名無しさん
2011/12/01(木) 20:36:09.10http://ideone.com/Hbkem
http://ideone.com/PKP8W
0102デフォルトの名無しさん
2011/12/01(木) 20:54:02.77http://hibari.2ch.net/test/read.cgi/tech/1320365280/866
0103デフォルトの名無しさん
2011/12/01(木) 21:55:10.15処理内容が検索から削除に変化しただけで対応方法は同じだ
再出題したってことは >>98 の意味を全く理解してないって事なんだろうな、さすがにちょっと酷いと思う
0104デフォルトの名無しさん
2011/12/01(木) 22:27:18.07[2] 問題文(含コード&リンク):
http://f.mjmj.be/disp/dBGyzRvNwj/
http://f.mjmj.be/disp/nOtMDkalj0/
上記のアルゴリズムを使用し、最短経路を求めよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VisualStudio2010
[3.3] 言語:C言語
[4] 期限: 2日のAM9時まで
[5] その他の制限:2次元配列を使用でお願いします。
画像見づらかったらすみません。長いですがよろしくお願いします。
0105デフォルトの名無しさん
2011/12/02(金) 00:58:47.88[2] 問題文(含コード&リンク): http://ideone.com/Z4ZMs
上記のコードを修正せよ
※ポイント
�@char stringをmallocでエリアを動的確保(初期化もする)
�Asnprintfをforで回して連結
[3] 環境
[3.1] OS:指定なし
[3.2] コンパイラ名とバージョン:指定なし
[3.3] 言語:C
[4] 期限: 2011/12/3
[5] その他の制限:特になし
よろしくお願いします
0106デフォルトの名無しさん
2011/12/02(金) 01:02:19.10[2] 問題文(含コード&リンク):
256階調(8bit)のpgm形式の画像を256階調(8bit)のbmp形式の画像へ、
256階調(8bit)のbmp形式の画像を256階調(8bit)のpgm形式の画像へ
それぞれ変換するプログラムを作成せよ。
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C言語
[4] 期限:2011年12月9日 17:00
0107デフォルトの名無しさん
2011/12/02(金) 01:43:03.43http://ideone.com/R9G2g
0109デフォルトの名無しさん
2011/12/02(金) 02:08:05.30http://codepad.org/iSliWQFI
0110デフォルトの名無しさん
2011/12/02(金) 02:41:51.43bmpの指定はそれだけ?
>>61みたいに決めうちでもいいのかな。汎用的にってなると面倒なんでちょっとやる気が…
[2] 問題文(含コード&リンク):テキストファイルを読み込み1次元の離散コサイン変換を行って、その結果を新たなテキストファイルに書き込むプログラムを作れ。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc 4.3.2
[3.3] 言語: C言語
[4] 期限: 12月3日 18時
[5] その他の制限: 例 10,15,20,80,120,160,210,10,20,100...と続くテキストデータ3つ(data.txt data2.txt data3.txt)を(それぞれ内容は違う)読み込む。
それぞれに1次元の離散コサイン変換を行う。
変換後の値を新たなテキストファイルに(data,data2,data3)改行(data,data2,data3)改行...といったような表示で書き込む。
0112デフォルトの名無しさん
2011/12/02(金) 06:07:11.57http://www5.airnet.ne.jp/tomy/cpro/etc19.htm#source
0113デフォルトの名無しさん
2011/12/02(金) 08:28:36.81問題文とも全然合ってないなw
0114デフォルトの名無しさん
2011/12/02(金) 08:45:32.05ありがとうございます
0115デフォルトの名無しさん
2011/12/02(金) 11:02:25.36http://vision.kuee.kyoto-u.ac.jp/lecture/dsp/?menu=c_fft
0116デフォルトの名無しさん
2011/12/02(金) 11:03:01.37それだけなんですけど、面倒ならある程度でお願いします。
0117デフォルトの名無しさん
2011/12/02(金) 16:39:46.70問題文がいろいろ足りない気がするし離散コサイン変換の名前しか知らんけど
wikipediaに載ってた公式見て適当に組んでみた。
検算もどうやればいいかよくわからんから適当に直して
include <math.h>
#include <string.h>
#include <stdio.h>
#define MAXLINE 1024
void dct(double *i,double *o,int e){int k,n;for (k=0;k<e;k++){for(n=0;n<e;n++)
{o[k]=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k );}}}int getfield(char
*infile, double *out){FILE *fp=fopen(infile,"r");char *c=",",s[MAXLINE],*tmp;
int i;fgets(s,MAXLINE,fp);fclose(fp);out[0]=atof(strtok(s,c));for(i=1;NULL!=
(tmp=strtok(NULL,c));i++){out[i]=atof(tmp);}return i++;}int main(){double *a[3]
,*b[3];int d[3]={0},i=0;char *filename[]={"data.txt","data2.txt","data3.txt"};
FILE*data,*outp;for(i=0;i<3;i++){a[i]=malloc(MAXLINE*sizeof(double));d[i]=
getfield(filename[i],a[i]);b[i]=malloc(d[i]*sizeof(double));dct(a[i],b[i],d[i]);
free(a[i]);}outp=fopen("outfile.txt","w");for(i=0;i<d[0];i++){fprintf(outp,"(%f"
",%f,%f)\n",b[0][i],b[1][i],b[2][i]);}fclose(outp);for(i=0;i<3;i++)free(b[i]);}
0118デフォルトの名無しさん
2011/12/02(金) 17:52:20.01[2] 問題文(含コード&リンク): http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4911
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2011年12月4日
よろしくお願いします。
ありがとうございます。
そのサイトの手順通りに、解凍→移動→makeしたんですが、makeするとエラーが出て先に進めませんでした。
ありがとうございます。
どうやって直せば良いかわかりません、申し訳ありません。
でも、参考にさせていただきます。
0121デフォルトの名無しさん
2011/12/02(金) 18:27:07.90[2] 問題文(含コード&リンク):http://codepad.org/71KFD3ih
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2010 Express
[3.3] 言語: C言語
[4] 期限: 2011年12月4日まで
[5] その他の制限: OpenGLを使用
4枚の羽根が作れず、その上視点を変えると羽と噴射口の位置がずれます。
どのように直せばよいのか分からないため、修正をお願い致します。
また、リンク先の(3)(5)も出来ておりません。
0122デフォルトの名無しさん
2011/12/02(金) 18:27:22.88[2] 問題文(含コード&リンク):
(1)
#include <stdio.h>
#define NUMBER 5
int tensu[NUMBER];
int top(void);
int main(void)
{
extern int tensu[];
int i;
printf("%d人の点数を入力してください。\n", NUMBER);
for (i = 0; i < NUMBER; I++) { printf("%d:",i + 1); scanf("%d", &tensu[i]); } printf("最高点=%d\n", top()); return (0);
}
int top(void)
{ extern int tensu[]; int i; int max = tensu[0]; for (i = 1; i < NUMBER; i++) if (tensu[i] > max) max = tensu[i]; return (max);
}
上のプログラムを参考にして、5人の点数の平均点を返す関数 double ave(void)を作成せよ。
その関数を用いて、読み込んだ5人の点数の平均値を出力するプログラムを作成せよ。
(2)
2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。
この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。
[3] 環境 [3.1] OS: Windows [3.3] 言語: C++
[4] 期限: できれば今日中を希望しています。
お手数ですがよろしくお願いします。
0123デフォルトの名無しさん
2011/12/02(金) 20:38:31.75終点も同じように5になっているので6にしたいのですが、変更できるでしょうか。
初期値をいじってみたのですが上手くいきませんでした。
あと出力は通った経路順番に節番号とコストを出したいのですが、
書いて貰った逆なので、可能ならばお願いします
0124デフォルトの名無しさん
2011/12/02(金) 20:59:43.69http://ideone.com/Jti6X
http://ideone.com/GOkPl
0125デフォルトの名無しさん
2011/12/02(金) 21:02:44.30>>109じゃないけど、始点終点の表示だけなら、
68:printf("%d(%d)", x+1, v[x].label);
71:printf(" <- %d(%d)", x+1, v[x].label);
0126デフォルトの名無しさん
2011/12/02(金) 23:03:52.94ありがとうございます。
0127デフォルトの名無しさん
2011/12/02(金) 23:15:48.50http://codepad.org/SD6ZpI0r
0128デフォルトの名無しさん
2011/12/02(金) 23:24:42.96[2] 問題文(含コード&リンク):
1番:コマンドライン引数を用いて2つの10進数を入力し,
その2つの数を2進数表示したものについて,論理和,論理積,
排他的論理和,を表示するプログラムを作成せよ。
また,2進数で直接入力して計算できるようにせよ。
2番:1番で求めた論理和,論理積,排他的論理和について、
指定したビット目の値、連続する0の数および1の数をそれぞれ数えて
交互に表示するプログラムを作成せよ。
3番目:1番で求めた論理和,論理積,排他的論理和について、
4桁ずつ区切って16進数で表示するプログラムを作成せよ.
例:
論理和 : 000111101001001
1番目の区切り:0001 = 1
2番目の区切り:1110 = e
3番目の区切り:1001 = 9
4番目の区切り:001 = 1
[3] 環境
[3.1] OS: Windows
[3.2]bcc
[3.3] 言語: C言語
[4] 期限: 来週の月曜まで
0129デフォルトの名無しさん
2011/12/03(土) 00:10:27.81扱う数値は short なのか?
0130デフォルトの名無しさん
2011/12/03(土) 00:11:39.37わからないです、とうかshortは習ったことないです^^;
0131デフォルトの名無しさん
2011/12/03(土) 00:15:07.11ありがとうです!
0132デフォルトの名無しさん
2011/12/03(土) 00:15:42.38この問題は原文のままですか?
2番の問題は読解できないです。
0133デフォルトの名無しさん
2011/12/03(土) 00:23:03.56ほぼ原文ですよ.
ほんとうは紙に実行例が書いてあるんですけど^^
例:
論理和 : 000111101001001
何ビット目を表示?>4
3ビット目 = 1
論理和の連続する0の数および1の数を交互に表示します
3
4
1
1
2
1
2
1
0134デフォルトの名無しさん
2011/12/03(土) 00:23:53.56間違えました
×3ビット目 = 1
○4ビット目 = 1
0135デフォルトの名無しさん
2011/12/03(土) 00:32:28.18なら、例題は2バイトだけど回答は4バイトにするって理解すれば良いのかな
問2で連続する0の数と有るけど、小さい数字の場合は左に0が並ぶけどそれもカウントするのか?
それとも1が出現した後だけに着目するのか?
0137デフォルトの名無しさん
2011/12/03(土) 00:48:48.78最も重要な質問、itoa() と strtol() は使っても良いのか?
これらを作れって題意かも知れない
0138デフォルトの名無しさん
2011/12/03(土) 00:52:18.51いいと思います。
0139デフォルトの名無しさん
2011/12/03(土) 01:10:55.51http://ideone.com/tYikt
http://ideone.com/uFVIz
0140デフォルトの名無しさん
2011/12/03(土) 01:49:39.92なんで後だししたの^^
0141デフォルトの名無しさん
2011/12/03(土) 02:34:36.24ttp://codepad.org/UV3kfRhM
3つも同じようなコードをアップするのは気が引けるから全部まとめた
dispHex() が問3に関する部分で dispOther() が問2に関する部分
適当に切り分けて提出してくれ
0142デフォルトの名無しさん
2011/12/03(土) 03:30:02.72[2] 問題文:
標準入力より4点 A(x1,y1), B(x2,y2), C(x3,y3), D(x4,y4)の座標が与えられる
座標の数値はいずれも -1000 以上 1000 以下の整数である
線分AB と 線分CD の交点を求め、その座標を小数点以下 20 桁まで表示せよ
線分が重なる場合 および 交点を持たない場合は 無し と表示せよ
但し端点のみが一致する場合はその座標を表示せよ
線分AB および 線分CD の長さは 0 より大きいものとする(A≠B C≠D)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: (C/C++/どちらでも可)
[4] 期限: 無期限
[5] その他の制限: 外部ライブラリを使用せず単一のソースコードとして下さい
0143デフォルトの名無しさん
2011/12/03(土) 03:49:13.58>>141と同じく全部まとめました。
十進数と二進数はオプション -d と -b で使い分けます。
Usage 参照。
0144デフォルトの名無しさん
2011/12/03(土) 03:49:58.90貼り忘れw
http://ideone.com/SMr6c
0146デフォルトの名無しさん
2011/12/03(土) 03:57:05.11[2] 問題文(含コード&リンク):
設問1-1
プログラム例10.5.1において「s = sum(x,y); d=difference(x,y);」を、和と差の両方を計算する関数「sumdif(x, y, &s, &d);」に置き換えた後、同じ表示結果が得られるように関数「void sumdif(float x, float y, float *s, float *d)」を作成しなさい。
※return文で返せる戻り値は高々1個であるので、ポインタを使って計算結果を返すことが必要になる。
プログラム例10.5.1
ttp://www.dotup.org/uploda/www.dotup.org2336763.txt.html
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2011年12月7日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法は習いました。
宜しくお願いします。
0149デフォルトの名無しさん
2011/12/03(土) 06:04:49.11ほとんどコピペ
http://ideone.com/0OJdm
0150デフォルトの名無しさん
2011/12/03(土) 06:08:11.46void sumdif(float x, float y, float *s, float *d)
{
*s = x + y;
*d = x - y;
}
double は 20 桁も保障するのか?
0152デフォルトの名無しさん
2011/12/03(土) 06:10:41.98演算の精度を問う問題かと思ったが。
0153デフォルトの名無しさん
2011/12/03(土) 09:57:56.54>>143
>>144
ありがとうございます!
0154デフォルトの名無しさん
2011/12/03(土) 10:04:58.26計算精度が足りないのと
線分なので
A(2,1) B(3,1) C(1,2) D(1,3)
の時は交差しない
0155デフォルトの名無しさん
2011/12/03(土) 10:21:08.12すいません。
2進数で入力されても可能というところもコマンドライン引数でお願いします。
>>144
コンパイルしようとしたら以下のエラーが出ました
エラー E2313 prog1005.c 30: 定数式が必要(関数 ConvertBinaryToHexadecimal )
エラー E2313 prog1005.c 70: 定数式が必要(関数 main )
エラー E2313 prog1005.c 71: 定数式が必要(関数 main )
*** 3 errors in Compile ***
0156デフォルトの名無しさん
2011/12/03(土) 10:33:35.41const の値を#defineに替えれ
0157デフォルトの名無しさん
2011/12/03(土) 10:56:39.98http://codepad.org/R1uz170a
エラー E2188 prog1005.c 13: 式の構文エラー(関数 ConvertDecimalToBinary )
エラー E2379 prog1005.c 13: ステートメントにセミコロン(;)がない(関数 ConvertDecimalToBinary )
エラー E2188 prog1005.c 16: 式の構文エラー(関数 ConvertDecimalToBinary )
警告 W8057 prog1005.c 17: パラメータ 'decimal' は一度も使用されない(関数 ConvertDecimalToBinary )
エラー E2290 prog1005.c 30: 配列境界 に ] がない(関数 ConvertBinaryToHexadecimal )
警告 W8019 prog1005.c 30: コードは効果を持たない(関数 ConvertBinaryToHexadecimal)
エラー E2379 prog1005.c 30: ステートメントにセミコロン(;)がない(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 31: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
エラー E2379 prog1005.c 31: ステートメントにセミコロン(;)がない(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 39: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
エラー E2188 prog1005.c 39: 式の構文エラー(関数 ConvertBinaryToHexadecimal )
警告 W8057 prog1005.c 40: パラメータ 'binary' は一度も使用されない(関数 ConvertBinaryToHexadecimal )
警告 W8057 prog1005.c 40: パラメータ 'hexadecimal' は一度も使用されない(関数 ConvertBinaryToHexadecimal )
0158デフォルトの名無しさん
2011/12/03(土) 10:56:59.47警告 W8019 prog1005.c 45: コードは効果を持たない(関数 DisplayBitInfo )
エラー E2379 prog1005.c 45: ステートメントにセミコロン(;)がない(関数 DisplayBitInfo )
エラー E2290 prog1005.c 70: 配列境界 に ] がない(関数 main )
警告 W8019 prog1005.c 70: コードは効果を持たない(関数 main )
エラー E2379 prog1005.c 70: ステートメントにセミコロン(;)がない(関数 main )
エラー E2140 prog1005.c 71: ここでは宣言はできない(関数 main )
エラー E2290 prog1005.c 71: 配列境界 に ] がない(関数 main )
エラー E2188 prog1005.c 71: 式の構文エラー(関数 main )
警告 W8019 prog1005.c 71: コードは効果を持たない(関数 main )
エラー E2379 prog1005.c 71: ステートメントにセミコロン(;)がない(関数 main )
エラー E2121 prog1005.c 89: 関数呼び出しに ) がない(関数 main )
エラー E2188 prog1005.c 89: 式の構文エラー(関数 main )
エラー E2451 prog1005.c 91: 未定義のシンボル binary(関数 main )
エラー E2451 prog1005.c 98: 未定義のシンボル hexadecimal(関数 main )
*** 21 errors in Compile ***
0159デフォルトの名無しさん
2011/12/03(土) 10:57:36.810160デフォルトの名無しさん
2011/12/03(土) 12:23:57.06http://codepad.org/vr6pknwV
#define hoge foo
はコンパイル時に hoge を foo に置き換えるので、
#define hoge foo;
とした場合、hoge は foo; に置き換えられてしまいます。
0161デフォルトの名無しさん
2011/12/03(土) 13:56:25.82[2] 問題文
ポインタの利用方法として,配列を使わない文字列処理を習得する.課題3を配列を使わずに「メモリの動的確保」及び「ポインタ演算」により処理する.
課題3
配列の値を前後に移動させる際に押し出された要素(文字)は反対側に入るようにします.
例. ABCDE に 手続き(1)(=1つ前に詰める)を適用すると
BCDEA となる.
文字型の配列に値を格納しなくてはなりませんが「配列の初期化」のテクニックを使って,プログラム中で行う(つまりキーボードから打ち込まない).また,配列のサイズ(つまり要素数)は5個とする. ( 例."ABCDE" の5文字を処理対象とする等)
条件
プログラム中で配列を用いてはいけません.配列の宣言の代わりに,必ずにある「メモリの動的割り当て」の手法を使って malloc関数で必要なメモリを確保する方法で実装すること.
変化したことが分かるようにprintf関数で確認できるようにすること
[3] 環境
[3.3] 言語: C言語
[4] 期限: 12月4日 18時
お願いします
0162デフォルトの名無しさん
2011/12/03(土) 14:54:27.56http://ideone.com/hyLDi
0163デフォルトの名無しさん
2011/12/03(土) 15:08:07.94[2] 問題文(含コード&リンク):
以下の実行例のように,文字列を入力すると,その前
後に"を付けた文字列を生成するプログラムを,ライブ
ラリ関数strcpy とstrcat を用いて作成せよ.ただし,
プログラムは以下の要件を満たすこととする.
? ユーザに入力させる文字列を格納する配列を
str1[],前後に"を付けた文字列のための配列を
str2[] とする.
? ユーザに入力させる文字列は30 字までとする.
? 配列str2[] は初期化せずに宣言し,ライブラリ関
数strcpy とstrcat を使って(添字演算子[] を
使わずに)前後に"を付けた文字列を生成すること.
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:2011年12月5日 17:00
[5]実行例
文字列を入力してください:Kousoku
文字列の前後に"を付けました。
str2:"Kousoku"
0164デフォルトの名無しさん
2011/12/03(土) 15:38:12.62http://ideone.com/5QGXA
0165デフォルトの名無しさん
2011/12/03(土) 15:56:24.7110行目
scanf("%30s", str1);
の方がいいかも
12,13,14行目が
strcpy(str2, "\"");
strcat(str2, str1);
strcat(str2, "\"");
では?
0166デフォルトの名無しさん
2011/12/03(土) 16:10:32.67[2] 問題文(含コード&リンク):
2分探索を呼び出すmain関数を作成し、実際の動作を確認せよ。
ただし各データの値は構造体配列の初期設定で設定するものとする。
また、プログラムは以下のように動作するものとする。
Please input a key: 8
Found! Key=8, Name=Hanada
Please input a key: 24
Found! Key=24, Name=Nishida
Please input a key: 6
Not Found!
Please input a key:
・
・
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: VC2008
[3.3] 言語: C
[4] 期限:12/5
0167デフォルトの名無しさん
2011/12/03(土) 16:11:00.08[5]以下のコードを使用してください。
int bi_search(int target){
int hi, lo, mid;
lo=0; hi=N-1; //Nはデータ数
while(lo <= hi){
mid=(lo+hi)/2; //中央のデータのインデックス
if(target==St[mid].num)
return mid;
else if(target<St[mid].num)
hi=mid-1; //左半分を再検索
else
lo=mid+1; //右半分を再検索
}
return -1;
}
0168デフォルトの名無しさん
2011/12/03(土) 16:19:45.17> scanf("%30s", str1);
> の方がいいかも
なるほど。scanf で文字数指定できるの知らなかったです。
> 12,13,14行目が
> strcpy(str2, "\"");
> strcat(str2, str1);
> strcat(str2, "\"");
> では?
確かにそちらの方が自然ですね・・・
0169デフォルトの名無しさん
2011/12/03(土) 16:35:40.43なら >>144 と同様に第一引数をスイッチとする事になるな
ttp://codepad.org/x8xykKvQ
0170デフォルトの名無しさん
2011/12/03(土) 17:03:49.61[2] 問題文(含コード&リンク):
double (*e)[4];
printf("*e\t%d\n", sizeof(*e));
なんと表示されるか答えよ。
// コンパイルして32と表示されたが理由がわからない。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC2010
[3.3] 言語: C
[4] 期限: 特に無し
[5] その他の制限: 多重ポインタまで学習
0171デフォルトの名無しさん
2011/12/03(土) 17:07:25.74>>128はこのように2つの10進数or2進数から計算できるようにしないといけないのですが
頂いたプログラムではできません。
D:\Prog>test 5 1
x = 0101
y = 0001
x & y = 0001
x | y = 0101
x ^ y = 0100
D:\Prog>test 0111 1001
x = 0111
y = 1001
x & y = 0001
x | y = 0001
x ^ y = 0001
0172デフォルトの名無しさん
2011/12/03(土) 17:12:08.59[2] 問題文(含コード&リンク):
前日商品別に在庫を登録したファイル "zaiko.txt" と
当日商品別に入庫を記録したファイル "nyuko.txt" の2つのファイルを入力し、
新たな在庫ファイル "zaiko_new.txt" を出力するプログラムを作成せよ。
ファイルの各レコード(行)は次の形式であり、ひとつの商品に対してひとつのレコードとする。
商品コード 整数 4桁
数量 数字 4桁
なお、各ファイルは商品コードの昇順にソートされているものとする。
※実行例:http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/256.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:12/4(日)23:59:59
[5] その他の制限:
商品コードや種類の数等は実行例の限りでなく、
自由に変えても対応できるようにお願いします
在庫・入庫ファイルの名前自体はそのままでいいです。
0173デフォルトの名無しさん
2011/12/03(土) 17:32:29.62第一引数をスイッチにすると書いた
D:\prog>test d 5 1 と D:\prog>test b 0111 1001 を試してみてちょ
もし自動判定するとなると test 100 10 の時どっちか判らなくて困る
2進の時は必ず0から始めるとかのルールを決めれば自動判定できるけどね
0174デフォルトの名無しさん
2011/12/03(土) 17:34:29.23そうなんですか!
2進数の時は>>171のように最低0001からはじまりますんで
それで判定してもらえないでしょうか?
0175174
2011/12/03(土) 17:35:05.02○最低0000
0176デフォルトの名無しさん
2011/12/03(土) 18:16:19.43頭悪すぎっぞw
0177デフォルトの名無しさん
2011/12/03(土) 18:19:29.41>>171 の例題だと第2引数は 1001 になってるけど良いの?
アップするの面倒だから変更部分だけ( #else から #endif の間)を書くね
if( c > 2 ) {
if( *v[1] == '0' || *v[2] == '0' )
base = 2;
else
base = 10;
v1 = strtol( v[1], NULL, base );
v2 = strtol( v[2], NULL, base );
}
else {
printf( "[Usage] this_prog v1 v2\n" );
return 0;
}
0178デフォルトの名無しさん
2011/12/03(土) 18:25:28.91十進数の0が扱えなくない?
0179デフォルトの名無しさん
2011/12/03(土) 18:27:58.94http://ideone.com/GCDPt
0180デフォルトの名無しさん
2011/12/03(土) 18:31:11.30http://ideone.com/RXZa2
0181174
2011/12/03(土) 18:45:20.63ありがとうございます、いけました!
>>179
ありがとうございます!でもエラーが出ました
エラー E2313 p.c 30: 定数式が必要(関数 ConvertBinaryToHexadecimal )
エラー E2313 p.c 74: 定数式が必要(関数 main )
エラー E2313 p.c 75: 定数式が必要(関数 main )
*** 3 errors in Compile ***
0182デフォルトの名無しさん
2011/12/03(土) 18:48:56.07そらそうだな、判定条件を変えた方が良いだろう
v[1], v[2] に 01 以外が出現したら無条件に10進っていう条件を追加すれば良いのかな?
0183デフォルトの名無しさん
2011/12/03(土) 18:48:59.43http://ideone.com/bxcYP
0184デフォルトの名無しさん
2011/12/03(土) 18:52:44.90いけました!本当にありがとうございます!
0185デフォルトの名無しさん
2011/12/03(土) 18:52:48.57それだとやっぱり十進数の0が上手く扱えないと思う。
「長さ2以上かつ0で始まるものが二進数、それ以外が十進数」かな。
0186デフォルトの名無しさん
2011/12/03(土) 18:58:54.36だね、>>183 の判定で良いと思う
直すの面倒だから書かないけどw
0187デフォルトの名無しさん
2011/12/03(土) 19:17:42.33答えは「81」になるのですがどのように解けばいいのでしょうか?
http://iup.2ch-library.com/i/i0494298-1322907406.jpg
0188デフォルトの名無しさん
2011/12/03(土) 19:23:08.69その関数はプログラム例10.5.1のどの部分に組み込めばいいのでしょうか?
0189デフォルトの名無しさん
2011/12/03(土) 19:24:42.231 + 3 + 5 + … + 17
0190日系アメリカ人 ◆japYJPNx6A
2011/12/03(土) 19:28:09.94>>650
こっちでいろいろ煽ってくださいよー
http://hibari.2ch.net/test/read.cgi/tech/1322562648/
0191デフォルトの名無しさん
2011/12/03(土) 19:32:47.51itoa()なんて初めて聞いたけど、特定の環境だとそういうのがあるわけね。
0192デフォルトの名無しさん
2011/12/03(土) 19:52:45.72整列手法や探索手法として様々な手法が提案されており、
いくつかの手法について学んできた。
1つの同じ問題を解く方法 として、
様々な手法が提案され実装されベンチマーク評価されている。
しかし、一般的なベンチマークでは評価できない項目がある。
この内容として具体的な例を考えなさい。
0193デフォルトの名無しさん
2011/12/03(土) 20:03:23.90O(1)でも数時間、数日掛かることもある。
0194デフォルトの名無しさん
2011/12/03(土) 20:07:54.03iotaは由緒正しい歴史ある関数なんだよ。APL言語からの由来。
0195デフォルトの名無しさん
2011/12/03(土) 20:15:21.21あともう一つあるるので良ければお願いします
クイックソートは、O(n log n) の高速な整列関数としてよく知られている。
高速なソートであるが、ソートのベンチマークに用いられる指標について説明しなさい。
0196デフォルトの名無しさん
2011/12/03(土) 20:16:44.63>>1
0197デフォルトの名無しさん
2011/12/03(土) 20:19:22.81それって具体的にはどんな状況? データの読み書きに凄く時間がかかるとか?
でもそれだってベンチマークはできるような。
0198デフォルトの名無しさん
2011/12/03(土) 20:41:51.82低速な補助記憶装置が使われるので、アルゴリズムのメモリ使用パターンが重要となる。
そのような状況では、主記憶上ですべてソートできることを前提としたアルゴリズムは効率が極端に悪化する可能性がある。
このような状況では、比較演算回数はあまり重要ではなくなり、ディスクとのメモリ領域のスワップ回数が重要となる。
したがって、なるべくスワップ回数を増やさないようにするために、配列全体を走査する回数や比較の局所性が比較回数よりも重要となる。
例えば、再帰型のクイックソートは主記憶上では性能が良いが、ソート対象の配列が主記憶に収まらない場合は
スワップが頻繁に発生して、性能が極端に低下する。したがって、そのような場合は比較回数が多くても他のアルゴリズムを使った方がよい。
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88
0199デフォルトの名無しさん
2011/12/03(土) 20:47:20.360200デフォルトの名無しさん
2011/12/03(土) 20:47:42.49それはおいといて。ベンチマークからではオーダーは決定できない。(推定はできるが)
O(n*n)がO(n)やO(1)より速いことはある。
0201デフォルトの名無しさん
2011/12/03(土) 21:47:53.95http://ideone.com/YJwRQ
>C++のsetかmapを使えば楽で短く書けるのに
>何でそこまで自虐的なのか
http://ideone.com/c5LCj
0203デフォルトの名無しさん
2011/12/03(土) 22:52:05.16そうそうこんな感じ
お前なかなか可愛い所があるじゃないか
アッカーマン関数もこんな感じで再計算を防止すると馬鹿っ速くなるよ
m(_ _;; m
0205デフォルトの名無しさん
2011/12/03(土) 23:42:56.200206デフォルトの名無しさん
2011/12/04(日) 00:22:07.18http://ideone.com/dxSZo
0207デフォルトの名無しさん
2011/12/04(日) 00:23:22.93あ、もちろんそういう事実は了解していますが、
そもそも>この問題の真意が自分にはよくわからなかったのでw
これが>>192の問題への解答ということであれば、
あるソート関数の計算量のオーダーがわからない状況でベンチマークだけ
やってみる、というのがこの問題の前提になるような?
それだとむしろ実データから計算量のオーダーを逆推定する問題の困難さ、の方が
強調されてしまうような... そういうことを授業とかで問う必要はあるのかなあと。
計算量の次数だけでは必ずしも速度はわからない、という話ならわかるんですけど。
考え過ぎ?
0208デフォルトの名無しさん
2011/12/04(日) 03:11:52.15あるページのコピペのソース
http://codepad.org/ZiyXiSsP
http://karetta.jp/book-node/cpuzzle-recursion/002797
ですねえ。有名どころだし。
0210デフォルトの名無しさん
2011/12/04(日) 04:49:53.13#include <stdio.h>
int main()
{
int x = 0;
int y = 1;
do {
x = x + y;
y = y + 2;
} while (y <= 15);
x = x + y;
printf("%d\n", x);
return 0;
}
0211デフォルトの名無しさん
2011/12/04(日) 04:57:37.21いたのか。
いつまでたっても終わらなかったコードを提示しろと散々
0212デフォルトの名無しさん
2011/12/04(日) 05:27:59.61全く進まなくて困っています。
サンプルプログラムなどを見て理解していきたいのですがどなたか教えていただけないでしょうか
0213デフォルトの名無しさん
2011/12/04(日) 06:19:24.11P型記述子を用いて曲線をフーリエ変換するサンプルプログラムじゃないんだよね
0214デフォルトの名無しさん
2011/12/04(日) 06:28:49.17P型記述子を用いて曲線をフーリエ変換するサンプルプログラムがほしいです。
0215デフォルトの名無しさん
2011/12/04(日) 08:00:19.13動作確認しました、ありがとうございます!
0216デフォルトの名無しさん
2011/12/04(日) 08:29:19.220217デフォルトの名無しさん
2011/12/04(日) 08:39:37.13どうしていいか全く分からないもので・・・
0218デフォルトの名無しさん
2011/12/04(日) 09:04:31.42本当に有り難うございました。
申し訳ないのですがもう1問お願いします。
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク):クイックソートは、O(n log n) の高速な整列関数としてよく知られている。
高速なソートであるが、ソートのベンチマークに用いられる指標について説明しなさい。
[4]月曜日
[5]基本的にC言語
宜しくお願いします。
0219デフォルトの名無しさん
2011/12/04(日) 09:09:10.35> [2] 問題文: 指標について説明しなさい。
> [5] 基本的にC言語
お前はその単元落ちた方がいいと思う。
0221デフォルトの名無しさん
2011/12/04(日) 09:46:39.97このページの一般的なオーダのことでしょうか?
「ソートのベンチマークに用いられる指標」なら、ランダウのΟ記法じゃないかと思ったのだが、違う?
0223デフォルトの名無しさん
2011/12/04(日) 10:17:42.380224デフォルトの名無しさん
2011/12/04(日) 10:18:05.65書き方しだいだけど少し違う らしいです
0225デフォルトの名無しさん
2011/12/04(日) 11:04:45.62お前受けてる授業が何なのか、わかってないだろ
0226デフォルトの名無しさん
2011/12/04(日) 11:15:43.29単元でしたか・・ 教科名だと思ってました。 単元はソートですね
0227デフォルトの名無しさん
2011/12/04(日) 11:20:42.50どうしていいか全く分からないもので・・・
0228デフォルトの名無しさん
2011/12/04(日) 11:33:36.590229デフォルトの名無しさん
2011/12/04(日) 11:37:43.660230デフォルトの名無しさん
2011/12/04(日) 11:40:20.15>>17の3、4、5が満たされてないです
wikiを参考にされたということですが、DCT(タイプ1から4まである中)のどの公式を見たのでしょうか?
今更ですが教えていただけませんか?
0232デフォルトの名無しさん
2011/12/04(日) 15:27:24.27関数dct、o[k]って加算して出すんじゃないかな?
加算して出すとはどういうことなのでしょうか?
もう少しかみくだいて教えていただけませんか?
0234デフォルトの名無しさん
2011/12/04(日) 18:31:48.630235デフォルトの名無しさん
2011/12/04(日) 19:43:51.22for(k=0;k<e;k++){
for(n=0;n<e;n++){
o[k]=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k);
}
}
↓
for(k=0;k<e;k++){
o[k]=0;
for(n=0;n<e;n++){
o[k]+=i[n]*cos(M_PI/(double)e*(0.5+(double)n)*(double)k);
}
}
0236デフォルトの名無しさん
2011/12/04(日) 21:53:43.61[2] 問題文(含コード&リンク):次の if 文を表す抽象構文木を構築して表示するプログラムを作成せよ
if (i < 0) {s = s - i;}
else {s = s + i;}
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C++
[4] 期限: 明日の明朝
[5] その他の制限:
クラス St_if の仕様は次の通りである.
? 継承関係
Statement の派生クラスである.
? メンバー
1. Expression* cond … 条件式
2. Statement* then … then 部の文
3. Statement* else … else 部の文
? メソッド
5?141. St if(Expression* cond, Statement* then, Statement* els)
条件式が cond, then 部の文が then, else 部の文が els
6 であるようなインスタンスを作るコンス
トラクタ.
2. ?St if()
デストラクタ. cond , then , else を delete する.
3. const Expression* condition() const … cond を読み出す.
4. const Statement* then part() const … then を読み出す.
5. const Statement* else part() const … else を読み出す.
6. void print(std::ostream& os, int indent=0) const … 表示
0237デフォルトの名無しさん
2011/12/04(日) 21:59:25.76誤字訂正します
・継承関係
Statement の派生クラスである.
class Statement
{
public:
Statement() {} // コンストラク
virtual ~Statement() {} // デストラク
virtual void print(std::ostream& os, int indent=0) const = 0; //表示
private:
Statement(const Statement&); // コピーコンスタラクタは禁止
Statement& operator=(const Statement&); // 代入演算は禁止
};
・メンバー
1. Expression* cond … 条件式
2. Statement* then … then 部の文
3. Statement* else … else 部の文
・メソッド
1 St_if(Expression* cond, Statement* then, Statement* els)条件式が cond, then 部の文が then, else 部の文が elsであるようなインスタンスを作るコンストラクタ.
2. 〜St_if() デストラクタ. cond , then , else を delete する.
3. const Expression* condition() const … cond を読み出す.
4. const Statement* then part() const … then を読み出す.
5. const Statement* else part() const … else を読み出す.
6. void print(std::ostream& os, int indent=0) const … 表示
0238デフォルトの名無しさん
2011/12/04(日) 22:38:06.60http://codepad.org/SYuEKB1m
0239デフォルトの名無しさん
2011/12/04(日) 23:16:06.57ありがとうございます。
もしよければ ast.cpp(クラスの入った実装ファイル) ast.h(printが実装されたヘッダファイル) ***.cpp(mainのファイル)といった3つの形で
g++ -g ***.cpp ast.cppを使いコンパイルできるコードを書いていただければありがたいです。
0240デフォルトの名無しさん
2011/12/05(月) 00:08:16.69それくらい自分でできないなら学校辞めたほうがいいレベル
0241デフォルトの名無しさん
2011/12/05(月) 00:11:50.900242デフォルトの名無しさん
2011/12/05(月) 00:13:39.960243デフォルトの名無しさん
2011/12/05(月) 00:14:18.220244デフォルトの名無しさん
2011/12/05(月) 00:17:35.47そんぐらい分けろよ
0245デフォルトの名無しさん
2011/12/05(月) 00:21:30.58[2] 問題文(含コード&リンク):
http://ideone.com/YJwRQ
データが昇順ではなく、降順に並んでいる場合の2分探索をプログラムを作成せよ
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:VC2008
[3.3] 言語: C
[4] 期限:12/6
0246デフォルトの名無しさん
2011/12/05(月) 00:22:00.97ありがとうございます。
0247デフォルトの名無しさん
2011/12/05(月) 00:23:32.09176 :七つの海の名無しさん:2011/11/17(木) 21:57:56.45 ID:gClQt5ed
【重要】 ブータン国王の演説の報道は、重要な部分がことごとく反日マスコミにカットされて報道されています
「世界史において、かくも傑出し、重要性を持つ機関である日本国、(その)国会の中で、」 →★全部カット
「ブータン国民は、常に、日本に、強い、愛着の心を持ち、何十年もの間、偉大な日本の成功を →★全部カット
心情的に分かち合ってきました。」
「日本は、当時外国の領地(植民地)であったアジアに、自信とその進むべき道への自覚をもたらし
以降、日本のあとに続いて世界経済の最前線に躍り出た数多くの(アジアの)国々に希望を与えてきました」 →★全部カット
「日本は、過去においても、現代においても、世界のリーダーであり続けます」
「このグローバル化した世界において、日本は、技術と革新の力、勤勉さと責務、強固な伝統的な価値における模範
であり、これまで以上にリーダーにふさわしいのです。」 →★全部カット
「世界は、常に、日本のことを、大変な名誉と誇り、そして規律を重んじる国民、歴史に裏打ちされた誇り高き伝統を持つ国民、
不屈の精神、断固たる決意、そして秀でることに願望を持って、何事にも取り組む国民、知行合一、兄弟愛や友人、
ゆるぎない強さと気丈さを併せ持つ国民、であると認識してまいりました」 →★全部カット
「他の国であれば、国家を打ちのめし、国家を打ち砕き、無秩序、大混乱、そして悲嘆をもたらしたであろう事態に
日本国民の皆様は、最悪の状況下でさえ、静かな尊厳、自信、規律、ここの強さを以って、対処されました」 →★全部カット
他にもカットシーンがたくさんあるので、ブータン国王の演説 でyoutube検索してください
0248デフォルトの名無しさん
2011/12/05(月) 00:54:27.11あほか?
0249デフォルトの名無しさん
2011/12/05(月) 03:07:22.89http://ideone.com/o0uZp
0250デフォルトの名無しさん
2011/12/05(月) 04:49:03.10っていう学校の問題としても初期のところを丸投げしてるとその先完全に詰むぞ多分
離散コサイン変換がわからん〜とか言うところならしょうがないけど
0251デフォルトの名無しさん
2011/12/05(月) 09:27:33.76A(1,4) B(2,2) C(3,5) D(4,1) の4点があり線分ADと線分BCが点P(x,y)で交差している。
(1)四角形ABCDの面積を求めよ(2分)
(2)P(x,y)のx,yを求めよ(4分)
0252デフォルトの名無しさん
2011/12/05(月) 10:39:36.90有難う御座います
>>188の件は自己解決しました
0253デフォルトの名無しさん
2011/12/05(月) 13:32:18.78[2] 問題文(含コード&リンク):
数(整数)へのポインタsc を引数として,点数を
0 以上100 以下に修正する関数limit_sc(int *sc) を
作成せよ.
実行例.
・点数を入力してください:110
点数を修正しました。
点数:100
・例2,点数を入力してください:85
点数を修正しませんでした。
点数:85
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:12/6
[5]・負の点数を0 点に,100 を超える点数を100 点に修
正するものとする
・関数の返却値はint 型とし,点数を修正した場合
には1,修正しなかった場合は0 を返す関数とすること.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.
0254デフォルトの名無しさん
2011/12/05(月) 13:34:47.75[2] 問題文(含コード&リンク):
連立方程式、ax+by=c,dx+ey=fの係数a,b,c,d,e,fを2×3の2次元配列にキーボードから入力し、
この連立方程式を解くプログラムを作成せよ。(ただし、a〜fは0ではないと仮定してよい)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C言語
[4] 期限: 12月5日19時迄
[5] その他の制限:期限まで短いですが宜しくお願いします。
0255デフォルトの名無しさん
2011/12/05(月) 13:37:51.20「以下の実行例」ってやつが書いてないからmainは何とかしろ
int limit_sc(int *sc)
{
if (*sc > 100) {*sc = 100;return 1}
if (*sc < 0) {*sc = 0;return 1}
return 0
}
0256255
2011/12/05(月) 13:39:35.390257デフォルトの名無しさん
2011/12/05(月) 13:45:28.09[2] 問題文(含コード&リンク):
xy平面上の2点の座標を2×2の2次元配列にキーボードから入力し、これら2 点間の距離を計算して画面表示するプログラムを作成しなさい。ただし、2点の座標をそれぞれ (x_1, y_1),(x_2, y_2) とするとき、これらの間の距離は{(x_2-x_1)^2+(y_2-y_1)^2}^1/2で求められる。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C言語
[4] 期限:12月5日19時迄
[5] その他の制限:先程の者ですが、こちらも宜しくお願いします。
0258デフォルトの名無しさん
2011/12/05(月) 13:49:40.53[2] 問題文:ローマ数字をアラビア数字に変換するプログラム
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2012年12月5日24:00まで
[5] その他の制限: 使用出来るライブラリはstdioとstdlib
0259デフォルトの名無しさん
2011/12/05(月) 15:26:01.70http://ideone.com/BRXCl
0260デフォルトの名無しさん
2011/12/05(月) 15:42:19.66ありがとうございまぷ。
0261デフォルトの名無しさん
2011/12/05(月) 15:43:50.07>>259 ありがとうございます。
0262デフォルトの名無しさん
2011/12/05(月) 16:05:49.08http://codepad.org/UVkKyrkp
0263デフォルトの名無しさん
2011/12/05(月) 16:32:54.14http://codepad.org/COgXVknt
0264デフォルトの名無しさん
2011/12/05(月) 16:34:11.56ありがとうございます。
自分のものと比べつつ後学に使わせてもらいます。
0265デフォルトの名無しさん
2011/12/05(月) 16:35:41.28ありがとうございます。
0266デフォルトの名無しさん
2011/12/05(月) 17:03:44.20[2] 問題文(含コード&リンク):
キーボードから10個の整数を整数型配列に入力し、1番大きな数、2番目に大きな数、3番目に大きな数…10番目に大きな数の順に画面表示するプログラムを作成しなさい。
(ただし、同じ数が入力されても対処できるようにすること)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:12月5日24:00
[5] その他の制限:宜しくお願い致します
0267デフォルトの名無しさん
2011/12/05(月) 17:29:50.64コンパイルで弾かれるのですが、もう一度確認してもらってよろしいでしょうか
あと、gcc 2.95でした。すいません。
0268デフォルトの名無しさん
2011/12/05(月) 17:34:38.33エラーメッセージも貼れないの?
0269デフォルトの名無しさん
2011/12/05(月) 17:38:34.39http://codepad.org/un48Bizc
0270デフォルトの名無しさん
2011/12/05(月) 18:15:46.960271デフォルトの名無しさん
2011/12/05(月) 18:29:04.24名前の通りだが?
読めない?
0272デフォルトの名無しさん
2011/12/05(月) 18:42:58.71色々と間違えました。
>>257のエラーで、エラーメッセージは、
/tmp/ccTVCSf2.o: In function `distance':
9-15.c:(.text+0x7b): undefined reference to `sqrt'
collect2: ld はステータス 1 で終了しました
です。
0273デフォルトの名無しさん
2011/12/05(月) 18:45:09.90基本的には対応する数字(Xなら10)を加算して、
次の文字が今の文字よりも大きいとき(IVとか)はIを減算してる
次の文字が\0の場合は0が返ってくるので問題なし
18行目の;;はただのtypo
0274デフォルトの名無しさん
2011/12/05(月) 18:46:29.82ありがとうございます!!
理解できました。
0275255
2011/12/05(月) 18:47:12.98sqrtのリンクに失敗してんだよ
#include <math.h>
って行がソースにあったらコマンドラインの最後に
-lm
つけれ
0276デフォルトの名無しさん
2011/12/05(月) 18:47:53.01roman_to_intと、roman_string_to_intあたりがいいのかも
0277デフォルトの名無しさん
2011/12/05(月) 18:54:26.450278デフォルトの名無しさん
2011/12/05(月) 18:55:04.090279デフォルトの名無しさん
2011/12/05(月) 18:59:41.01なるほど、できました。
ありがとうございます。
0280デフォルトの名無しさん
2011/12/05(月) 21:59:53.34[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/Sc/so/298224
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月06日18:00まで
[5] その他の制限:あまり高度な記述をしないで作成していただけると有難いです
0281デフォルトの名無しさん
2011/12/05(月) 23:22:01.47そういえばMac OS Xだとlibc相当部分にlibm相当もリンクされているのではまらないw
これはいいことなのか悪いことなのか
0282デフォルトの名無しさん
2011/12/05(月) 23:22:23.34[2]xy平面上の2点の座標を2x2の2次元配列にキーボードから入力し、これら2点間の距離を計算して画面表示するプログラム
※√(x2-x1)^2+(y2-y1)^2で求められる。
[3]OS:win7
コンパイラ:?
言語:C
[4]12/6 0:00
0283282
2011/12/05(月) 23:23:45.60すいませんでした
0284デフォルトの名無しさん
2011/12/05(月) 23:24:07.86ttp://codepad.org/MEoTpdx4
0285デフォルトの名無しさん
2011/12/05(月) 23:30:53.44http://ideone.com/tUWg1
0286デフォルトの名無しさん
2011/12/05(月) 23:38:20.38http://codepad.org/v4rsLUB8
0287デフォルトの名無しさん
2011/12/06(火) 02:51:09.500288デフォルトの名無しさん
2011/12/06(火) 03:35:35.06まぁ、入門用の問題としていいからじゃないの?
0289デフォルトの名無しさん
2011/12/06(火) 06:31:03.70[2] 問題文(含コード&リンク):
数(整数)へのポインタsc を引数として,点数を
0 以上100 以下に修正する関数limit_sc(int *sc) を作成せよ.
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:12/6
[5]・負の点数を0 点に,100 を超える点数を100 点に修
正するものとする
・関数の返却値はint 型とし,点数を修正した場合
には1,修正しなかった場合は0 を返す関数とすること.
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること
実行例
・点数を入力してください:110
点数を修正しました。
点数:100
・例2,点数を入力してください:85
点数を修正しませんでした。
点数:85.
0290デフォルトの名無しさん
2011/12/06(火) 07:34:31.30#include <stdio.h>
int limit_sc(int *sc)
{
if(*sc > 100){
*sc = 100;
return 1;
}else if(*sc < 0){
*sc = 0;
return 1;
}else{
return 0;
}
}
int main()
{
int n;
printf("点数を入力してください:");
scanf("%d",&n);
if(limit_sc(&n)){
puts("点数を修正しました。");
}else{
puts("点数を修正しませんでした。");
}
printf("点数:%d\n",n);
return 0;
}
0291デフォルトの名無しさん
2011/12/06(火) 08:10:53.55ありがとうございます
0292デフォルトの名無しさん
2011/12/06(火) 12:00:29.44[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):多重配列を降順ソートする
[3] 環境
[3.1] windows 7
[3.3] C言語
[4] 期限: 12/7 17時
[5] 特になし
1列目をソートする方法は分かったのですが、2列目以降を基準としてソートする方法がわかりません
ソート前 ソート後
1 3 3 5 2 8
5 2 8 1 3 3
0294デフォルトの名無しさん
2011/12/06(火) 12:05:19.643列目でソート
2列目でソート
1列目でソート
0295292
2011/12/06(火) 12:22:57.74int aaa(const void *a, const void *b);
int i;
int *j;
typedef struct {
double abc;
double def;
double ghi;
} ponta;
int main(void){
ponta datee[10]={
{ 8, 4, 3 },
{ 6., 1, 7 },
{ 2, 2, 1 },
{ 5, 9, 6 },
};
qsort(datee, 3, sizeof(double), aaa);
for (i=0; i<=3; i++){
printf("%.1lf %.1lf %.1lf\n",datee[i]);}
return 0;}
int aaa(const void *a, const void *b){
if (*(double*)a<*(double*)b) return -1;
else if (*(double*)a == *(double*)b) return 0;
else return 1;}
0296292
2011/12/06(火) 12:25:03.620297デフォルトの名無しさん
2011/12/06(火) 12:58:37.81http://codepad.org/E4ZOWbyB
0298デフォルトの名無しさん
2011/12/06(火) 12:59:04.81それならaaaを工夫すればいいよ
0299デフォルトの名無しさん
2011/12/06(火) 13:02:59.16えっ
0300デフォルトの名無しさん
2011/12/06(火) 13:04:27.840301デフォルトの名無しさん
2011/12/06(火) 13:19:35.92こうか
http://codepad.org/QjeYlK3L
0302デフォルトの名無しさん
2011/12/06(火) 13:28:14.890303デフォルトの名無しさん
2011/12/06(火) 13:29:53.930304255
2011/12/06(火) 13:43:42.27aaaのなかでdouble*でなくて、pontaでキャストして
abc、def、ghiでそれぞれ比較するような感じの関数3つ作れ
0305デフォルトの名無しさん
2011/12/06(火) 13:46:31.350306デフォルトの名無しさん
2011/12/06(火) 13:46:37.46>>301でいいとおもうんだけど。
0307デフォルトの名無しさん
2011/12/06(火) 13:55:16.690308デフォルトの名無しさん
2011/12/06(火) 13:56:37.04qsortって非破壊?
0309デフォルトの名無しさん
2011/12/06(火) 14:00:16.350310292
2011/12/06(火) 14:49:00.12ありがとうございました
0311デフォルトの名無しさん
2011/12/06(火) 20:02:31.00[2] 問題文(含コード&リンク): http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4921
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月8日
[5] その他の制限: リスト操作関数http://ideone.com/v7JGBを用いてください。
よろしくお願いします。
0312デフォルトの名無しさん
2011/12/06(火) 21:41:19.43アルゴリズムは低速でもおk?
0313デフォルトの名無しさん
2011/12/06(火) 23:07:01.560315デフォルトの名無しさん
2011/12/06(火) 23:09:39.99韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F
フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8
韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6
TBSテレビ 、 、、 .〒107-8006 東京都港区赤坂5-3-6
大韓毎日 、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F
東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13
京郷新聞 、、、、、、〒100-0004 東京都千代田区大手町1-7-2
産経新聞東京本社 〒100-8077 東京都千代田区大手町1-7-2
(サンケイスポーツ、夕刊フジ、日本工業新聞社)
朝鮮日報 、、、 〒100-0003 東京都千代田区一ツ橋1-1 4F
毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1
韓国日報 、、、、 〒100-0004 東京都千代田区大手町1-7-1 8F
読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1
東亜日報 、、、 〒104-0045 東京都中央区築地5-3-2
朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT)
韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C
NHK放送センター、 〒150-8001 東京都渋谷区神南2-2-1
0316デフォルトの名無しさん
2011/12/06(火) 23:23:57.22[2] 問題文(含コード&リンク):
http://codepad.org/QfW3xLnm
リンク先のコードのint searchを、以下のコードに書き換えて、プログラムを完成させなさい。
int bi_search(int target) {
int hi, lo, mid;
lo = 0;
hi = N - 1;
while (lo <= hi) {
mid = (lo + hi) / 2;
if (target == St[mid].num)
return mid;
else if (target < St[mid].num)
hi = mid - 1;
else
lo = mid + 1;
return -1;
}
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:12/8
[5] その他の制限:
0317デフォルトの名無しさん
2011/12/06(火) 23:24:50.35[2] 問題文(含コード&リンク):http://codepad.org/Gp4kGOVZ
[3] 環境
[3.1] OS: Windows vista
[3.2] コンパイラ名とバージョン: visual C++ 2008
[3.3] 言語: C++
[4] 期限: 2011年12月07日13:00まで
[5] その他の制限: 特に無し
助けて下さい。
よろしくお願いします。
0318デフォルトの名無しさん
2011/12/06(火) 23:38:53.45[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/Sc/so/298505
リンク先のグラフを探索して最短経路を求めるプログラムを作ってください。
探索アルゴリズムは横型探索を用いてください。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2011年12月10日
[5]http://www1.axfc.net/uploader/Sc/so/298517 横型探索のアルゴリズム
に則って作成お願いします。OPENに探索可能なノードのリスト、CLOSEDに
既に探索したノードのリストを格納してください。
*横型探索なのでグラフにあるエッジを通るコストと予測コストは関係ないと思います。
エッジの向きだけ考慮して作成お願いします。
0319デフォルトの名無しさん
2011/12/07(水) 00:32:02.26[2] 問題文(含コード&リンク):
ビンゴゲームで、ビンゴした列の数字を足し、その合計によってランクをつけるプログラムを作れ。
ビンゴカード(5*5)に書かれている数字はランダムで1から75まで、ランクはSからEまでとする。
S 365-310
A 309-251
B 250-192
C 191-133
D 132-74
E 73-15
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン:Dev-C++ 5
[3.3] 言語: C言語
[4] 期限: 2011年12月9日15:00まで
[5] その他の制限:
数人のチームでの課題で、私の担当は数字を足しランク付けするところです。
すみませんが、よろしくお願いします。
0320デフォルトの名無しさん
2011/12/07(水) 01:35:54.94スコアすごいことになってるけど
http://codepad.org/d9kUDbzg
0321デフォルトの名無しさん
2011/12/07(水) 01:38:34.840322デフォルトの名無しさん
2011/12/07(水) 02:05:16.14こっちで
http://codepad.org/q8d1A2K7
0323デフォルトの名無しさん
2011/12/07(水) 02:21:40.38エスパーすると、最高得点が365ってところから、同時に複数列ビンゴした場合は、
合計が最大となる列のもののみ対象とする気がする
validが
1 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 0 0 0 0
1 0 0 0 0
のときとか。
あと、これは本当にささいなことなんだけど、diagon → diagonalかもしれない
0324デフォルトの名無しさん
2011/12/07(水) 02:40:07.63http://codepad.org/ag7XWjHf
0325デフォルトの名無しさん
2011/12/07(水) 03:59:03.83やっぱりこれで
http://codepad.org/XDRVQWus
>>323
エスパーしたはずだったんだけどなぁ( ;∀;) 忘れてた。
ありがとう!
書きながらダイアゴン横丁が浮かんでた。修正感謝。
0326デフォルトの名無しさん
2011/12/07(水) 04:00:29.49http://codepad.org/Iq9w5SpL
0327デフォルトの名無しさん
2011/12/07(水) 04:03:27.05http://ideone.com/p02PC
0328デフォルトの名無しさん
2011/12/07(水) 06:16:38.22http://codepad.org/bf57PK1p
0329デフォルトの名無しさん
2011/12/07(水) 06:38:58.42http://codepad.org/6J46S7Bd
0330デフォルトの名無しさん
2011/12/07(水) 09:05:40.43[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
0331デフォルトの名無しさん
2011/12/07(水) 09:05:57.06[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
0332デフォルトの名無しさん
2011/12/07(水) 09:06:07.91[2] 問題文(含コード&リンク)
テキストファイル bmi.txt を用意します
17人の名前と彼らの身長と体重が記入されています.
$ cat bmi.txt
Ackley,D.H. 181.5 65.1
Baker,J.E. 185.3 68.3
Keller,K.S. 175.2 63.4
Brent,R.P. 174.4 52.8
Jong,K.A. 186.2 73.4
Goldberg,D.E. 174.0 60.0
Forrest,S. 175.5 60.6
Fletcher,R. 180.3 73.8
Powell,M.J.D. 170.1 55.9
Smith,R.E. 178.7 69.6
Richardson,J. 167.7 51.5
Martin,F.G. 179.2 65.3
Wilson,S.W. 185.8 84.4
Lawler,E.L. 166.5 59.6
Reed,J. 176.3 58.8
Holland,J.H. 186.1 70.4
Jones,W.T. 171.4 63.7
C プログラム delcomma.c を書き,以下の要領でコンパイルし,実行モジュール delcomma を生成します.
delcomma は想像通り,delete comma の略です.
標準入力から受け取った名前の中で,カンマ以下を削除して標準出力に表示するコマンドです.
0333デフォルトの名無しさん
2011/12/07(水) 09:08:21.81コマンド delcomma にリダイレクト機能を使って入力ファイル bmi.txt の中身を処理させます.
結果は以下のようになります.綺麗に名前のカンマ以下が消えています.
$ ./delcomma < ./bmi.txt
Ackley
Baker
Keller
Brent
Jong
Goldberg
Forrest
Fletcher
Powell
Smith
Richardson
Martin
Wilson
Lawler
Reed
Holland
Jones
0334デフォルトの名無しさん
2011/12/07(水) 09:09:57.72#include <stdio.h>
#define MAX_LINE 20
#define MAX_NAME 20
int main(void);
int readfile(char (*)[MAX_NAME]);
void del_comma(char (*)[MAX_NAME], int);
void write_array(char (*)[MAX_NAME], int);
int main(void)
{
char name[MAX_LINE][MAX_NAME];
int n;
n = readfile(name);
del_comma(name, n);
write_array(name, n);
return 0;
}
void write_array(char (*name)[MAX_NAME], int n)
{
int i;
for (i = 0; i < n; i++) printf("%s\n", name[i]);
return;
}
0335デフォルトの名無しさん
2011/12/07(水) 09:11:34.43[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:12月7日(出来れば早めにお願いします)
よろしくお願いします
0336デフォルトの名無しさん
2011/12/07(水) 09:33:55.21ググってみた
http://dixq.net/forum/viewtopic.php?t=9698&p=78144
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1376676993
どうもこのBMIの問題は人気があるようだ
0337デフォルトの名無しさん
2011/12/07(水) 09:52:19.25http://ideone.com/SYsWc
0338デフォルトの名無しさん
2011/12/07(水) 09:55:18.06感謝!!
0339デフォルトの名無しさん
2011/12/07(水) 10:17:29.42X while (fgets(s, "%s", stdin) != NULL)
O while (fgets(s, MAX_NAME, stdin) != NULL)
0340デフォルトの名無しさん
2011/12/07(水) 10:45:11.960341デフォルトの名無しさん
2011/12/07(水) 11:02:28.20[2] メンバに氏名、身長(double)、体重(double), BMI (double)をもつ構造体をつくり、氏名、身長、体重に適当な値を設定します。
そしてこの構造体のポインタを引数として渡したときにBMIメンバに計算結果を格納する関数を作ってください。
(もちろん、メイン関数もかいて動作を確かめよ。)
BMI : 体重(kg)を身長の2乗(m)で割った値
(体重(kg)/(身長(m))^2)
[3] 環境
[3.1] OS: Windows
[3.2] visual C++2005
[3.3] C
[4] 期限:2011/12/8
0342デフォルトの名無しさん
2011/12/07(水) 11:20:28.51http://ideone.com/4WnzN
0343デフォルトの名無しさん
2011/12/07(水) 12:05:58.87double BMI(double weight,double height)
/*weight: 体重(kg)*/
/*height: 身長(m)*/
{if((weight<0)||(height<0){return -1 /*エラー*/}
return weight/(height*height);}
までテンプレ
0344デフォルトの名無しさん
2011/12/07(水) 12:14:37.11ありがとう御座います。助かりました。
0345デフォルトの名無しさん
2011/12/07(水) 12:43:30.56雛形コードについての表現がおもろいな。
・ここまで何とかできた
・友達と一緒にやって、教科書などから「だいたいこんな感じではないか」
0346デフォルトの名無しさん
2011/12/07(水) 13:34:20.47http://ideone.com/Xe3sf
すんません。私の技量ではこれが限界です。
0347デフォルトの名無しさん
2011/12/07(水) 14:00:38.70民主は反日で論外
自民は谷垣のようなエセ保守が居る限り衰退
0348デフォルトの名無しさん
2011/12/07(水) 15:32:42.15http://ideone.com/gEh6n
0349335
2011/12/07(水) 16:55:00.92どこを修正すれば見当つきません 誰か教えてもらえますか
0350デフォルトの名無しさん
2011/12/07(水) 17:17:40.29ゴミなので全部書き直せばいい
0351デフォルトの名無しさん
2011/12/07(水) 17:20:01.74[2] 問題文(含コード&リンク):
キーボードから二つの文字列を配列x[256]とy[256] に入力する。
配列xに含まれる文字列の後ろに配列yに含まれる文字列をつなげたものを配列z[256] に代入し、画面表示するプログラムを作成せよ。
(ただし、NULL文字「\0」の扱いに注意し、配列z の文字列の後ろにNULL文字を入れておくこと)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc 2.9
[3.3] 言語:C言語
[4] 期限: 12月13日24時
[5] その他の制限:ありません。宜しくお願いします。
0352デフォルトの名無しさん
2011/12/07(水) 17:25:29.21マジで半分くらいは書き換え
0353デフォルトの名無しさん
2011/12/07(水) 17:39:16.37[2] 問題文(含コード&リンク):
以下の手順に従ってプログラムを作成せよ。
適宜printfを利用して、入力支援(「文字列を入力してください」等の画面表示)を行うこと。
1.文字配列name[5][64]を作成
2.キーボードから5人分の名前を入力し、name配列に格納
3.キーボードから名前を入力し、name配列の何番目に格納されているかを検索して表示
(見つからなかった場合は「見つかりません」と表示)
4.「quit」が入力されるまで3の処理を繰り返す
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限: 12/10/20:00
[5] その他の制限:お願いします。
0354デフォルトの名無しさん
2011/12/07(水) 17:40:56.24コンパイル通るのか? fgets() が....
0356デフォルトの名無しさん
2011/12/07(水) 17:48:04.40礼もなしで使い捨てって、すごいなお前
0357デフォルトの名無しさん
2011/12/07(水) 17:50:29.65#include <stdio.h>
int
main(void)
{
char x[256], y[256], z[256];
printf("x = ");
scanf("%s", x);
printf("y = ");
scanf("%s", y);
sprintf(z, "%s%s", x, y);
printf("z = %s¥n", z);
return 0;
}
0358デフォルトの名無しさん
2011/12/07(水) 17:51:45.84書き直した方が良いとは思うけど、面倒くさいから修正指示で良い?
30行目
× while( fgets( s, "%s", 〜
○ while( fgets( s, 100, 〜
0359デフォルトの名無しさん
2011/12/07(水) 18:01:12.51sprintfを使わないとこうなるという例 sprintfバンザイ センセーに怒られても知らないけどね
//ヘッダファイルの読み込みだよ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//マジックナンバーはプログラム内に書かないほうがいいよ
#define N 256
//メイン関数だよ
int main(void) {
//文字列配列の宣言だよ
char x[N];
char y[N];
char z[N];
//xを入力させるよ
printf("x入れてね:");
fgets(x, sizeof(x), stdin);
fflush(stdin); //おまじないだよ
x[strlen(x) - 1] = '\0'; //NULL文字つけるよ
//yを入力させるよ
printf("y入れてね:");
fgets(y, sizeof(y), stdin);
fflush(stdin); //おまじないだよ
y[strlen(y) - 1] = '\0'; //NULL文字つけるよ
strcpy(z, x); //xをzにコピーするよ
strcat(z, y); //zにyを連結するよ
printf("配列zの中身は%sだよ",z); //表示するよ
return 0; //おまじないだよ
}
0360デフォルトの名無しさん
2011/12/07(水) 18:01:20.65あれ、ここではベース書き換えおk?
0361デフォルトの名無しさん
2011/12/07(水) 18:07:31.30[2] 文字列を後ろから逆に表示する(例えば"ABC"を受け
取ったら"CBA"と表示する)関数
void put_rstring(const char *st)
を,添字演算子[] を使わずに作成せよ
[3] 環境
[3.1] OS: linux
[3.2] gcc
[3.3] C
[4] 期限:2011/12/8
[5] 関数の動作を確認できるmain 関数も作成す
ること.
(実行例)
文字列を入力してください:Koudai
逆順に表示:iaduoK
0362デフォルトの名無しさん
2011/12/07(水) 18:12:11.18?
sprintfがstrcpyとstrcatにかわっただけだろ。
strcpy(z, x); //xをzにコピーするよ
strcat(z, y); //zにyを連結するよ
それから、これはやりたいことの説明になってない。
> x[strlen(x) - 1] = '\0'; //NULL文字つけるよ
それよりも何よりも、この恐ろしいコードを足したのはなぜ?
> fflush(stdin); //おまじないだよ
0363デフォルトの名無しさん
2011/12/07(水) 18:27:03.35void put_rstring(const char *st) {
const char *p = st;
while(*p++);
while(st != p) putchar(*--p);
}
こういう。
0364335
2011/12/07(水) 18:36:07.17>>358 はい 無事できましたありがとうございました
0365デフォルトの名無しさん
2011/12/07(水) 18:49:41.24X while(*p++);
O while(*p)p++;
0366デフォルトの名無しさん
2011/12/07(水) 18:57:04.95あ、ほんと。ありがと
0367デフォルトの名無しさん
2011/12/07(水) 19:27:15.99ふーん >>358 のような変更でコケたりコケなかったりするんだ。
いや、元のコードだとバッファのサイズとして文字リテラルのアドレス値が渡るだけで
「一応」動かなくもないのかなあと思ったのだが。
コケるとしたらfgets()が本当にそんだけバッファがあるかチェックしたりしてるとか?
あるいは文字リテラルがすごく小さいアドレスに割り当てられてて、fgetsがバッファ不足
(と思い込む)で文字列がカンマまで取り込めなくて暴走とか?
0368デフォルトの名無しさん
2011/12/07(水) 19:43:52.23マイナス値が入力されたら?
0369デフォルトの名無しさん
2011/12/07(水) 19:49:36.340370デフォルトの名無しさん
2011/12/07(水) 19:50:22.68>>343
ありがとうございました
0371デフォルトの名無しさん
2011/12/07(水) 20:12:05.79fgets() の第二引数は signed int だから unsigned int のポインター値が負になるかも知れないよ
0372デフォルトの名無しさん
2011/12/07(水) 20:27:27.40朝日新聞は一時期300人のネット工作員をかかえ、工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
>>866
14時以降に何が起きたんだ
>>866
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社
これが規制されたからじゃねw
−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ
0373デフォルトの名無しさん
2011/12/07(水) 20:36:14.77> バッファがあるかチェック
できないでしょ
0374デフォルトの名無しさん
2011/12/07(水) 20:43:55.89#include <stdio.h>
void func(char*s){
if(*s)
func(s+1);
putchar(*s);
}
int main(void){
char s[100];
printf("in=");
scanf("%s",s);
func(s);
return 0;
}
0375デフォルトの名無しさん
2011/12/07(水) 20:45:23.13[2] 問題文(含コード&リンク):
http://codepad.org/ag7XWjHf
リンク先のコードをデータが昇順ではなく、
降順に並んでいる場合の二分探索はどのように改良すればいい?
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:12/8
[5] その他の制限:
0376デフォルトの名無しさん
2011/12/07(水) 20:54:33.78http://ideone.com/iYoPI
0377デフォルトの名無しさん
2011/12/07(水) 20:56:19.50else if (target < St[mid].num)
→ else if (target > St[mid].num)
0378デフォルトの名無しさん
2011/12/07(水) 21:59:47.07[2] 問題文(含コード&リンク):↓
文字列操作のライブラリ関数を使用して、指定したファイルで、
最も辞書順(ASCIIコード順)で最初に出てくる単語と、最後に出てくる単語を見つけて表示せよ。また、最も長い単語も表示せよ。
・同じ長さの単語が複数ある場合には、最初に見つけたものだけ表示するだけでよい。
・ただし,ここでいう単語とは、スペースや改行、タブで区切られる文字の列で必ずしも、英数字とはかぎらない。(このような区切りで、ファイルから文字列を読むために%sを用いる)
・単語の長さは100文字以内と考えてよい。
・標準文字列関数を利用すること。
(指定されたファイルとは普通の英文が書かれた.txtファイルです)
実行例
$./quiz10-2
Input file name!:sample.txt
file1 open Error sample.txt
$
$./quiz10-2
Input file name!:English.txt
The First word = 's
The Last word = yokozuna
The Longest word = accomplishment.
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12/13 10:00
[5] その他の制限:初学者向けらしい
お願いします。
0379デフォルトの名無しさん
2011/12/07(水) 22:27:05.81負の整数値ですか。確かに文字列をスタック変数に確保した場合とか、なりそうですね。
今回は違いますけど。
で、仮にバッファサイズが負で渡された場合、fgets()は何もせずに終わって欲しいような...
バッファサイズが負だとおかしくなるようなfgest()の実装があるのかな?
>>373
いや、たとえば超おせっかいなfgets()があって、バッファの領域すべてを0で初期化して
くれるとかそんなのがあればクラッシュするかなあとw
0380デフォルトの名無しさん
2011/12/07(水) 22:30:20.77[2] 問題文(含コード&リンク):文字型へのポインタ変数を宣言、new演算子を使用してメモリを確保しなさい
文字列のサイズがプログラム実行時に決まるようにして、そのポインタ変数が文字列として使用できることを、
画面出力で確認できるようにしなさい
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C++
[4] 期限:12/9
[5] その他の制限:なし
http://codepad.org/5ly4iZhi
↑のプログラムを作成したんですが、文字を入力するとエラーになってしまいます
どうすれば改善できるのか教えてください
0381デフォルトの名無しさん
2011/12/07(水) 22:37:03.42http://codepad.org/iaZWnZLU
0382デフォルトの名無しさん
2011/12/07(水) 22:38:30.68> if(Data = NULL)
if(Data == NULL) に修正
0383デフォルトの名無しさん
2011/12/07(水) 22:46:03.4017行目でNULLを代入しちゃってるよね。
あと1文字ずつ入力したければ、getchar()を使おう。
0384デフォルトの名無しさん
2011/12/07(水) 22:53:24.13>>382で嘘を書いてしまった。C++のnewはNULLを返さないんだった。
if(Data == NULL)は不要です。
0385デフォルトの名無しさん
2011/12/07(水) 22:55:18.80…getじゃなくてか。
0386デフォルトの名無しさん
2011/12/07(水) 23:15:01.96自民、公明両党は7日、インターネットを通じた音楽や映像ファイルの違法ダウンロードに対し、
2年以下の懲役か200万円以下の罰金を科す法案をまとめた。民主党に協力を求め、来年の通常国会で成立を目指す。
ネット上では音楽ファイルなどの違法ダウンロードが相次ぎ、関係業界に多大な損害を与えている。
従来、違法なアップロードは著作権法で処罰対象とされていたが、ダウンロードには刑事罰が科されていなかった。
ttp://www.jiji.com/jc/c?g=pol_30&k=2011120701034
PC画面を直接録画すればおk?
∧_∧_
( ・∀|[ニ:|ol
( つ ∩ ̄
と_)_)
http://himado.in/75952
0387デフォルトの名無しさん
2011/12/07(水) 23:58:57.2017行目を削除したところ動作するようになりました
それと tanaka と一回で入力したんですが
どうすればできますか
0388デフォルトの名無しさん
2011/12/08(木) 00:17:52.99[2] 問題文(含コード&リンク):OpenCVを用いて、x枚(一応与えられたのは200)の画像から
それぞれの画素の輝度平均、標準偏差、中央値、最頻値を用いて画像を生成しろ
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:12/10
[5] その他の制限:なし
カメラ固定の動画像から静止画を取得し、そこから背景画像を生成しろというものです
輝度平均と標準偏差での画像は作成できたのですが
中央値、最頻値での画像作成がどうしたものかわかりません
よろしくお願い致します
0389デフォルトの名無しさん
2011/12/08(木) 01:19:51.31輝度平均と標準偏差での画像作成のプログラムくらいは見せてくれないとねえ・・・
0390387
2011/12/08(木) 02:06:51.07「tanaka と一回で入力したいんですが」→ ○ でした
>>387の方法をおしえてもらえると嬉しいです
おねがいします
0391デフォルトの名無しさん
2011/12/08(木) 02:34:40.19#include<iostream>
using namespace std;
int
main()
{
int Size;
char *Data;
cout << "配列のサイズを入力" << endl;
cin >> Size;
Data = new char [Size + 1];
cin >> Data;
cout << Data << endl;
delete Data;
return 0;
}
0392デフォルトの名無しさん
2011/12/08(木) 02:55:26.91メモリリークのコードを書くぐらいならstd::stringにしときなさいな
0393デフォルトの名無しさん
2011/12/08(木) 02:56:03.410394デフォルトの名無しさん
2011/12/08(木) 04:22:58.32ありがとうございます
0395デフォルトの名無しさん
2011/12/08(木) 07:14:43.59> 今回は違いますけど。
それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ
ttp://akademeia.info/index.php?C%B8%C0%B8%EC%2F%C9%B8%BD%E0%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%2F%CA%B8%BB%FA%C6%FE%BD%D0%CE%CF%B4%D8%BF%F4%2Ffgets#qa5c3584
このページに有るソースコードによると ansi なら fgets( s, -1, は NULL を返すだけだから何もしないで終了する
でも K&R なら NULL文字を読んだ事になり、 del_comma() が ',' を見つけられないから落ちる場合も有るだろう
試しに fgets( s, -1, 〜 としたら bcc ではハングした
0396デフォルトの名無しさん
2011/12/08(木) 09:06:40.49質問者はbccで…とは書いてないぞ。
0397デフォルトの名無しさん
2011/12/08(木) 09:30:19.27日本語の読解力はどんな仕事でも必要だよ
>>395 を読んで bcc に限定した話をしていると考えるなら問題が有るな
0398デフォルトの名無しさん
2011/12/08(木) 12:41:39.62#include<iostream>
#include<fstream>
#include<string>
のみを使ってプログラムを作りたいです。
どなたか時間があるときによろしくお願いします。
0399デフォルトの名無しさん
2011/12/08(木) 14:56:59.28>> 今回は違いますけど。
>
>それは環境依存だろ、そもそもアレのコンパイルが通るかどうかも環境依存だよ
これは「スタック変数ではない」という意味で書いたんだけど... だったらOK?
で、bccでは
- (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る?
- fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)?
んですか?
環境依存なのは百も承知なので、では実際にどういう環境があるのかなと
0400デフォルトの名無しさん
2011/12/08(木) 15:03:33.45大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派
VS
橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
様子見:公明
0401デフォルトの名無しさん
2011/12/08(木) 15:10:48.32template <typename T>
void scan_line(const string &prompt, T &x)
{
cout << prompt;
while( ! ( cin >> x ) ) {
cin.clear();
cin.ignore( 10000, '\n' );
cout << "Error:" << prompt;
}
}
>>327 は numeric_limits<streamsize>::max() によりバッファの最大サイズを取得しているけど、
十分に大きいと思われる数値を与えれば十分じゃないかなと思う
0402デフォルトの名無しさん
2011/12/08(木) 15:26:57.57スタック・ヒープ・リテラルがアドレスの何処に配置されるかは環境依存だよって意味
> (キャスト等して)intの変数に文字リテラルを渡すと負数が渡る?
渡らなかった、リテラルは 0x400000 台のアドレスに配置されているようだ
> fgets()はK&R Cのように振る舞う(振る舞わさせることが出来る)?
質問の意味が不明だ
fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる
ANSIスタイルであればNULLを返すだろう
0403デフォルトの名無しさん
2011/12/08(木) 15:50:52.16それで終わりだ。宿題スレで関係ない話してんな。
0404デフォルトの名無しさん
2011/12/08(木) 17:46:49.10IplImage **src = 0;
IplImage *src0 = cvLoadImage("./src/000.bmp", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
cvSaveImage( "src_image.jpg", src0, 0);
if( NULL == (src = (IplImage**)malloc(IMG_NUM*sizeof(src0))) ){
printf("メモリ確保出来ず.\n");
return -1;
}
for(i=0;i<=IMG_NUM;i++){
sprintf(filepath, "./src/%03d.bmp",i);
src[i] = cvLoadImage(filepath, CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
}
という感じで読み込んで
for (i = 0; i <= IMG_NUM; i++) {
cvConvertScale (src[i], tmp, 1.0, 0);
cvAcc(tmp, ave_img, NULL);
cvSquareAcc(tmp, ave2_img, NULL);
}
cvConvertScale (ave_img, ave_img, 1.0/100, 0);//平均
cvConvertScale (ave2_img, ave2_img, 1.0/100, 0);//二乗和の平均
//分散
Iplimage *dispersion = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3);
cvMul( ave_img, ave_img, ave_img,0);
cvSub( ave2_img, ave_img, dispersion,0 );
//標準偏差
Iplimage *sd = cvCreateImage(cvSize(width,height),IPL_DEPTH_32F,3);
cvPow( dispersion, sd, 0.5 );
これで出せている…つもりです
よろしくお願い致します
0405デフォルトの名無しさん
2011/12/08(木) 18:00:27.090406デフォルトの名無しさん
2011/12/08(木) 18:14:41.71[2] 文字列を後ろから逆に表示する(例えば"ABC"を受け
取ったら"CBA"と表示する)関数
void put_rstring(const char *st)
を,添字演算子[] を使わずに作成せよ
[3] 環境
[3.1] OS: linux
[3.2] gcc
[3.3] C
[4] 期限:2011/12/8
[5] 以下の実行例のように関数の動作を確認できるmain 関数も作成す
ること.
(実行例)
文字列を入力してください:Koudai
逆順に表示:iaduoK
0407デフォルトの名無しさん
2011/12/08(木) 18:27:05.25>>361
0408デフォルトの名無しさん
2011/12/08(木) 19:05:21.64[2] 問題文:文字列st の中に,文字c が含まれていればその文字
へのポインタを返し,含まれていなければNULL を返す
関数char *str_chr(const char *st, int c)
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
実行例
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:X
その文字はstr に含まれています。
その文字以降を表示します:XYZ
例.2
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:3
その文字はstr に含まれていません
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2010
[3.3] 言語:C
[4] 期限:12/9
[5] その他の制限:
・ 関数str_chr は,添字演算子[] を使わずに作成すること.
・? 文字c が複数ある場合は,最も先頭側の文字c へ
のポインタを返すものとする.
0409デフォルトの名無しさん
2011/12/08(木) 19:26:44.45#include <stdio.h>
#include <string.h>
char *str_chr(const char *st, int c)
{return strchr(st, c);}
int main()
{
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("1 文字入力してください:");
c = getchar();
p = str_chr(str, c);
if(p!=NULL){
printf("その文字はstr に含まれています。\n"
"その文字以降を表示します:%s\n", p);
}else{
printf("その文字はstr に含まれていません\n", c);
}
return 0;
0410デフォルトの名無しさん
2011/12/08(木) 19:50:26.990411デフォルトの名無しさん
2011/12/08(木) 20:17:42.93嘘つくな、コンパイルすら通らないぞ
0412デフォルトの名無しさん
2011/12/08(木) 20:21:02.690413デフォルトの名無しさん
2011/12/08(木) 21:05:54.83http://ideone.com/unRJq
0414デフォルトの名無しさん
2011/12/08(木) 21:33:49.670415デフォルトの名無しさん
2011/12/08(木) 21:46:08.27[2] 問題文(含コード&リンク):
ある実数値の2乗を求める関数jijyoと、3乗を求める関数sanjyoを作成し、メイン関数から呼び出して動作を確認せよ。ただし、関数の返却値は無いものとし、引数はアドレス渡し(ポインタ)とする。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン: わかりません
[3.3] 言語: C++
[4] 期限: 12/8 23:00
[5] その他の制限: 基本しかやってません
0416デフォルトの名無しさん
2011/12/08(木) 22:10:41.09[2] 問題文(含コード&リンク):
問題1
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4927
問題2
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4928
参考プログラム
ttp://codepad.org/nxeE5z0Z
[3] 環境
[3.1] OS:windows7
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C言語
[4] 期限: 12/9 16:00
[5] その他の制限: できるだけ簡単に、参考プログラムを元に作成をよろしくお願いします。
0417デフォルトの名無しさん
2011/12/08(木) 22:39:08.54http://ideone.com/Hmo11
0418デフォルトの名無しさん
2011/12/08(木) 23:12:04.24http://www.nicovideo.jp/watch/sm15377275
youtube: http://www.youtube.com/watch?v=lf4iNq_E9XA
http://blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/DSCN6426.jpg
http://4.bp.blogspot.com/-mEsOSb2V_m4/TlD4HoAbG0I/AAAAAAAADEc/ou3_NGs9h4E/s1600/6.jpg
0419デフォルトの名無しさん
2011/12/08(木) 23:36:32.210420デフォルトの名無しさん
2011/12/08(木) 23:59:38.91[2] 問題文(含コード&リンク):メイン関数でキーボードから2つの整数値を入力し、関数sisokuenzanにて和差積商を計算するプログラムを作成せよ。
なお、関数sisokuenzanの仕様は以下のとおりとし、計算結果はメイン関数で表示するものとする。計算結果の変数は、結果をよく考えて適切な型を使うこと。
関数名: sisokuenzan
引数 :整数1: x
整数2: y
計算結果:和 wa, 差 sa,積 seki,商 syou
(ただし、計算結果はポインタ)
返却値:無し(return文は無い)
その他:「関数sisokuenzanが呼ばれました」と、画面に表示する。
(実行例)
整数1= 10
整数2= 3
関数sisokuenzanが呼ばれました
メイン関数に戻りました
和 = 13 差 = 7 積 = 30 商 = 3.3
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:Microsoft Visual C++ 2010 Express
[3.3] 言語: C++
[4] 期限:できるだけ早くでお願いします
[5] その他の制限:
0421デフォルトの名無しさん
2011/12/09(金) 00:37:03.18http://ideone.com/9DMwI
0422デフォルトの名無しさん
2011/12/09(金) 00:41:20.78確かにそんなに引っ張る話題でもないんで一個だけ。
fgets( s, -1, stdin ) が NULL文字を読み込む事が確認できたので、K&Rスタイルに実装と推定できる
>ANSIスタイルであればNULLを返すだろう
もしかしてK&Rに書いてあるfgets()のコードのことですか? その場合「ANSIスタイル」
というのは何なのかという疑問が...
0423デフォルトの名無しさん
2011/12/09(金) 00:43:52.14ああ、>>395のリンクをちゃんとよんでませんでしたごめんなさい。
というわけで終了。
0424デフォルトの名無しさん
2011/12/09(金) 01:34:38.681. http://ideone.com/KaADl
2. 回路わからん
0425デフォルトの名無しさん
2011/12/09(金) 05:17:40.88課題2
あってるかどうか、さっぱりわからん
http://codepad.org/N8rd6RQW
0426デフォルトの名無しさん
2011/12/09(金) 06:50:40.83ありがとうございます
>>425
ありがとうございます
たぶん間違ってると思います
0428デフォルトの名無しさん
2011/12/09(金) 13:33:28.25[2] 問題文(含コード&リンク):メンバとして名前(文字列)と生年月日(yyyymmdd
形式のlong 型整数)をもつ構造体friend を宣言し,
friend 型構造体のオブジェクトfr を引数としてメン
バの情報を"○○さんの生年月日はyyyy 年mm 月dd 日
です。" のように表示する関数
void print_friend(struct friend fr)
を作成しプログラムを完成させよ
以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,main 関数は以下のよう
に動作するものを作成せよ。
友人の名前を入力してください:Taro
友人の生年月日(yyyymmdd) を入力してください:
19911001
Taro さんの生年月日は1991 年10 月1 日です。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:12/10
[5]
・main 関数内で,friend 型構造体のオブジェクトfr1 を初期化せずに宣言する.
・ 以下の実行例のように,fr1 のメンバの値(名前と生年月日)をユーザに入力させる.このとき,scanf関数の引数にfr1 のメンバのアドレスを用いること.
・その後,関数print_friend を呼出してfr1 の情報を表示し,終了する.
0429デフォルトの名無しさん
2011/12/09(金) 13:54:53.10http://codepad.org/0AHj3gWc
0430デフォルトの名無しさん
2011/12/09(金) 18:08:58.15とても助かりました!ありがとうございます!
0431デフォルトの名無しさん
2011/12/09(金) 18:21:33.78fイ´__ __ヾ
{:六;;;;:ハ:;;;:カ
(_ ' _^_ヽリ なんだ AKBって整形した反日朝鮮人だったのかァ
,人 l⌒l、 ブームの捏造手法が寒流と同じだけはあるな
/ \,ゝヽr' \
/ |:| ヽ
l l /´�堰@ l !
|___l ノ ,イ !__,}
0432デフォルトの名無しさん
2011/12/09(金) 21:03:01.65[2] 問題文(含コード&リンク):画像からエッジの検出処理を行い別の画像として出力するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語:C
[4] 期限:2011年12月22日 23時59分まで
[5] その他の制限:なし
0434デフォルトの名無しさん
2011/12/10(土) 01:35:03.04どなたか教えていただけないでしょうか。
0435デフォルトの名無しさん
2011/12/10(土) 07:31:17.740436デフォルトの名無しさん
2011/12/10(土) 09:29:14.19[2] 問題文(含コード&リンク):文字列st の中に,文字c が含まれていればその文字
へのポインタを返し,含まれていなければNULL を返す
関数char *str_chr(const char *st, int c)
を作成せよ.以下の実行例のように,関数の動作を確認
できるmain 関数も作成すること.
ただし,プログラムは以下の要件を満たすこととする.
・ 関数str_chr は,添字演算子[] を使わずに作成すること.
・文字c が複数ある場合は,最も先頭側の文字c へ
のポインタを返すものとする.
・main 関数は以下に示すものを用いること.空欄は
自分で埋めること.
なお,以下のmain 関数では,指定した文字が文字列中
に含まれていた場合に,文字列のその文字以降の部分を
表示するようなプログラムとしている.
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:visual studio
[3.3] 言語:C
[4] 期限:2011年12月10日 23時59分まで
[5] その他の制限:なし
0437デフォルトの名無しさん
2011/12/10(土) 09:30:40.23[5]なお,以下のmain 関数では,指定した文字が文字列中
に含まれていた場合に,文字列のその文字以降の部分を
表示するようなプログラムとしている.
int main( void )
{
int ch;
char str[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *ptr;
printf("文字列str:%s\n", str);
/* 探したい文字を入力させる*/
printf("1 文字入力してください:");
ch = getchar();
/* 文字ch を探す関数を呼出す*/
ptr =
/* 文字ch が見つかればstr のその文字以降の部分
を表示*/
if ( ){
printf("その文字はstr に含まれています。\n");
printf("その文字以降を表示します:%s\n",);
}
else
printf("その文字はstr に含まれていません。\n");
return
[実行例]
文字列str:ABCDEFGHIJKLMNOPQRSTUVWXYZ
1 文字入力してください:X
その文字はstr に含まれています。
その文字以降を表示します:XYZ
よろしくお願いします
0438デフォルトの名無しさん
2011/12/10(土) 10:20:26.49>408
0439 ◆Z1sp.Bulpo
2011/12/11(日) 02:33:53.74[2] 問題文(含コード&リンク):
リスト構造を使用して平均を求めるプログラムの作成
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12月14日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0441デフォルトの名無しさん
2011/12/11(日) 06:18:35.57[2]
123 456 789.012 345.678
901 234 567.890 123.456
789 12 345.678 901.234
567 890 123.456 789.012
・・・
のような適当な値のテキストファイル(q.txt)があり(50×4)、これらのうち3列目と4列目でそれぞれの差を取り、
以下のような新しいテキストファイル(a.txt)に出力せよ。
-221.122 -222.222
-222.212 777.778
-222.222 -112.222
・・・
[3] 環境
[3.1] Windows
[3.2] VS2010Express
[3.3] C
[4] 2011/12/12まで
[5] 特に制限はありません。
流れとしてq.txtを読み込み、3,4列目を二次元配列に入れ、それぞれ計算させてa.txtを出力すると思いますが、
入出力はまだ理解できますが、配列に入れるのとそれらの配列を用いて計算させる辺りがあやふやです。
御教示お願いします。
0442デフォルトの名無しさん
2011/12/11(日) 06:30:39.70>のような適当な値のテキストファイル(q.txt)
のテキストを出してくれ
いちいち作るのめんどくせ
0443デフォルトの名無しさん
2011/12/11(日) 07:04:06.05http://codepad.org/wdhiYBra
0444デフォルトの名無しさん
2011/12/11(日) 09:55:56.24[2] 問題文(含コード&リンク):
メンバとして映画のタイトル(文字列)と公開年(int
型整数)をもつ構造体movie を宣言し,movie 型構造
体へのポインタmv と映画タイトルの文字列str を引数
としてタイトルを書きかえる関数
void set_title(struct movie *mv, char str[])
および,movie 型構造体へのポインタmv と公開年y を
引数として公開年を書きかえる関数
void set_year(struct movie *mv, int y)
を作成しプログラムを完成させる
実行例.
タイトル:HAYABUSA 公開年:2011
データを書きかえました。
タイトル:October Sky 公開年:1999
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12月11日まで
0445デフォルトの名無しさん
2011/12/11(日) 09:56:47.53[5] その他の制限:以下の実行例のように,関数の動作を確認できるmain
関数も作成すること.ただし,main 関数は以下のよう
に動作するものを作成すること
・main 関数内で,タイトルをHAYABUSA,公開年
を2011 として初期化したmovie 型構造体のオブジェクトmovie1 を宣言する
・以下の実行例のように,movie1 のメンバの値を表
示した後,関数set_title と関数set_year を用
いて別のタイトルと公開年の値に変更する.変更す
るタイトルと公開年は適当な値を用いてよい(ユー
ザに入力させる必要はない
・その後もう一度movie1 のメンバの値を表示して終
了する.
お願いします
0446デフォルトの名無しさん
2011/12/11(日) 14:31:15.96ちょっとまってね、今作ってみるわ。
0447デフォルトの名無しさん
2011/12/11(日) 14:49:36.49#include <string.h>
#define TITLESIZE 100
struct movie{char title[TITLESIZE];int year;};
void set_title(struct movie *mv, char str[]){strcpy(mv->title, str);}
void set_year(struct movie *mv, int y){mv->year = y;}
void print_movie(struct movie *mv){printf("タイトル:%s 公開年:%d\n", mv->title, mv->year);}
int main(void){struct movie movie1 = {"HAYABUSA", 2011};print_movie(&movie1);
set_title(&movie1, "WarGames");set_year(&movie1, 1983); /* ←ネタが思いつかんかった */
printf("書き換えました\n");print_movie(&movie1);return 0;}
0448デフォルトの名無しさん
2011/12/11(日) 15:14:56.98#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double a, b, c, d, oldc, oldd;
FILE *fin = fopen("q.txt", "r");
FILE *fout = fopen("a.txt", "w");
if (fin == NULL || fout == NULL) {
fprintf(stderr, "ファイルが開けないよ\n");
exit(2);
}
fscanf(fin, "%lf %lf %lf %lf", &a, &b, &oldc, &oldd);
while (fscanf(fin, "%lf %lf %lf %lf", &a, &b, &c, &d) == 4) {
fprintf(fout, "%lf %lf\n", c - oldc, d - oldd); /* ←自分で調整してちょ */
oldc = c;
oldd = d;
}
fclose(fin);
fclose(fout);
return 0;
}
0449デフォルトの名無しさん
2011/12/11(日) 15:18:42.89そういうもんでもないだろ
0450デフォルトの名無しさん
2011/12/11(日) 15:31:44.480451デフォルトの名無しさん
2011/12/11(日) 16:14:56.24先頭の4行は次のような、形でしょうか。
---次の行から
P1
# comment
100 200
256
---上の行まで。
pgmファイルの読み書き習っているなら、そのプログラムを提示してくれれば組める。
0452デフォルトの名無しさん
2011/12/11(日) 16:27:41.780453デフォルトの名無しさん
2011/12/11(日) 16:50:10.02足引っ張ることしかできんのかお前は。
0454デフォルトの名無しさん
2011/12/11(日) 16:52:21.20printf("Hello World\n");
でいいんじゃね?
0455デフォルトの名無しさん
2011/12/11(日) 16:54:25.70標準画像のlenaさんてプレイボーイのグラビアだったのねー・・・。
0456デフォルトの名無しさん
2011/12/11(日) 17:32:14.740457デフォルトの名無しさん
2011/12/11(日) 18:13:32.24だよ。顔だけばっかりみるけど
0458デフォルトの名無しさん
2011/12/11(日) 18:23:07.99[2] 問題文(含コード&リンク):1,2,3,4,5,6...と続くテキストファイルを読み込み、8×8の2次元配列で表し、別のテキストファイルに結果を書き込みなさい。ただし、読み込むファイルのデータの数が64個に満たない場合は、0を代入しなさい。
[3] 環境
[3.1] OS: linux debian
[3.2] コンパイラ名とバージョン: gcc4.3.2
[3.3] 言語:C言語
[4] 期限: 12月12日 14時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0459デフォルトの名無しさん
2011/12/11(日) 18:49:44.75ttp://ideone.com/NgsDq
0460458
2011/12/11(日) 20:14:13.09Error: 'for' loop initial declaration used outside c99 mode
というエラーがでます。
0461466
2011/12/11(日) 20:36:43.47[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0462デフォルトの名無しさん
2011/12/11(日) 20:49:03.00C99より前のバージョンのC言語は、ローカル変数の宣言は全てコードブロックの一番前で
行わなければならないからね。
for ( int j = 0; j < 8; j++ ){
の部分を
int j;
for ( j = 0; j < 8; j++ ){
にすればいいんじゃないかな?
ついでにFILE *fp = fopen(in_file, "rb");の行も、gets(in_file);の前にFILE *fp;をおいて、
もともとの場所はfp = fopen(in_file,"rb");に置き換える必要もあるし…。
それかC99モードでコンパイルするのが一番いいかもしれないね。どうすればいいかは、
それくらい調べた方がいいかも。
0466デフォルトの名無しさん
2011/12/11(日) 21:07:59.17エラーメッセージ貼れよバカ
0467458
2011/12/11(日) 21:11:24.58In function 'main'
warning: the `gets' function is dangerous and should not be used
です。
http://ideone.com/x4K0I 書き直しただけ。
0469デフォルトの名無しさん
2011/12/11(日) 21:18:22.59gets()は(配列の長さを知らないでメモリを壊すので)危ないから、使わないでねというやつ。
0470デフォルトの名無しさん
2011/12/11(日) 21:20:08.71http://codepad.org/AtEkOEgr
0471466
2011/12/11(日) 21:32:31.82[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
0472デフォルトの名無しさん
2011/12/11(日) 21:32:36.14[1] 授業単元:C言語
[2] 問題文(含コード&リンク):textfileの1行を読み込み、1次元配列にバッファリングしたものの1部をスペースが出るまで
別の二次元配列に格納せよ。
テキストファイルに書かれている内容は
AA 1,2,3,4,5;
・・・
です。
のようにAAと数字の間は1スペース開いています。
AA 2,3,4,5;の1行だけをバッファリングすることが
できました。AAの文字のみを別の二次元配列に格納するにはどうすればよいか?
[3] 環境
[3.1] OS: (Windows/Linux/等々)windows
[3.2] コンパイラ名とバージョン:制限なし
[3.3] 言語: (C/C++/どちらでも可 のいずれか)C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
2011年12月15日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なし。 1次元配列に格納するところまではできたのですが、そこから先に進めないので、
お願いします。
0473458
2011/12/11(日) 21:35:20.09warningは出ますが実行ファイルは出来たので、./で実行しましたが何も起きません。
gets()を使わない方法を知っていたら教えてくれませんか?
0474466
2011/12/11(日) 21:36:24.86[2]10×10の二次元配列を用意し、□か■を適当に格納し■が上下左右に連続してマークされた要素の集まりを島と呼び島の個数を数える(関数の再起処理を使用)
#include<iostream>
#include<string>
using namespace std;
const int size_y=10;
const int size_x=10;
ここにプログラムを書く
int main()
{
string map[size_y][size_x]={
{" "," "," "," "," ","#"," "," ","#","#"},
{" "," "," "," "," "," ","#"," ","#","#"},
{" "," "," ","#","#","#"," ","#"," "," "},
{" "," ","#","#"," ","#"," "," "," "," "},
{" "," "," ","#"," "," ","#"," "," "," "},
{" "," "," "," "," "," "," "," "," ","#"},
{" "," "," "," ","#"," "," "," "," "," "},
{" "," ","#"," "," ","#"," "," "," ","#"},
{" "," ","#","#"," ","#"," "," "," ","#"},
{"#"," "," "," "," "," "," "," "," "," "}};
print_map(map);
ここにプログラムを書く
return 0;
}
ここにプログラムを書く
3] 環境
[3.1] Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: 2011年12月11日24時
[5] その他の制限: 標準ライブラリは使ってはいけない,再起関数までしか習っていない、
0475デフォルトの名無しさん
2011/12/11(日) 21:42:05.652度手間になるから、できたところまでのソースくださいな
0476デフォルトの名無しさん
2011/12/11(日) 21:52:09.40実行時に説明文とか出力してないから実行しても何も動作してないように見えるが、
入力ファイル エンター
出力ファイル エンター
ってすれば最後まで処理走るよ、
文字列入力使わないってニュアンスでgets()以外の方法ってんなら、
後はmain()の引数argvにファイル名を持たせるとか、いっその事ファイル名もコードに決め打ちとか
まあ自分でprintf文で説明文埋め込んだりして使用者の事考えるのもいい勉強になるよ
0477デフォルトの名無しさん
2011/12/11(日) 21:53:26.77gets(in_file)
↓
fgets(in_file, sizeof(in_file), stdin)
・・・まあテキトーにコト書いてて、試してないが。
0478458
2011/12/11(日) 21:59:31.11ありがとうございます。
10,15,20...とかだと上手く結果が出ません。
また、新しいファイルに書き込まれるものが、1,2,3,4,5,6,...とただ続くものになってしまいます。
新しいファイルには8×8の配列で書き込んで欲しかったのですが。
0479デフォルトの名無しさん
2011/12/11(日) 22:05:07.17おー、AOJでやったなぁ…どれどれ、問題0067だな( ´∀`)
>[5] その他の制限: 標準ライブラリは使ってはいけない
むちゃいいうなよ(´・ω・`)
0480466
2011/12/11(日) 22:12:46.41すいません標準ライブライの意味がよくわかりません。
ここにプログラムを書くの所を埋めるかんじです。
0482デフォルトの名無しさん
2011/12/11(日) 22:30:55.07ttp://loda.jp/kng311tt/?id=75
これはpngだけど。
0483472
2011/12/11(日) 22:41:16.66#include <string.h>
FILE *fp;
char buffer[1000];
char name[100][10];
char list[50];
int b,n1,n2,a1,a2,list;
int main(void){
if((fp=fopen("text.txt","r"))==NULL){
printf("error!\n");
exit(1);
}
n1=0;
n2=b;
while((buffer[b]=getc(fp))!=';'){
printf("%s",buffer);
}
for(b=0;b<1000;b++){
if(buffer[b]==' '){
b=b+1;
}
else{
strcpy(name[n1][n2],buffer[b]);
}}
printf("name:%s",name);
fclose(fp);
return 0;
}
0484479
2011/12/11(日) 22:51:12.74今日の24時までという大変厳しい条件ゆえ、
過去につくったものをそのまま流用したが、
問題あったら他にも作ってくれる人いるだろうからそっちを使ってね(´・ω・`)
http://codepad.org/yLSJHvP9
0485デフォルトの名無しさん
2011/12/11(日) 23:11:28.45#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE *fp;
char buffer[1000];
char name[100][10];
int n1;
int main(void){
int i;
if((fp=fopen("text.txt","r"))==NULL){
printf("error!\n");
exit(1);
}
for (n1 = 0; fgets(buffer, sizeof(buffer), fp); n1++)
sscanf(buffer, "%s", name[n1]);
for (i = 0; i < n1; i++)
printf("name:%s\n",name[i]);
fclose(fp);
return 0;
}
0486472
2011/12/11(日) 23:15:07.910487デフォルトの名無しさん
2011/12/11(日) 23:23:47.08http://www.lenna.org/full/l_hires.jpg
「Muirheadは、100ライン/インチの固定解像度を持っていたが、彼らは512×512イメージを望んだた
め、走査を画像のトップ5.12インチに制限したので、ちょうどモデルの肩で画像が切れてしまったとい
うわけさ」
「1997年のSociety for Imaging Science and Technology 50周年記念会議にゲストとして招かれた。
彼女はサインをし、写真撮影に応じ、自己紹介をするなど非常に多忙であった。」
「現在ストックホルム近郊にすみ、政府所有の酒専売店で働いている。彼女は結婚しており、3人の子
供たちがいる。」
0488デフォルトの名無しさん
2011/12/11(日) 23:26:55.67コンソールアプリケーションで書いているんですが、無理ですかね??
0489デフォルトの名無しさん
2011/12/11(日) 23:31:15.09できるよ
jpeg とかは自分でデコードしようとすると大変だけど
0490デフォルトの名無しさん
2011/12/11(日) 23:38:57.16画像ファイルを扱うのは既存のライブラリ使うのが楽そうですけどねぇ。
Cだったら日本語の説明でImageMagicの使い方とかありそう。
とか言いつつ、PNMのP2とP5の読み込み「だけ」できるの作ったけど。
エラーチェックが酷いので晒せないわ。
暇つぶしになりました。おやすみー。
0491472
2011/12/12(月) 00:59:22.29です。
name[n1]は1次元配列ではありませんか?
0492デフォルトの名無しさん
2011/12/12(月) 01:00:12.38もしかして16時ごろからやってた人?
まぁ、勉強になったならいいか
0493デフォルトの名無しさん
2011/12/12(月) 01:15:21.10for(i...の前にさ
printf("%c\n", name[0][0]);
ってのつけたしてみるとよいかもですね。
2次元配列中にちゃんと最初の文字入ってるでしょ?
0494472
2011/12/12(月) 01:21:25.52ありがとうございます。
0495デフォルトの名無しさん
2011/12/12(月) 04:40:06.25http://ideone.com/U9X05
0496495
2011/12/12(月) 05:12:20.150497495
2011/12/12(月) 06:19:15.57すまない。バグ有りだった。
ラプラシアンの分岐忘れ修正。ついでに全方向化。
http://ideone.com/6M17y
0498デフォルトの名無しさん
2011/12/12(月) 07:21:26.25子供手当満額、公務員制度改革、最低時給1000円、消費税据置、高速道路無料化
小沢一郎 総理大臣なら全部やってくれるんじゃ!?!
0499デフォルトの名無しさん
2011/12/12(月) 11:18:11.490500デフォルトの名無しさん
2011/12/12(月) 11:32:52.41政治学、社会学あたりかな。
0501デフォルトの名無しさん
2011/12/12(月) 15:24:51.36[2] 問題文(含コード&リンク):以下の実行例のように,文字列を入力すると,その前
後に"を付けた文字列を生成するプログラムを,ライブ
ラリ関数strcpy とstrcat を用いて作成せよ.ただし,
プログラムは以下の要件を満たすこととする
・ユーザに入力させる文字列を格納する配列をstr1[],前後に"を付けた文字列のための配列をstr2[] とする.
・ユーザに入力させる文字列は30 字までとする。
・配列str2[] は初期化せずに宣言し,ライブラリ関数strcpy とstrcat を使って(添字演算子[] を使わずに)前後に"を付けた文字列を生成すること.
実行例.
文字列を入力してください:Tokyo
文字列の前後に"を付けました。
str2:"Tokyo"
[3.1] OS: linux debian
[3.2] コンパイラ名とバージョン: gcc4.3.2
[3.3] 言語:C言語
[4] 期限: 12月13日 14時
[5] その他の制限:
0502デフォルトの名無しさん
2011/12/12(月) 15:38:51.14char str2[30+1+2];
/* str1 入力処理略 */
strcpy(str2, "\"");
strcat(str2, str1);
strcat(str2, "\"");
printf("文字列の前後に\"を付けました。\nstr2:%s\n", str2);
0503デフォルトの名無しさん
2011/12/12(月) 16:28:07.06http://ideone.com/wX9hl
0504デフォルトの名無しさん
2011/12/12(月) 19:05:02.15[2] 問題文(含コード&リンク): 0から16までの整数を2進数変数で表記した時,
2^2 の桁の値を表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 特になし あまり難しくない表記で
0505デフォルトの名無しさん
2011/12/12(月) 19:15:36.380506デフォルトの名無しさん
2011/12/12(月) 19:17:34.72^ってCでは排他的論理和だが、ひょっとして意図は階乗?
0507デフォルトの名無しさん
2011/12/12(月) 19:26:49.39階乗のつもりでした、すみません。
0508デフォルトの名無しさん
2011/12/12(月) 19:29:06.21#include <stdio.h>
int
main()
{
int i;
printf("元の数¥t2^2 の桁の値¥n");
for(i=0; i<16; i++)
printf("%d¥t%d¥n",i,(i/4)%2);
return 0;
}
0509デフォルトの名無しさん
2011/12/12(月) 19:37:04.18どうもありがとうございます!
0510デフォルトの名無しさん
2011/12/12(月) 20:10:16.24[1] 授業単元:バケツソート(アルゴリズム)
[2] 問題文(含コード&リンク): http://codepad.org/04CeYgrq
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 12月15日
[5] その他の制限: リンク先のコードの訂正をお願いします。
0511デフォルトの名無しさん
2011/12/12(月) 22:15:10.06負の整数は考慮不要?
0512デフォルトの名無しさん
2011/12/12(月) 22:25:57.66はい。
正の整数のみで4桁目は1~9で始まる仮定でお願いします。
0513デフォルトの名無しさん
2011/12/12(月) 22:39:48.38おねがいします。
0514デフォルトの名無しさん
2011/12/12(月) 23:33:25.09http://ideone.com/hqvDj
0515デフォルトの名無しさん
2011/12/12(月) 23:38:35.99>>502ではないが、mainを付加した。
>>501ですポインタでプログラム作成してください
strcpy, strcatを使ったら、ポインターは不要だが?
#include <stdio.h>
#include <string.h>
int
main()
{
char str1[30+1];
char str2[30+1+2];
printf("文字列を入力してください:");
scanf("%s",str1);
strcpy(str2, "¥"");
strcat(str2, str1);
strcat(str2, "¥"");
printf("文字列の前後に¥"を付けました。¥nstr2:%s¥n", str2);
return 0;
}
0516デフォルトの名無しさん
2011/12/12(月) 23:46:42.89[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/Sc/so/300238
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月13日18:00まで
[5] その他の制限:できれば高度な記述ではなく簡単な記述をしていただけたら有難いです
0517デフォルトの名無しさん
2011/12/12(月) 23:52:37.86[2] 問題文(含コード&リンク):
http://ideone.com/hdkMd
問題1と問題2の誤差は、それぞれ 桁あふれ、打切り誤差、丸め誤差、桁落ち、情報落ち
のうちどれか。
また、問題2については誤差がない場合に本来期待される演算結果との比較も行え。
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: c
0518デフォルトの名無しさん
2011/12/12(月) 23:57:15.63http://mamorenihon.files.wordpress.com/2011/09/kao-demo1.jpg
http://blog-imgs-34.fc2.com/d/e/l/deliciousicecoffee/201108040637592d3.jpg
http://tantawan.blog.so-net.ne.jp/_images/blog/_13f/tantawan/E88AB1E78E8BE4B88DE8B2B7-18690.jpg
http://stat.ameba.jp/user_images/20110820/18/lisa-w-paz/07/00/j/o0500032111430159404.jpg
http://livedoor.blogimg.jp/news30over/imgs/c/3/c3860b80.jpg
0519デフォルトの名無しさん
2011/12/13(火) 00:24:29.93http://ideone.com/fgnoj
0520デフォルトの名無しさん
2011/12/13(火) 02:04:50.62R[i]の代わりに、Q[i][0]を使った参考バージョン。
http://ideone.com/m6Je0
0521デフォルトの名無しさん
2011/12/13(火) 03:56:47.54スレチだが言っておく
^は普通べき乗を表す
階乗は!と書く
0522デフォルトの名無しさん
2011/12/13(火) 04:00:05.190523デフォルトの名無しさん
2011/12/13(火) 04:08:22.68オーバーフロー、アンダーフロー
「桁あふれ」でいいんじゃね?
signed char v;
unsigned char w;
0524デフォルトの名無しさん
2011/12/13(火) 04:08:36.97アホか
0525523
2011/12/13(火) 04:13:53.98正しい結果との比較は
signed char v;
unsigned char w;
をint型で書き換えること。
なんか問題の意図がよくわからんなあ。
0526デフォルトの名無しさん
2011/12/13(火) 23:19:48.68[2] 問題文(含コード&リンク):m行n列のテキストファイル(1.txt)をそれぞれ二次元配列に入れ、その配列から新しいテキストファイル(2.txt)に1.txtと同じ内容を出力するようなプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC 2008
[3.3] 言語:C
[4] 期限:2011年12月14日
[5] その他の制限:制御文・入出力・配列・ポインタ程度しか習っていないため、
複雑な演算子や構造体などを用いないシンプルな記述でお願いします。
0527デフォルトの名無しさん
2011/12/14(水) 01:12:32.19wの誤差がない場合の本来の値は ー100,ー200,ー300ですか?
0528デフォルトの名無しさん
2011/12/14(水) 03:25:56.62m,nは画面から入力?
テキストの最大長は?
0529デフォルトの名無しさん
2011/12/14(水) 14:09:06.76何時まで?配列は整数? 区切り文字は? 配列の幅は固定?
仕様適当で「シンプルに」とか自分の要求まで入れて舐めてるの?
0530デフォルトの名無しさん
2011/12/14(水) 15:03:11.00> 配列は整数? 区切り文字は?
この疑問が出る時点で想定してる内容と異なるものだろうと予測。
多分ただのテキストファイルだよ。
0531デフォルトの名無しさん
2011/12/14(水) 15:10:06.62何言ってるんだお前は。デリミタ無かったらバイナリだろ。
0532デフォルトの名無しさん
2011/12/14(水) 15:11:43.33http://ideone.com/ngLgv
設定と入力のお好きな方をどうぞ
0533デフォルトの名無しさん
2011/12/14(水) 15:16:49.070534デフォルトの名無しさん
2011/12/14(水) 15:34:12.23n文字の文字列がm個?
それとも、ある程度の長さの文字列がm*n個?
0535デフォルトの名無しさん
2011/12/14(水) 17:45:27.28回答ありがとうございました。
剰余算とポインタがいまひとつわかりませんが、
自分なりに考えて見ます。
0536デフォルトの名無しさん
2011/12/14(水) 20:26:23.29>剰余算とポインタがいまひとつわかりませんが、
例:数値4567から、
1回目:7を得たい ← (4567/1)%10 = 4567%10 = 7
2回目:6を得たい ← (4567/10)%10 = 456%10 = 6
3回目:5を得たい ← (4567/100)%10 = 45%10 = 5
4回目:4を得たい ← (4567/1000)%10 = 4%10 = 4
上記式中の、/1、/10、/100、/1000を、/xとして
int x=1;
ループ{
...
x*=10;
....
}
0537デフォルトの名無しさん
2011/12/14(水) 20:36:25.21>ポインタ
520で、Q[i]は
Q[i][0] ← R[i}の代わり。
Q[i][1〜31]にはデータが入る。
QをLIFOにしたため、F[i]が不要になった。
>if( x < n ){ fprintf(fp," ");
この文、意図どおりに動いているか? x < n - 1 では?
>return (-1);
なぜ括弧でくくる?
>fprintf(fp," ");
>fprintf(fp,"\n");
fputc() を使いたい。
0539デフォルトの名無しさん
2011/12/14(水) 21:39:42.41[2] 問題文(含コード&リンク):http://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=4940
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 2011年12月16日
よろしくお願いします。
0540デフォルトの名無しさん
2011/12/14(水) 21:41:34.80>>if( x < n ){ fprintf(fp," ");
>この文、意図どおりに動いているか? x < n - 1 では?
これは確かにそうですね。修正しました。どうもです。
http://ideone.com/L3AXc
>なぜ括弧でくくる?
見やすいと思いまして。
>fputc() を使いたい。
そうですか。
0541デフォルトの名無しさん
2011/12/14(水) 21:48:10.07むしろその掲示板ってどっからたどり着くの?
0542デフォルトの名無しさん
2011/12/14(水) 21:51:29.81分散などはOpenCV自体の関数だけで事足りるので大丈夫だったのですが
直接画素を触らなければならない最頻値などがどうにもうまくいきません
0543デフォルトの名無しさん
2011/12/14(水) 22:33:16.04画素はRGB24bit?
0544デフォルトの名無しさん
2011/12/14(水) 23:45:44.91はい、その通りです
予めビットマップとして取得してあります
0545デフォルトの名無しさん
2011/12/14(水) 23:48:10.90[2] 問題文:キーボードから元金、返済回数(月数)、利率(年利)を入力し、元金均等払いの1回から指定回数までの支払額、利息、残高を表示する。
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/268.pdf
[3] 環境
[3.1] OS:(Windows
[3.2] コンパイラ名とバージョン:VC2010
[3.3] 言語: C++
[4] 期限: 12月16日
pdfで大変申し訳ないんですがよろしくお願いします。
0546デフォルトの名無しさん
2011/12/15(木) 00:09:18.74アクセスが許可されていません。
以下の理由が考えられます。
・外部から直接呼び出された場合
・リファラーが返されていない場合
・indexファイルが存在していない場合
・適切なパーミッション(属性)が与えられていない場合
9秒後に、自動的に 無料でEタウン に戻ります。
Sorry, Access is not admitted.
The following reasons are thought about.
.When there is not an index file
.When it was called directly by the outside
.When appropriate access permission (an attribute) is not given
0547デフォルトの名無しさん
2011/12/15(木) 00:10:54.13http://ideone.com/DXDaD
0548デフォルトの名無しさん
2011/12/15(木) 00:14:52.72申し訳ないと思うならそれくらい手打ちしたらどうだ
0549デフォルトの名無しさん
2011/12/15(木) 00:28:02.99>>1を見て
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
ここからDLしろ
0550545
2011/12/15(木) 00:32:34.16元金?20000
回数(月数)?15
利率(%)?5
回数 支 払 額 利 息 残 高
1 14171 833 186662
2 14110 777 173329
3
4
5
6
7 ・ ・ ・
8 ・ ・ ・
9 ・ ・ ・
10
11
12
13
14
15 0
合計 206659 6659
続行するには何かキーを押してください
こんな感じのプログラムを作る課題がでました
.>>548
法政です!びっくりしました
0551デフォルトの名無しさん
2011/12/15(木) 00:57:13.83法律上の計算はわからん。
http://ideone.com/4x8Bg
0552デフォルトの名無しさん
2011/12/15(木) 01:02:09.98うおおおありがとうございます!!!!
0553デフォルトの名無しさん
2011/12/15(木) 01:16:39.78ありがとうございます!助かりました。
0554デフォルトの名無しさん
2011/12/15(木) 01:51:51.45ゴリ押しでならどういう手順の処理かは分かるけど、
さすがにCは面倒すぎだわ。
0555デフォルトの名無しさん
2011/12/15(木) 03:32:37.59法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合
国家戦略相 古川元久 パチンコ協会政治アドバイザー
0556デフォルトの名無しさん
2011/12/15(木) 11:20:28.26[2] 問題文(含コード&リンク):
氏名、体重、身長の入力を受けつけ、ファイル
に書き込むプログラムをかけ。
[3] 環境
[3.1] Windows
[3.2] visual C++2005
[3.3] C
[4] 2011/12/22
0557デフォルトの名無しさん
2011/12/15(木) 12:47:30.20入力の形式と出力ファイルの形式は?
0558デフォルトの名無しさん
2011/12/15(木) 12:51:04.820559デフォルトの名無しさん
2011/12/15(木) 15:29:21.33http://ideone.com/qJ8v0
0560デフォルトの名無しさん
2011/12/15(木) 18:51:53.83vc未確認
http://ideone.com/89sZm
0561デフォルトの名無しさん
2011/12/15(木) 23:25:23.59ありがとうございました!
0562デフォルトの名無しさん
2011/12/16(金) 11:15:59.57[2] ファイル"tmp.csv"を入力ファイルとして、座標(x,y)の組を終端まで読み込み、
x,yそれぞれの平均値(重心)を計算して、画面上に表示するプログラムを作成せよ
□"tmp.csv"は「関数y=x^3-xのグラフを描くため、定義域[-2,2]に対するyの値を0.1刻みで計算し、
結果をファイルに出力する」というプログラムで作ったファイルで、もう用意してあります。
□コンパイラの標準外の仕様による異常終了を避けるため、変数の宣言部分にダミーの変数を追加する。例えば、"double dummy=0.0;"(変数名や値は変えてよい)
[3] 環境
[3.1] Windows7
[3.2] VC2010
[3.3] C
[4] 2011年12月16日22:00まで
よろしくお願いします
0563デフォルトの名無しさん
2011/12/16(金) 13:06:08.010564デフォルトの名無しさん
2011/12/16(金) 19:03:13.02tmp.csvのうpよろ。
0565デフォルトの名無しさん
2011/12/16(金) 19:14:05.76配列の領域外をアクセスしたか
初期化していないポインタを使ってるんだろう
0566デフォルトの名無しさん
2011/12/16(金) 19:23:58.880567デフォルトの名無しさん
2011/12/16(金) 19:38:49.98ソースコードをパクられても決まった手順、コンパイラ、オプションでないと使えないようにできる
0568>>562
2011/12/16(金) 20:53:12.61遅れてすいません
多少期限すぎても大丈夫です
あと//で軽い説明・解説つけてくれると嬉しいです
#include<stdio.h>
double f(double x){
return x*x*x - x;
}
int main(){
FILE *fp;
double x;
fp = fopen("tmp.csv","w");
if (fp == NULL){
printf("File creation error.\n");
return -1;
}
for (x=-2.0; x<=2.0; x+=0.1){
fprintf(fp, "%lg,%lg\n",x,f(x));
}
fclose(fp);
return 0;
}
0569デフォルトの名無しさん
2011/12/16(金) 21:50:02.71> コンパイラの標準外の仕様による異常終了
どゆこと?
#include<stdio.h>
int main(){
FILE *fp;
int count = 0;
double sum[2] = {0,0}, value[2] = {0,0};
fp = fopen("tmp.csv","r");
if (fp == NULL){
printf("File open error.\n");
return -1;
}
while( fscanf(fp,"%lg,%lg\n",&value[0],&value[1]) == 2 ){
sum[0] = sum[0] + value[0];
sum[1] = sum[1] + value[1];
count++;
}
printf("%lg,%lg\n",sum[0]/count,sum[1]/count);
}
fclose(fp);
return 0;
}
0570デフォルトの名無しさん
2011/12/16(金) 21:51:31.40int main(){
FILE *fp;
int count = 0;
double sum[2] = {0,0}, value[2] = {0,0};
fp = fopen("tmp.csv","r");
if (fp == NULL){
printf("File open error.\n");
return -1;
}
while( fscanf(fp,"%lg,%lg\n",&value[0],&value[1]) == 2 ){
sum[0] = sum[0] + value[0];
sum[1] = sum[1] + value[1];
count++;
}
fclose(fp);
printf("%lg,%lg\n",sum[0]/count,sum[1]/count);
return 0;
}
0571デフォルトの名無しさん
2011/12/16(金) 22:07:52.71俺の環境だとx=2のときの出力がないから、
#define EPS 1e-9
とかして、
for(x=-2.0-EPS; x<=2.0+EPS; x+=0.1)
ってやった方がいいんじゃないかなあ。
最善策かどうかは分かんないけど。
0572デフォルトの名無しさん
2011/12/16(金) 22:12:52.04ありがとうございます
多分それはあんま関係ないです…
重心って0,0じゃなくてもいいのですか?
0573デフォルトの名無しさん
2011/12/16(金) 22:13:55.57ループさせたい回数が決まってるなら普通は int を使う
0574デフォルトの名無しさん
2011/12/16(金) 22:19:53.18今みたら俺がつくったtmpのエクセルにもX=2がありませんでした
でも俺のエクセルでもX=2がでないってことは俺のもそういう仕様ってことですか?
0575571
2011/12/16(金) 22:26:22.39いや、>573が良いことを言ってる。
#include<stdio.h>
double f(double x){
return x*x*x - x;
}
int main(){
FILE *fp;
int xx;
fp = fopen("tmp.csv", "w");
if(fp == NULL) {
printf("File creation error.\n");
return -1;
}
for(xx=-20; xx<=20; xx++) {
fprintf(fp, "%lg,%lg\n", xx/10., f(xx/10.));
}
fclose(fp);
return 0;
}
0576デフォルトの名無しさん
2011/12/16(金) 22:45:45.980577デフォルトの名無しさん
2011/12/16(金) 23:03:40.39ありがとうございます、非常に助かります
0578デフォルトの名無しさん
2011/12/17(土) 01:50:08.39if(num>0 && Aray[num-1]=="hoge")
もしnumが0だった場合Aray[num-1]は存在しないのですが。
0579デフォルトの名無しさん
2011/12/17(土) 02:01:09.30if(num) だけでいい。
0580デフォルトの名無しさん
2011/12/17(土) 02:03:47.97num = -1 とかで困る。
0581デフォルトの名無しさん
2011/12/17(土) 02:10:30.211.num>0 を先にチェックするから概ねokだが念のため上限チェックもした方がいい。
2.Aray[num-1]=="hoge" ではなく、strcmpな。
3.コンパイルエラーが無いソースで質問してくれ。
#include <stdio.h>
#include <string.h>
int main(){
int num = 0;
char Aray[10][10];
if (num > 0 && num < 10 && strcmp(Aray[num - 1], "hoge")) {
printf("%p¥n", Aray[0]);
printf("%p¥n", Aray[-1]);
}
return 0;
}
0582デフォルトの名無しさん
2011/12/17(土) 02:30:50.100583デフォルトの名無しさん
2011/12/17(土) 02:34:39.14そうだった、すまん。
0584デフォルトの名無しさん
2011/12/17(土) 08:39:12.36それか、(めったにないけど) ポインタ値そのものを比較したいのかもしれない。
0585デフォルトの名無しさん
2011/12/17(土) 11:16:28.970586デフォルトの名無しさん
2011/12/17(土) 11:20:23.85ポインタ値の比較は普通にやる事だし、
ポインタと文字列リテラルの比較はありえない。
0587デフォルトの名無しさん
2011/12/17(土) 12:04:18.030588デフォルトの名無しさん
2011/12/17(土) 14:19:03.31[2] 問題文(含コード&リンク):
設問1-1
大域変数x,yは初期値が0.0に自動的に設定されるが、局所変数a,bはそうではないことを確かめるために、
プログラム例10.4.1とプログラム例11.3.1に適当なprintf文を挿入しなさい。
プログラム例10.4.1
ttp://www.dotup.org/uploda/www.dotup.org2390035.txt.html
プログラム例11.3.1
ttp://www.dotup.org/uploda/www.dotup.org2390042.txt.html
設問1-2
プログラム例11.3.1を、大域変数を使わずに局所変数と引数によるデータの引渡しを使うプログラムに書換えなさい。
プログラム例11.3.1
ttp://www.dotup.org/uploda/www.dotup.org2390042.txt.html
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2011年12月21日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数は習いました。
宜しくお願いします。
0589デフォルトの名無しさん
2011/12/17(土) 16:06:27.91日本語が理解できなくて困ってんのかな
0590589
2011/12/17(土) 16:11:59.941-1 結果は環境依存
http://ideone.com/2mtbx
1-2
http://ideone.com/3F1gO
0591デフォルトの名無しさん
2011/12/17(土) 17:27:13.91設問1-1のプログラム例11.3.1の方もお願いします。
0592589
2011/12/17(土) 17:41:35.980593デフォルトの名無しさん
2011/12/17(土) 17:50:29.59そこを何とかお願いします
0594デフォルトの名無しさん
2011/12/17(土) 18:06:00.28[2] 問題文(含コード&リンク):0.123,1,12,150...と続く「1.txt」と6,13,25,10...と続く「2.txt」がある。
1.txtの数値を2.txtの数値で割り、小数点第一位で切り捨てし、3.txtに結果を書き込むプログラムを作りなさい。
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc4.3.2
[3.3] 言語: C言語のみ
[4] 期限: 12月19日14時
[5] その他の制限: 特にありません。
0595デフォルトの名無しさん
2011/12/17(土) 18:14:04.220割りの考慮は要る?
0597デフォルトの名無しさん
2011/12/17(土) 18:25:21.611÷0はいくらだ?
0598デフォルトの名無しさん
2011/12/17(土) 18:59:18.80そういうのって割りと何度か確かめるよなw
0599デフォルトの名無しさん
2011/12/17(土) 19:14:34.84あのな数値を0でわれば∞になるだろ?
知らんのか?
高校で習ったろ?
0600デフォルトの名無しさん
2011/12/17(土) 19:59:49.58>あのな数値を0でわれば∞になるだろ?
ならないし。
0601デフォルトの名無しさん
2011/12/17(土) 20:25:13.24C言語的には例えば浮動小数点ならNaNか無限大の特殊な数になる
0602デフォルトの名無しさん
2011/12/17(土) 20:32:58.55さすがIT土方wwwwwwwwwwwwww
扱わない。
0×a = 1 をみたす a は「存在しない」というのが正確だ。
数列の極限の状態をもって、実存するひとつの数であるかのように扱ったり代表させたりすることは、「普通は」しない。
ε-δでぐぐれ。
0605599
2011/12/17(土) 21:22:55.99ググってみました。
なるほどね。
ε-δ 論法なんて、三流大学の電気電子
工学科では、おじさん習わなかった。
数学、物理がすきなおじさんには、良いことを
教えてもらった。
0606デフォルトの名無しさん
2011/12/17(土) 22:24:44.90ただ基本的にプログラミングでは無限大って考えでいい。
型安全?の実装的にInifinityで扱う処理系もあるから。
0607デフォルトの名無しさん
2011/12/17(土) 22:29:16.880608デフォルトの名無しさん
2011/12/17(土) 22:31:17.59>ただ基本的にプログラミングでは無限大って考えでいい。
だめだろ。
>型安全?の実装的にInifinityで扱う処理系もあるから。
浮動小数点はいざ知らず、整数で無限大なんて扱える処理系あるのか?
0609デフォルトの名無しさん
2011/12/17(土) 22:35:07.42こういうJavaしか知らない馬鹿がよく釣れます。
0610デフォルトの名無しさん
2011/12/17(土) 22:42:44.09JavaScript
>浮動小数点はいざ知らず
あるじゃん。
0611デフォルトの名無しさん
2011/12/17(土) 22:46:31.39JavaScript キリ!
なんてレス返す馬鹿がいるとは思わなかったよ。
0612デフォルトの名無しさん
2011/12/17(土) 22:47:15.37ほらねw反例を提示できたのに馬鹿にするw
その程度の知識なんですよお前らなんてw
0613デフォルトの名無しさん
2011/12/17(土) 22:54:14.780614デフォルトの名無しさん
2011/12/17(土) 23:01:13.10本来はおかしいことだって気づけ。
0615デフォルトの名無しさん
2011/12/17(土) 23:06:07.090616デフォルトの名無しさん
2011/12/17(土) 23:09:40.54JavaScriptすら知らない馬鹿w
0617デフォルトの名無しさん
2011/12/17(土) 23:32:47.190618デフォルトの名無しさん
2011/12/18(日) 00:13:08.100619デフォルトの名無しさん
2011/12/18(日) 02:56:30.97http://ideone.com/eP3Sq
0621594
2011/12/18(日) 03:44:24.981÷0は0でおねがいします。
0622デフォルトの名無しさん
2011/12/18(日) 04:45:23.93極限としてはそう。
高校数学だけど、x->+0 x->-0という表記に記憶は?
ただし、0で割ることはアウト。これはイコールじゃないんよ。
34でおじさんといわれてもこまってしまうのですが、はっ、hexですか‥‥
0625:デフォルトの名無しさん
2011/12/18(日) 08:58:29.34[2] 問題文(含コード&リンク):メンバとして学籍番号("C0110999"のような文字列) ,5 科目の点数(int 型整数の配列) ,平均点(double 型)をもつ構造体score を宣言し,score 型
構造体へのポインタsc を引数としてメンバの値を設定する関数void set_score_and_calc_ave(struct score *sc)を作成しプログラムを完成させよ。
ただし,構造体score と関数set_score_and_calc_ave については以下の要件を満たようにせよ。
[以下の要件]
・構造体の宣言において,5 科目の点数のメンバは5つのメンバを用意するのではなく,1 つのint 型配列とすること。
・平均点のメンバについては,入力された5 科目の点数から関数set_score_and_calc_ave 内で平均点を計算して設定すること
・関数set_score_and_calc_ave 内で,ユーザに学籍番号と5 科目の点数を入力させること.その際,0〜100 の範囲の点数が入力されたかどうかのチェックも行わせる。
以下の実行例のように関数の動作を確認できるmain関数も作成せよ
[実行例]:
学籍番号を入力してください:A12557
5 科目の点数(0〜100)を入力してください。
科目1 の点数:101
0 以上100 以下の点数を入力してください:-1
0 以上100 以下の点数を入力してください:0
科目2 の点数:100
科目3 の点数:88
科目4 の点数:77
科目5 の点数:66
データを設定しました。
学籍番号:A12557 平均点:66.2 点
科目1: 0 点
科目2:100 点
科目3: 88 点
科目4: 77 点
科目5: 66 点
0626:デフォルトの名無しさん
2011/12/18(日) 08:59:04.05[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2011年12月19日18:00まで
[5] その他の制限:できれば高度な記述ではなく簡単な記述をしていただけたら有難いです平均点のメンバについては,入力された5 科目の
点数から関数set_score_and_calc_ave 内で平均
点を計算して設定すること
0628デフォルトの名無しさん
2011/12/18(日) 09:39:35.16誰かやってやれよ
しょっちゅう名前と五科目の点数と平均関係の
問題見るし、もう俺何回もこの関係のやつ
アップしたし。
めんどくせ
0629デフォルトの名無しさん
2011/12/18(日) 09:52:28.87>JavaScriptすら知らない馬鹿w
かわいそうに…
知っててもスレ違いのところには書かないという、普通の対応もできないんだな。
0630デフォルトの名無しさん
2011/12/18(日) 11:01:22.58void set_score_and_calc_ave(struct score *sc, int* ponits) じゃないのか?
関数名から推測しただけだけど
0631デフォルトの名無しさん
2011/12/18(日) 12:26:19.117月の段階で民主党が2兆円の復興予算を組んだとき
自民党が要請した復興予算は累計17兆円
自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない。
0632デフォルトの名無しさん
2011/12/18(日) 12:29:31.250635デフォルトの名無しさん
2011/12/18(日) 14:42:06.65じゃぁ、その1.txtと2.txtを作って。
話はそれからだ。
0636594
2011/12/18(日) 14:57:46.17http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
0637デフォルトの名無しさん
2011/12/18(日) 15:04:52.90>>636
ウィルスバスタークラウド2012が
「このページは見んな」ってブロックした。
まともなところに上げなさい。
0639デフォルトの名無しさん
2011/12/18(日) 15:14:55.30http://codepad.org/でPlain Textえらんで
ファイル内容コピペすればいいじゃん
0640デフォルトの名無しさん
2011/12/18(日) 15:18:38.13俺が、見ようっと
0641594
2011/12/18(日) 15:20:07.79ありがとうございます。
これでいいですか?
http://codepad.org/HOnlcBse 1.txt
http://codepad.org/bq33JDAv 2.txt
http://codepad.org/NrxBdKKX
codepad ではなぜ segmented violation が出るのだろう?
0割り対策追加
http://codepad.org/jq1PGPNv
0646デフォルトの名無しさん
2011/12/18(日) 16:10:45.31http://codepad.org/tk8YJWI1
0648594
2011/12/18(日) 16:49:59.57ありがとうございます。
すみませんが、1.txt 2.txt 3.txtなど読み込み、書きこみファイルを自分で自由に選択して使えるようにしてくれませんか?
0649デフォルトの名無しさん
2011/12/18(日) 17:14:41.67>1を100回読め。
0650646
2011/12/18(日) 17:19:40.44http://codepad.org/oqK1nXXp
これで良いの?
他にも方法はあるけど、めんどうなので、これで。
0652:デフォルトの名無しさん
2011/12/18(日) 18:34:53.17簡単なソースコードお願いします
スミマセン作ってもらったのに
0653デフォルトの名無しさん
2011/12/18(日) 19:17:48.65http://ideone.com/YkuzO
0654デフォルトの名無しさん
2011/12/18(日) 19:19:34.98>>625,652
ttp://codepad.org/uE8dXT00
0655622
2011/12/18(日) 19:32:41.700656デフォルトの名無しさん
2011/12/18(日) 19:36:26.170657デフォルトの名無しさん
2011/12/18(日) 20:17:32.01あれを読まされることはデメリット
0658デフォルトの名無しさん
2011/12/18(日) 20:31:49.44あいつも完全に自己愛だわ。
0659デフォルトの名無しさん
2011/12/18(日) 20:37:38.13自己愛って言葉はこのスレで恐ろしいほどの回数見たけどよくわからないまま。
0660デフォルトの名無しさん
2011/12/18(日) 20:45:15.99自分も含め自己愛という言葉をレッテル張りに使う奴は自己愛。
軽い気持ちで調べるのはやめとけ。まじめな奴ほど精神病むから。
0661デフォルトの名無しさん
2011/12/18(日) 20:58:36.40問題が出てきてやりたい奴がやるってスタイルでOK
0662デフォルトの名無しさん
2011/12/18(日) 21:10:52.52裏に同時並行で作ってる奴がいるかもしれないって事は考えてほしい。
別に複数が作ってたからってそれぞれが回答して問題ないし、私に限っていえば複数の解が出てくるほうが楽しいのですが。
0665デフォルトの名無しさん
2011/12/18(日) 21:15:57.17そりゃ仕様が満たせないわけだ。
え?どの仕様が満たせてなかったのですか?具体的に。
>その場のコンセンサスなんて考えるなと。
先に解けた人がどんどんコードを提示すればいいだけだと思いますが。
0667デフォルトの名無しさん
2011/12/18(日) 22:14:32.23まじめにレスしようと推敲してたけど、
会話不能になるのが目に見えてるのでこれで終わりね。
それは残念。でも仕様が満たせていないというのは、こちらでは確認できていません。
もしよろしければ、キーワードだけでも。
0669デフォルトの名無しさん
2011/12/18(日) 22:44:30.62[2] 問題文(含コード&リンク): 文字列HeLLo中の文字について、大文字は小文字に
小文字は大文字に変換せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 12月20日まで
[5] その他の制限:標準ライブラリは使ってはいけない
0670デフォルトの名無しさん
2011/12/18(日) 23:07:23.88char *lowerupper2upperlower(char *s)
{
char *t;
for (t = s; *t; t++) {
if (*t >= 'A' && *t <= 'Z') {
*t = *t - 'A' + 'a';
} else if (*t >= 'a' && *t <= 'z') {
*t = *t - 'a' + 'A';
}
}
return s;
}
int main(void)
{
char s[] = "HeLLo";
printf("before: %s\n", s);
lowerupper2upperlower(s);
printf("after: %s\n", s);
return 0;
}
0672デフォルトの名無しさん
2011/12/18(日) 23:11:55.810673デフォルトの名無しさん
2011/12/18(日) 23:46:28.46あれを見ただけで他人のコードだってすぐ判る
パクリがばれて講師に叱られる出題者を想像して満足してるんだろうな
0674デフォルトの名無しさん
2011/12/18(日) 23:49:55.99ですねえ。タッチの差で残念。
0676デフォルトの名無しさん
2011/12/18(日) 23:57:15.53しかもコピペ間違えてるのに。
debug コード含みの malloc()/free()/realloc() なんですが(以前内容を全部晒したことがあったはずです)、そうですね、今後は余力があれば確認後に書き直すように努めましょう。
え?動作に問題ありますか?
0679デフォルトの名無しさん
2011/12/19(月) 00:03:25.23しかもさらっと自分のもののようなレスまで付けて。
0680デフォルトの名無しさん
2011/12/19(月) 00:03:26.110682デフォルトの名無しさん
2011/12/19(月) 00:30:52.570683デフォルトの名無しさん
2011/12/19(月) 00:59:53.12http://codepad.org/FvPYE1Ir
0684デフォルトの名無しさん
2011/12/19(月) 01:11:32.94しかもこれで金を取ろうとしてるんだからあまりの厚顔無恥さに呆れる
イ・ミョンバクみたいだよな
0685デフォルトの名無しさん
2011/12/19(月) 03:31:41.36ちゅか宿題レベルににリークチェックの埋め込みが必要かって思うぞ
0686デフォルトの名無しさん
2011/12/19(月) 03:49:36.58宿題レベルだからこそ、消す。仕事かつ有意義なものであれば残す。
0687デフォルトの名無しさん
2011/12/19(月) 06:17:48.72アマチュアだから‥‥いくら分量が大したことなくても、リークチェックしないコードをさらっと書く自信がないんです。でもけしときます、余力があれば。
>>687
自分で自分のロジックを発散させてしまうタイプだから‥‥free() をきちんと書いてロジックの乱れをきちっと抑えておこうという意図ではあります。
>>684
金じゃありませんモリタポかもしれませんが
0689デフォルトの名無しさん
2011/12/19(月) 09:23:44.57同意、コードの正当性は大事だが
学生の宿題用なんだから出題に対して素直に分かりやすく書くのが一番
0690689
2011/12/19(月) 09:26:43.53メモリ解放や、0・NULL・\0を同一に扱ったり、真偽値を0と1の正数値として扱ったりと、
実質同じだが意味的におかしいコードもやっちゃいけないな、これは宿題スレだけでは無いが
0691689
2011/12/19(月) 09:27:20.77○ メモリ解放をしないや
0692デフォルトの名無しさん
2011/12/19(月) 09:46:00.500693デフォルトの名無しさん
2011/12/19(月) 09:46:11.76等価ってそういうもんだ
0694デフォルトの名無しさん
2011/12/19(月) 10:14:15.46同意w 実行後結果をすぐ返すようなプログラムで執拗にfree書いているのは、
freeする意味をきっと勘違いしてるんだろうな、と分かる。
0695デフォルトの名無しさん
2011/12/19(月) 12:20:35.37[2] 問題文(含コード&リンク):二次元配列"abcd"
"EFG" の中に"E"があれば何行何列目にあるか、なければ「見つかりませんでした」と
表示するプログラム
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 12月22日
[5] その他の制限: ユーザー定義関数を用いる、標準ライブラリは用いない。
よろしくお願いします。
>0・NULL・\0を同一に扱ったり、
\0 は、\0xx という 8 進数表示にしか過ぎない。「ナルキャラクタを \0 とあらわす」というわけではなく、\n, \t とは事情が異なる。
\0 と 0 は同一では?
NULL と 0 の区別については次を参照。
http://www.kouno.jp/home/c_faq/c5.html#9
>Cプログラマーは、ポインターが必要な 状況ではNULLと0は交換可能で、キャストされていない0を使うことは ぜんぜん問題ないことを理解しなければならない。
実際、c++ では NULL とかかずに 0 と書いている人は多いようだ。
結論:全部 0 と書いて問題なし。
お、信者を迫害するつもりですね。:-)
では一つ質問。fclose() についてはどう思いますか?
fopen() したものはいかなる場合でも fclose() しなければならない。
というのは、至極まっとうだとおもうのですけれども。
どうせプロセス開放時には open() したファイルディスクリプタは OS で close() されるのが普通(MS-DOS でさえそうしている)だから、
fopen() したファイルポインタをいちいち fclose() する必要がない、というわけですか?
あんまりそういう主張はきかないのですけれども。
0699デフォルトの名無しさん
2011/12/19(月) 13:31:57.93宿題の要旨に沿った回答すればいいだけだから、一律にcloseしろ、もするなもスレち。
0700デフォルトの名無しさん
2011/12/19(月) 13:42:02.35[2] 問題文(含コード&リンク):
(1)20個の適当な整数が空白で区切られて保存されているファイルを作成せよ。
このファイルに含まれる整数のうち最大のものを出力せよ。
(2)15個の適当な整数が空白で区切られて保存されているファイルを作成せよ。
このファイルに含まれる整数を,その保存されている順とは逆順に”result.txt”というファイルに出力せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 12月20日まで
[5] その他の制限:ありません
2つ続けてすみません。
よろしくお願いします。
0701デフォルトの名無しさん
2011/12/19(月) 13:47:20.57> 特にASCIIのナル文字(NUL)が必要な場合は、絶対にNULLを使ってはならない。
なんでここを読み落としたの?
0702デフォルトの名無しさん
2011/12/19(月) 13:49:32.37宿題ならする。使い捨てならしない
0703デフォルトの名無しさん
2011/12/19(月) 14:32:27.15[2] 問題文:入力したxとyを交互に読み取り、zに出力するプログラムを作成せよ
例
x=いはほとりる
y=ろにへちぬを
z=いろはにほへとちりぬるを
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語:C
[4] 期限:[2011年12月20日08:00まで]
[5] その他の制限:なし
よろしくお願いいたします
0704デフォルトの名無しさん
2011/12/19(月) 15:53:07.500705デフォルトの名無しさん
2011/12/19(月) 16:16:58.47日本語を扱うなら文字コードによってプログラムが変わる
0706646
2011/12/19(月) 16:39:41.53バッファオーバーランは考慮してない
#include <stdio.h>
#include <string.h>
#include <locale.h>
int main()
{
wchar_t Buff1[256] = {L'\0'};
wchar_t Buff2[256] = {L'\0'};
wchar_t Buff3[256] = {L'\0'};
wchar_t *p = NULL;
int i,j;
setlocale(LC_ALL,"jpn");
wprintf(L"X=");
fgetws(Buff1,sizeof(Buff1),stdin);
if( p = wcschr(Buff1,L'\n'))
*p = L'\0';
wprintf(L"Y=");
fgetws(Buff2,sizeof(Buff2),stdin);
if( p = wcschr(Buff2,L'\n'))
*p = L'\0';
for(i = 0,j=0; i <wcslen(Buff1);i++,j+=2)
Buff3[j] = Buff1[i];
for(i = 0,j=1; i <wcslen(Buff2);i++,j+=2)
Buff3[j] = Buff2[i];
wprintf(L"%s\n",Buff3);
return 0;
}
0707701
2011/12/19(月) 17:58:41.97>>689が言語を指定していないというのもあるけれど、
少なくともCに限定しているレスに対して、C++の話を持ちかけるのはどうかと思うよ。
0708デフォルトの名無しさん
2011/12/19(月) 18:59:22.76下記のコードを記述し、WindowsXP及びWindows7で同様のファイルを指定したところ
XPでは正常に動作しますが、7ではファイルを開くことができません。
どなたか原因が分かる方いらっしゃいましたらご教授お願いします。
If(!file.open(fn, CFile::modeRead|CFile::typeBinary)) return FALSE
0709デフォルトの名無しさん
2011/12/19(月) 19:01:21.39ここではなくてMFCスレへどうぞ。
0710デフォルトの名無しさん
2011/12/19(月) 19:06:17.06場所違いでしたか。
大変失礼しました。
0711デフォルトの名無しさん
2011/12/19(月) 21:34:04.10自民党が要請した復興予算は累計17兆円
自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない
帰化人だらけの民主党に復興なんて はなっから無理な話なんだよ
>>特にASCIIのナル文字(NUL)が必要な場合は、絶対にNULLを使ってはならない。
前後を見ると、これは
#define NULL (void *)0
と定義されている場合があるため、との記述をみることができますね。でも本来的には
#define NULL 0
だし、そうあるべきだ、との趣旨の文章です、http://www.kouno.jp/home/c_faq/c5.html#9 は。
#define NULL (void *)0
ならば、\0 を NULL とはかけない。
#define NULL 0
なら \0 = NULL = 0 でなんら問題ないと思います。
結論:全部 0 と書いて問題なし。ただし、前方参照は排除、可変長引数での 0 のキャストはどうしても必要。
0713デフォルトの名無しさん
2011/12/19(月) 22:52:10.54NULLはポインタの為の定義であって、
実装がどうであろうと文字としてNULLを使用することは間違い。
いいかげんうざすぎるだろ。
共通認識をねじ曲げてでも自分が正しいと思うならひきこもってろ。
>NULLはポインタの為の定義であって、実装がどうであろうと文字としてNULLを使用することは間違い。
威勢のいい精神論は結構ですけれども、理工系の人間としては適切な姿勢かどうか、はなはだ疑問ですね。
「#define NULL (void *)0 が ANSI で許容されているから文字として NULL を使用するのは問題」というのが正確かつ的確なんです。つhttp://www.kouno.jp/home/c_faq/c5.html#9
でも私が主張しているのは、
>文字としてNULLを使用すること
ではなく(そんなこといつ私がいったのか?)
「文字(\0)だろうと、ポインタだろうと、普通の数字だろうと、すべて 0 と書くことでなんら問題ない」
です。
>いいかげんうざすぎるだろ。
C FAQ もまともに読めないあなたの存在がね。
>共通認識をねじ曲げてでも自分が正しいと思うならひきこもってろ。
すべて 0 と書いて問題ないのが、1995 年からの共通認識です。
頭沸いてません?
0715デフォルトの名無しさん
2011/12/19(月) 23:15:26.82[2]
問題(1)
http://ideone.com/xfyDt
上のプログラムを参考にして、unsigned型整数をビット表記した時の下から4ビット(20 から23の桁)
を表示する関数 void print_4bits ( unsigned x) を作成せよ。
またこの関数を用いて、0から15までの整数を4ビットで表示するプログラムを作成せよ。
問題(2)
float型実数 x と double型実数 yを用意し、初期値として x, y 共に1.0と置く。
ループ( while文、 for文何でもよい) を用いて、x, yの値をそれぞれ前の値の 1/10にする毎に、その値を表示するプログラムを作成せよ。
ループはyの値が 10 -14 より小さくなった場合に終了すること。 x , yを 表示する際、変換指定は %20.15fとすること。 C言語においては 10 -14 は 1e-14と表記する。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:
[3.3] 言語: C++
[4] 期限: できれば今夜12時まで(急で申し訳ありません)
[5] その他の制限: 特になし
どなたかよろしくお願いします。
0716デフォルトの名無しさん
2011/12/19(月) 23:20:37.50>「#define NULL (void *)0 が ANSI で許容されているから文字として NULL を使用するのは問題」というのが正確かつ的確
自分で問題があるって言ってるのに
誰も納得しないなそれじゃあ
0717デフォルトの名無しさん
2011/12/19(月) 23:26:20.00「そんなこと言ってないよ、全部0って書けば問題は起こらないよとしか言ってないよ」
で済む話をねちっこくするから嫌われるんじゃないかな。
まあ煽るほうもアレだけど。
それはそうと最近はコードだけペタペタ貼っていくスタイルに変えたんじゃなかったの?
0718デフォルトの名無しさん
2011/12/19(月) 23:28:32.76> なら \0 = NULL = 0 でなんら問題ないと思います。
それらが等価であるとミスリードさせようとしてるわけじゃないのなら、もう一度読み直してみては。
0719デフォルトの名無しさん
2011/12/19(月) 23:45:56.281. http://ideone.com/zOHm3
2. http://ideone.com/utZ16
0720デフォルトの名無しさん
2011/12/19(月) 23:51:15.30すまない。課題を読む限り >>719 の 2. は間違い。
表示順序が逆になってる。
2. http://ideone.com/TlUqY
0721デフォルトの名無しさん
2011/12/20(火) 00:00:30.77ありがとうございました。
0722デフォルトの名無しさん
2011/12/20(火) 00:06:16.23>#define NULL 0
>なら \0 = NULL = 0 でなんら問題ないと思います。
「なんら問題ないと思います」
>NULLを、ポインター以外の0が必要な場面に使ってはならない。
「使ってはならない」
日本語わかります?
>>#define NULL 0
>>なら \0 = NULL = 0 でなんら問題ないと思います。
と二行でセットです。これを下一行・部分だけ抜き出されて「ミスリード」といわれても困惑するばかり。
>>717
>最近はコードだけペタペタ貼っていくスタイルに変えたんじゃなかったの?
そでしたね。
0724デフォルトの名無しさん
2011/12/20(火) 00:12:34.07trueやfalseは1と0のプリプロセッサだからと言って1や0書いてるの?
結果も正数値だからint型にしてるの?
RAIIで書くのも目視でチェック処理書くのも同じとか思ってるの?
そのチェック処理にはboolは登場するの?
たぶんまだまだたくさん疑問があるよ
\0 = NULL = 0 で
>「なんら問題ないと思います」
そうですよ。#define NULL 0 ならね。
>「使ってはならない」
そうですよ。#define NULL (void *)0 の可能性があるからね。
まあ、>>717 のとおり「そんなこと言ってないよ、全部0って書けば問題は起こらないよとしか言ってないよ」と書けばすむ話でしたかね。
0726デフォルトの名無しさん
2011/12/20(火) 00:29:32.73>NULLを、ポインター以外の0が必要な場面に使ってはならない。
>プログラムは動くかもしれないが、
>コンパイラに間違ったメッセージを送っていることに違いはない
ちゃんと読もうよ…。(void*)0ならそもそも通らないんだよ…。
0727デフォルトの名無しさん
2011/12/20(火) 00:30:09.31> >>#define NULL 0
> >>なら \0 = NULL = 0 でなんら問題ないと思います。
> と二行でセットです。これを下一行・部分だけ抜き出されて「ミスリード」といわれても困惑するばかり。
NULLが0じゃない環境があるわけだから、等価じゃないって言われることになるよ。
実際等価じゃない環境はあるし、それを想定したツッコミもはいってるよね。
でも、いいたかったのはそんなことじゃなく、すべて0と書くことでどの環境でも問題なく動作するということじゃないの?
>Qはもしかして大抵の処理系だと真は1だから真偽値を正数値として扱ってるの?、
いいえ、この前、常用の処理系で isprint() が 32 を返すのをみていますからね。真値として-1を返す処理系/関数だってあるかもしれない、昔の N-BASIC のように。
>trueやfalseは1と0のプリプロセッサだからと言って1や0書いてるの?
c++ でも if (isprint()) か if (!isprint()) といった形でかけるのなら、true/false をあえて書くことすらありません。ただし c では return 1, return 0 は使います。
RAII やスマポはまだ十分には習得していません。
0729デフォルトの名無しさん
2011/12/20(火) 00:30:53.21trueを1と想定したコードにはであったことないなぁ。
!!bFlag のようなコードはたくさんあるけど。
>すべて0と書くことでどの環境でも問題なく動作するということじゃないの?
ですね。
(実は (void *)0 と (void (*)())0 が違うので可変長引数では書き分けなければならない環境もあったりするんですけれどもね。)
まあ私の「\0 = NULL = 0」が表現として誤解を招いたのでしょう。
>NULLが0じゃない環境
???
NULL はプリプロセッサを通過すれば全部 0 または(void *)0 に置き換わるはず。
ヌルポインタがコンパイラを通過したあとどう表現されるかをここで問題とするのはお門違い。
0731デフォルトの名無しさん
2011/12/20(火) 00:52:09.30んーんー‥‥‥
ごめんなさい。
0733デフォルトの名無しさん
2011/12/20(火) 02:26:01.38>>592
>>619-620
有難う御座います
0734デフォルトの名無しさん
2011/12/20(火) 02:31:12.79> まあ私の「\0 = NULL = 0」が表現として誤解を招いたのでしょう。
まったくもってそのとおり。そして、それは読むほうの問題だと思っているフシがあるのがさらに問題。
その積み重ねが嫌われる結果になってることはわかる?嫌われたいのならそれでいいけれど、そうじゃないだろう?
なぜ誤解を招かない記述がされている文書(FAQや規格)を引用しながら、誤解を招く一言を加えるのか。
誤解を招きうる正しい意見と、誤解を招かない間違えた意見は、どちらも同じように知らないものを混乱させる。
大人なんだからしっかりなさい。
0735デフォルトの名無しさん
2011/12/20(火) 04:29:25.430736デフォルトの名無しさん
2011/12/20(火) 04:49:42.010737デフォルトの名無しさん
2011/12/20(火) 09:33:31.19[2] 問題文(含コード&リンク):
任意の0〜nの整数から、重複を許してm個の整数を選び出力するプログラムを作れ。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: visual studio 2010
[3.3] 言語: C++
[4] 期限:2011年12月20日15時
[5] その他の制限:急ですみません。
重複順列を出力するプログラムをお願いします。
0738デフォルトの名無しさん
2011/12/20(火) 09:58:46.85は違和感あるな。charとintだもん。
0739デフォルトの名無しさん
2011/12/20(火) 10:01:10.66#include <iostream>
int main()
{
int i, n, m, *p;
std::cin >> n >> m;
p = new int[m];
for(i = 0; i < m; i++) p[i] = 0;
for( ; ; ) {
for(i = 0; i < m; i++) std::cout << p[i] << ' ';
std::cout << std::endl;
for(i = m - 1; ; i--) {
if(++p[i] <= n) break;
if(i == 0) {
delete [] p;
return 0;
}
p[i] = 0;
} } }
0740デフォルトの名無しさん
2011/12/20(火) 15:32:20.28http://blog-imgs-44.fc2.com/d/e/l/deliciousicecoffee/111219_124643_ed.jpg
,:' .l .::;',. :::;/..://:: /,':/ ', l、 .i ヽ
. ,' ..::| .::;',' :;:','フ'7フ''7/ ',.ト',_|, , ',.',
,' .::::::!'''l/!:;'/ /'゙ / '! ゙;:|:、.|、| 'l
. ,'. .:::::::{ l'.l/ 、_ _,. 'l/',|.';|
l :::::::::::';、ヾ  ̄ `‐-‐'/! ';. '
. ! :::::::::::/ `‐、 ゝ |'゙ |
| ::::::::/ \ 、_, _.,.,_ ノ::: ! 野田政権が早く終わりますように
|::::/. _rl`': 、_ ///;ト,゙;:::::./
.. `´ /\\ `i;┬:////゙l゙l ヾ/
,.:く::::::::`:、\ 〉l゙:l / !.|
. /:.:.:.:\:.:.:.:.`:、ソ/:.:| | | 19日の報道ステーション
/.:.:.:.:.:.:.:.:.:\:.:.:.:У:.:;l http://livedoor.blogimg.jp/kingcurtis/imgs/e/d/ed2dbc66.jpg
0741デフォルトの名無しさん
2011/12/20(火) 21:49:03.120742デフォルトの名無しさん
2011/12/21(水) 07:43:32.06ありがとうございました!!
0743デフォルトの名無しさん
2011/12/21(水) 12:46:08.95[2] 問題文(含コード&リンク):
http://ideone.com/uhaD9
[3] 環境
[3.1] OS:Linuxs
[3.2] gcc
[3.3] 言語:C
[4] 期限:12月22日24:00迄
[5] その他の制限:
宜しくお願い致します。
0744デフォルトの名無しさん
2011/12/21(水) 13:13:51.94http://ideone.com/e9opF
0745デフォルトの名無しさん
2011/12/21(水) 18:49:31.48ありがとうございます。
0746432
2011/12/21(水) 21:59:21.99作成していただいたプログラムですが、コンパイルすると
60行目で「ここでは宣言はできない(関数 apply_filter )」と出ます
どうすればいいでしょうか
0747デフォルトの名無しさん
2011/12/21(水) 22:14:54.300748432
2011/12/22(木) 01:13:44.57おお、できました
ありがとうございます
あとはどうやったらこれがちゃんと動くのかわかる方いらっしゃいますか
画像の指定の方法とかがちょっとわからないです
何度も質問して申し訳ないです
0749デフォルトの名無しさん
2011/12/22(木) 03:29:51.03[2] 問題文(含コード&リンク):http://ideone.com/WOUG0
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12/22 23:59
[5] その他の制限:何らかのソートを使って作成し、そのソートについての説明を書くこと。
お願いします。
0750デフォルトの名無しさん
2011/12/22(木) 03:34:15.42usageでそうだけどね。
0751デフォルトの名無しさん
2011/12/22(木) 04:01:08.14すみません、それ更新されてませんでした。
http://ideone.com/lLl1K
使い方はコメントを参照してください。
0752デフォルトの名無しさん
2011/12/22(木) 04:07:21.97http://ideone.com/ZW2Y0
0753デフォルトの名無しさん
2011/12/22(木) 04:16:45.93[2] 問題文(含コード&リンク):
15パズルにおいて最短手順が最長となる場合の手順数を求めよ
複数個を同時にスライドしても1手と数えることとする
.1 .2 .3
.5 .6 .7 .4
.9 10 11 8
13 14 15 12
↑ の状態から
↓ の状態にするのも1手と数える
.1 .2 .3 .4
.5 .6 .7 .8
.9 10 11 12
13 14 15
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限: 出来る限り高速に
0754デフォルトの名無しさん
2011/12/22(木) 04:35:27.25自分が作ったものと、他人が作ったものを比較したいんじゃないんだなぁ…
0755デフォルトの名無しさん
2011/12/22(木) 05:03:37.43自分では解けないからどうやって解くのかと思って
0756デフォルトの名無しさん
2011/12/22(木) 05:08:08.110757646
2011/12/22(木) 05:15:28.50昔作ったソース
自分で改造してね
http://codepad.org/VD8Qhnn6
0758デフォルトの名無しさん
2011/12/22(木) 05:30:05.840. 最初の盤面
1. 盤面から1手先の盤面をそれぞれ作成
2. 作成した盤面が盤面プールになければ
2.1. 作成元盤面のポインタ、使った手と共にプールに押し込む
2.2. 作成した盤面について1へ
3. 完了するまでループ
4. プールから検索し、最初の盤面になるまで辿って表示していく。
たぶんこうなる。
0759デフォルトの名無しさん
2011/12/22(木) 05:32:33.05で、盤面は64ビットあれば表現できる
0760デフォルトの名無しさん
2011/12/22(木) 05:41:01.700761デフォルトの名無しさん
2011/12/22(木) 05:54:02.37それをするためには1手目からm手までの盤面を、1手ごとにすべて求めないといけなくなる?
0762デフォルトの名無しさん
2011/12/22(木) 05:55:07.440763デフォルトの名無しさん
2011/12/22(木) 05:55:45.290764デフォルトの名無しさん
2011/12/22(木) 06:11:28.670765デフォルトの名無しさん
2011/12/22(木) 06:20:44.22メモリに収まらないwww
0766デフォルトの名無しさん
2011/12/22(木) 06:22:57.600767デフォルトの名無しさん
2011/12/22(木) 06:23:58.71その分も加味されてるだろw
0768デフォルトの名無しさん
2011/12/22(木) 06:26:14.690769デフォルトの名無しさん
2011/12/22(木) 06:39:09.113x3 で 181440 通り 24手
3x2 で 360通り 20手
4x2 で 20160 通り 25手
5x2 で 1814400 通り 36手
になったし合ってるはず
0770デフォルトの名無しさん
2011/12/22(木) 06:44:41.31組み合わせは1盤面につき Cb(15,2)
16! / Cb(15,2) = 16! / (15!/13!)/2! = 16 * 13! * 2!
= 199264665600
ほんとに合ってるかわからないw
0771デフォルトの名無しさん
2011/12/22(木) 06:47:24.532 0 8
3 6 5
3x3 の最長手順 24手
こんなん出たけど合ってるかどうかものすごく不安
0 が空白部分です
0772デフォルトの名無しさん
2011/12/22(木) 06:53:46.01ありえない
隣り合う二つのパネルを一回だけ入れ替えると解ける/解けないが入れ替わるから
0773デフォルトの名無しさん
2011/12/22(木) 07:01:53.630774デフォルトの名無しさん
2011/12/22(木) 07:05:29.63解けない 盤面を 解ける ようにするには隣り合うパネルを一回だけ交換すればよい
解ける 盤面を 解けない ようにするには隣り合うパネルを一回だけ交換すればよい
合ってるよね?
0775デフォルトの名無しさん
2011/12/22(木) 07:23:07.98なんとなくわかった。1:1で存在しているって事か。
あと別に間違ってると言いたいんじゃなくて、
自分が理解できてないだけです。
0776デフォルトの名無しさん
2011/12/22(木) 10:41:25.20暇つぶしの前にやる気無くなった。
0777デフォルトの名無しさん
2011/12/22(木) 14:02:03.88震災前
/::::::::::::::::::::::::::::::;;::ノ ヽ;::\
/::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l
|:::::::::::| 岡田 異音 |ミ|
|:::::::/ ,,, ヽ,、 '|ミ|
'|:::::::l '''"" ゙゙゙゙` |ミ|
|:::::|. ,,r ‐、 ,, - 、 |/
,/⌒| ノ ・ _), (. ・ `つ|
| ( "''''" |"'''''" |
ヽ,,. ヽ |
| ^-^_,, -、 |
| _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・
'ヽ ( ,r''''''‐-‐′ /
震災後
|:::::::::/ |ミ|
|::::::::| ,,,,, ,,,,, |ミ|
|彡|. '''"""'' ''"""'' |/
/⌒| -=・=‐, =・=- |
| ( "''''" | "''''" |
.ヽ,, ヽ .| キリッ
| ^-^ |
. | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません
,\. "'''''''" /
朝鮮民主党
解党
0778432
2011/12/23(金) 02:37:41.68ありがとうございます
動かすことができました
助かりました
0779デフォルトの名無しさん
2011/12/23(金) 10:13:05.32[2] 問題文(含コード&リンク):
設問1-1
キーボードから整数値を受け取り、その数値に該当する月の略称("Jan", "Feb",・・・)を表示するプログラムを作成しなさい。
なお、月の略称はポインタ配列「 char *month[ ]={"Jan.", "Feb.", "Mar.", "Apr.", "May.", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."};」で定義するものとする。
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2011年12月26日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
文字列の代入、キーボードからの文字列入力、char型ポインタ変数は習いました。
宜しくお願いします。
0780デフォルトの名無しさん
2011/12/23(金) 11:19:14.96http://codepad.org/cigPOTU0
0781デフォルトの名無しさん
2011/12/23(金) 13:44:56.10有難う御座います
0782デフォルトの名無しさん
2011/12/25(日) 16:22:41.08これは必見
フジテレビ 生放送中に有志による怒りの抗議 (昨夜) (コメント欄に反日工作員が紛れているので注意)
http://www.nicovideo.jp/watch/sm16518699?user_nicorepo
0783デフォルトの名無しさん
2011/12/25(日) 18:09:32.410784デフォルトの名無しさん
2011/12/25(日) 18:15:11.760785デフォルトの名無しさん
2011/12/25(日) 18:23:15.03privateメンバの変更を行っただけなのに、それを利用するだけのファイルも再コンパイルされてしまうことを問題視してるのかな。
なら、pImpl
0786デフォルトの名無しさん
2011/12/25(日) 21:31:37.87俺もその点が気に入らないが、それだけじゃない。
C++ってそういう言語だよ。OOPLとしては全体的に消極的。
0787デフォルトの名無しさん
2011/12/25(日) 21:43:40.000788デフォルトの名無しさん
2011/12/25(日) 23:19:30.050789デフォルトの名無しさん
2011/12/25(日) 23:27:41.720790デフォルトの名無しさん
2011/12/26(月) 01:58:23.33[1] 授業単元: C言語アルゴリズム
[2] 問題文(含コード&リンク):
【1】.0度<=x<=90度の範囲でf(x)=sin(x)-cos(x)=0の解を求めよ(許容誤差は各自入力)
ヒント:講義中に解説した例:2分法による方程式解法のax+bを上式にする(a,bの読み込みも不要)
例のコードは、http://codepad.org/ImpygN9S です。
ヒント2:sinやcosの括弧内の単位はradianであることに注意(pi*x/180.0)
【2】.0度<=x<=90度の範囲でx,sin(x),cos(x),sin(x)-cos(x)の値を5度刻みで"kadai2.ans"に出力、
ftpでgetしてExcelの散布図を利用してグラフ化し、【1】の解が正しいか確認せよ。
【3】.ax+bとcx+dの交点のx座標を求めよ。(a,b,c,d,許容誤差は自由)
ヒント1:ax+bとcx+dの差が0の所が交点
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン:VC2008
[3.3] 言語: C
[4] 期限: 26日AM6時まで
[5] その他の制限: 出来るだけ分かりやすいとありがたいです
多いですがよろしくお願いします
0791デフォルトの名無しさん
2011/12/26(月) 05:13:19.26http://ideone.com/1Ha7h
http://ideone.com/XzTN9
http://ideone.com/l6a0j
0792:デフォルトの名無しさん
2011/12/26(月) 08:19:04.07[2] 問題文(含コード&リンク):
メンバとして映画のタイトル(文字列)と公開年(int
型整数)をもつ構造体movie を宣言し,movie 型構造
体のメンバの値を設定してその構造体を返す関数struct movie set_movie(void)を作成しプログラムを完成させよ.
[実行例]
映画のタイトルを入力してください:HAYABUSA
公開年を入力してください:2011
データを設定しました。
タイトル:HAYABUSA 公開年:2011
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:[2011年12月27日8:00まで]
[5] その他の制限:以下の実行例のように,関数の動作を確認できるmain関数も作成すること.ただし,関数set_movie およびmain 関数については以下の要件を満せ.
・設定するメンバの値(タイトル,公開年)は,関数set_movie 内でscanf 等を用いてユーザに入力させること.
・main 関数内で,movie 型構造体のオブジェクトmovie1 を初期化せずに宣言する
・関数set_movie を用いて,movie1 のタイトルと公開年の値を設定する.
・その後,以下の実行例のようにmovie1 のメンバの値を表示して終了する.
出来るだけ分かりやすいとありがたいです
0793デフォルトの名無しさん
2011/12/26(月) 09:11:15.75http://ideone.com/5xe8B
もし、>>444の続き問題だったのなら
http://ideone.com/1mQf6
0794793
2011/12/26(月) 09:14:29.63http://ideone.com/bXXAS
0795:デフォルトの名無しさん
2011/12/27(火) 09:58:15.58[2] 問題文(含コード&リンク):
メンバとして名前(文字列)と年齢(整数)をもつ構
造体person を宣言し,以下の要件を満たすプログラムを完成させよ
[実行例]:
チーム1 のメンバー:
Haybusa Taro, 20 歳
Katakura Goro, 22 歳
Minamino Akira, 19 歳
3 人の平均年齢は20.33 歳です。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:[2011年12月28日8:00まで]
[5] その他の制限:
・main 関数内で,大きさ3 のperson 型構造体配列team1[] を次の値で初期化して宣言する.
名前:Haybusa Taro,年齢:20
名前:Katakura Goro,年齢:22
名前:Minamino Akira,年齢:19
・実行例のように,team1 の3 人の情報を表示する.
・その後,3 人の平均年齢を計算して表示する.
出来るだけ分かりやすいとありがたいです
0796デフォルトの名無しさん
2011/12/27(火) 12:11:39.87#include <stdio.h>
int main(){
struct person {
char name[30];
int age;
} team1[3] = {
{"Haybusa Taro", 20},
{"Katakura Goro", 22},
{"Minamino Akira", 19}
};
int i, sum = 0;
printf("チーム1 のメンバー:¥n");
for (i = 0; i < 3; i++) {
printf("%s, %d 歳¥n", team1[i].name, team1[i].age);
sum += team1[i].age;
}
printf("3 人の平均年齢は%.2f 歳です。¥n", sum / 3.0);
return 0;
}
0797デフォルトの名無しさん
2011/12/27(火) 20:36:12.24大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派
VS
橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
様子見:公明
0798デフォルトの名無しさん
2011/12/29(木) 10:20:47.36できる限り高速なもの。
0799デフォルトの名無しさん
2011/12/29(木) 11:08:39.89>>1
その情報だけじゃ趣味レベルと見なされて、memcmp使えで終わり。
何と(例えば互いに?)同じか、4KB無い時はどうするか、或いは無視して良いのか。
この辺の事を明記しない奴は大抵、後出しの条件を付けて来るから様子見されるぜ。
0800デフォルトの名無しさん
2011/12/29(木) 11:25:04.32一つのファイルを与えたときに一致するものを求めるのでは無いです。
0801デフォルトの名無しさん
2011/12/29(木) 11:28:44.170802デフォルトの名無しさん
2011/12/29(木) 11:39:58.55ファイルの数次第でソート方法が決まりそう。
0803デフォルトの名無しさん
2011/12/29(木) 12:20:58.03連想配列の要素にMD5使ってカウントし、最後にカウントが2以上の連想配列のファイル名を出力、とか。
0804デフォルトの名無しさん
2011/12/29(木) 14:58:17.290805デフォルトの名無しさん
2011/12/29(木) 19:19:22.69[2] 問題文(含コード&リンク):
設問1-1
1人分の学生の情報(学籍番号、名前、身長)を持つ構造体を
「struct student { int number; /*学籍番号*/ char name[20]; /*名前*/ float height; /*身長*/};」と定義し、
構造体 student 型の変数にキーボード入力から値を設定した後、その変数の値を printf 文で表示するプログラムを作成しなさい。
設問1-2
n(>1)人分の学生の情報を持つ構造体 student 型の配列変数に対し n 人分の変数の値をキーボードから読み込んで
構造体の配列変数に設定した後、 printf 文で n 人分を表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2012年1月1日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
文字列の代入、キーボードからの文字列入力、char型ポインタ変数
構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定は習いました。
宜しくお願いします。
0806デフォルトの名無しさん
2011/12/29(木) 21:26:13.32[1-1] http://codepad.org/0VF1doqz
[1-2] http://codepad.org/bAFgBHnb
0807デフォルトの名無しさん
2011/12/29(木) 21:26:55.52nは画面からの入力?
0808デフォルトの名無しさん
2011/12/29(木) 22:01:08.47| ┏━━━┓ 従軍慰安婦は反日朝日新聞の捏造でした。
| ┃借収安┃ デマだらけの報道に注意しよう
| ┃三三婦┃
| ┃○○大┃
| ┃○○募┃
| ┃○圓集┃
| ┃圓以 ┃
| ┃迄上 ┃_
\┃可 ┃ \
┗━━━┛ \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
http://img04.ti-da.net/usr/wishcomestrue/t02200190_0220019010786142693.jpg
0809デフォルトの名無しさん
2011/12/30(金) 00:18:13.89そう
もしまずかったら16行目から19行目を消して
nに値を直接代入してください
0810デフォルトの名無しさん
2011/12/30(金) 11:01:15.06そうです
0812810
2011/12/30(金) 11:20:03.66学籍番号、名前、身長がちゃんと表示されないんですがどうすればいいですか?
Input number name height>>9
学籍番号: 9
名前: ヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘeI^
身長: -431602080.000000
続行するには何かキーを押してください . . .
↑のように出力されます
0813デフォルトの名無しさん
2011/12/30(金) 11:39:53.28入力方法が間違ってる
配列サイズ考慮した作りになってるから少しややこしいかもしれないけども
sscanf(buf, "%d %s %f", ...);
に対して 9 だけ入力してる
だから %s と %f はbufのゴミが読み取られてる
あとは分かるな?
0814デフォルトの名無しさん
2011/12/30(金) 15:03:50.310816デフォルトの名無しさん
2011/12/31(土) 11:41:29.840817813
2011/12/31(土) 12:24:11.93じゃあ実際のコードをまじえて解説してみるよ
ちょっと長くなったので2回に分ける
1.
まずはこのコードを実行してみて
#include <stdio.h>
int main(void) {
char buf[10];
int i;
for (i = 0; i < 10; i++) { printf("%d ", buf[i]); }
return 0;
}
おそらく全部0になってないと思う、
C言語では実行速度を優先した設計になっているから、
変数や配列を宣言した時は単にメモリ領域を確保するだけで、そのメモリ内のデータは残ったままになってる、
だからループ内ではそのゴミデータを「数値」として出力しちゃってる
では次にループ内の「"%d "」の「"%c"」に変えて実行してみて、
※スペースも削除してるのを注意
実行時のメモリの状況によるけど、>>812の名前部分と似たような文字列になったと思う
これもループ内でゴミデータを「文字」として出力してるから。
つづく
0818デフォルトの名無しさん
2011/12/31(土) 12:31:57.13(・∀・ )っ/凵⌒☆チンチン
%c するんだったら、最低限でも isprint() を間にかませたいよね
0820813
2011/12/31(土) 12:57:48.51>>806のソースではbufの配列数は128だけど、これも同じく最初はゴミデータで埋まってる
無理やり書くとこんな感じ
'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' ...
ここで>>806の上のソースの20行目
fgets(buf,128,stdin);
これは標準入力から最大128文字を読み込む処理をしているが 9 だけを入力すると、bufには1文字だけが読み込まれ、
'9' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' 'ヘ' ...
って状態になる
次に同ソースの21行目
sscanf(buf,"%d %s %f",&sd->number,sd->name,&sd->height);
ここでbufから「学籍番号」「名前」「身長」 を読み取る事を期待してるわけだが、bufには9以降はゴミしか入っていない
%dは文字列の中から、連続した数値が続くまでを読み取って、
それを整数値として返す処理をしてるから問題なく学籍番号用の変数には9が入っているが
%sは文字列の中から、連続した文字列が続くまでを読み取るから、
bufの中のゴミデータが名前用の変数に入ってる、
%sは、おそらく%sで残りゴミデータを全部読み取ってしまっているから無視されてる、
試しに18行目あたりに 「sd->height = 3.141592;」 なんて円周率を入れておいても、実行時に 9 だけならその円周率がそのまま使われてると思う
ここまでが間違って出力されてる中身の仕組み
じゃあ実際に正しく入力する方法は、21行目で "%d %s %f" って書式になってるのを期待してるわけだから、
入力するときも 「数値」「スペース」「文字列」「スペース」「浮動小数点」 って入力すればいいわけ
0821813
2011/12/31(土) 12:59:43.23× %sは、おそらく%sで残りゴミデータを
○ %fは、おそらく%sで残りゴミデータを
0822デフォルトの名無しさん
2011/12/31(土) 13:06:09.800823デフォルトの名無しさん
2011/12/31(土) 13:21:00.42「スペース」って入力しそうw
0824デフォルトの名無しさん
2011/12/31(土) 14:19:48.208086アセンブラよりまし。
0826デフォルトの名無しさん
2011/12/31(土) 14:48:55.130827デフォルトの名無しさん
2011/12/31(土) 14:52:56.00お前はこれから一切コンパイラ使うな
0828デフォルトの名無しさん
2011/12/31(土) 14:57:39.890829デフォルトの名無しさん
2011/12/31(土) 15:10:52.26つーか小姑みたいに茶々入れたいだけなら出てくんなっての
http://toki.2ch.net/test/read.cgi/i4004/1295492625/324
>>826
far と near を意識しなければならないところ。処理系の問題ではなくてアーキの問題ね、当時としては事情があっただろうが。
int far * near * とか平気でやっていた、そうそう >>730 の (void *)0, (void (*)())0 とかね。
>>829
来年もよろしく
0831デフォルトの名無しさん
2011/12/31(土) 15:28:51.500832デフォルトの名無しさん
2011/12/31(土) 15:34:33.82>>829
こうしとけば楽だよ
それにしてもQが出てくる前は宿題スレはもっと平和だったなあ
こいつが来てから殺伐としてきた
>殺伐
2ch らしくていいじゃないか?
0834デフォルトの名無しさん
2011/12/31(土) 15:42:13.460835デフォルトの名無しさん
2011/12/31(土) 15:51:19.52皮肉も通じないアホか?一回病院逝け
0836デフォルトの名無しさん
2011/12/31(土) 15:59:09.480837デフォルトの名無しさん
2011/12/31(土) 16:10:45.24だろうなあキチガイだもんな
0838デフォルトの名無しさん
2011/12/31(土) 16:14:00.63いちいちかまうな、ボケ。
>>836
昨日友人の見舞いに行ったんだが、看護婦さんの見回って、今時ノートPC台車に載せてきて、
ベッドそばの機器に繋いでデータ収集してるんだな。
ふと見ると、ベッドの近くに LAN コンセントとかもあるし。
病院によっても違うんだろうけど、意外とIT化されてるのに改めてびっくりした。
足の骨折ぐらいなら、PCでインターネット接続させてくれれば、入院の辛さもちょっと軽減しそうだ。
0839デフォルトの名無しさん
2011/12/31(土) 16:16:44.97んー、それはそうかもしれないですね。
部分的に asm に置き換えることはいくらか経験があっても、全部 .asm で書くというのは http://toki.2ch.net/test/read.cgi/i4004/1295492625/324 の常駐物がはじめてではありますね。
>>835
皮肉で返してみたけど‥‥‥
>>837
飲んでるおくすり
http://en.wikipedia.org/wiki/Chlorpromazine
0841デフォルトの名無しさん
2011/12/31(土) 17:01:38.080842デフォルトの名無しさん
2011/12/31(土) 17:17:17.91それコントミンじゃん
統合失調症の薬
お前は自己愛性人格障害だから薬は効かない
0843デフォルトの名無しさん
2011/12/31(土) 17:20:51.24http://cp2.uh-oh.jp/read_img/index/ab83e09400ff17d99f45ceee15a37e09.jpg
http://cp2.uh-oh.jp/read_img/index/a58c2ddc9cdbe45529ef0d58c95cc232.jpg
テレビに騙されるな(自称街の人-台本読んでるだけの業者)
0845デフォルトの名無しさん
2012/01/01(日) 18:07:18.17CP=コントミンとは限らないぞ荒らし野郎。
そうやって優位性を強調するお前も十分に自己愛だよ。
0847デフォルトの名無しさん
2012/01/01(日) 21:04:54.59おやおや図星過ぎて逆ギレですか?
http://www.info.pmda.go.jp/downfiles/ph/PDF/400315_1171001F1073_2_06.pdf
これを見ても同じ事が言えますか?
Qは統合失調症だったのか(ノ∀`)'`,、'`,、'`,、'`,、'`,、
0848デフォルトの名無しさん
2012/01/01(日) 21:12:26.97自分の体験を語るなら、ちゃんと名前を出してやれ
http://www.info.pmda.go.jp/downfiles/ph/PDF/340018_1179100F1032_1_06.pdf
なんですけれどもね。強力な眠剤。CPZ 入ってるのは確かだけれども。
いやまあ、ご自分のご経験を盛大にご披露なさるとはご苦労様です。はやく治るといいですね。
0850デフォルトの名無しさん
2012/01/02(月) 00:11:23.57わーおw
0851デフォルトの名無しさん
2012/01/02(月) 00:33:07.970852デフォルトの名無しさん
2012/01/02(月) 00:34:29.35そりゃそうだろうなこれだけ性格がひねくれてりゃ文句の言われっぱなしで不眠症にもなるだろう
そして自己愛の肥大にも関わらず現実が付いて行ってないからうつ病にもなるだろうな
Qは自己愛性人格障害ではあるが既に枯れて末期状態だと思われます
しかしベゲタミンwww AかBか?フェノバルビタールが入ってるから今ではあまり精神科でも
出さないんだけどなあ よほど強い不眠症なんですねwww
引用は正確に。
>下記疾患における鎮静催眠
が抜けてますよ。薬としてはふつーじゃないですか?まあ後はないぞとも言われてますけど。
>フェノバルビタールが入ってるから今ではあまり精神科でも出さないんだけどなあ
まあね。芥川龍之介がピストルの代わりに使ったのがこれ(バルビタール系睡眠剤)だし、処方には一定の判断が入るでしょうねえ。
うつ病というよりは、神経症でしょうね。これは先祖代々からの申し送りで仕方がない。
まあ、そちらの分裂症といい勝負でしょう。分裂症にはお詳しいようですしね。
早く治るといいですね。
0854デフォルトの名無しさん
2012/01/02(月) 00:54:50.85触れなければいいのに、毎回無駄に突っかかってきてるお前こそキチガイだ。
ネット上の知識しかないのがよくわかるわ。
0855デフォルトの名無しさん
2012/01/02(月) 01:01:48.89いや神経症の括りじゃねーよ
見ている人はよーく分かると思うけど明らかに人格障害の領域に足を踏み込んでいる
さぞかし日常生活がお苦しいでしょうなあ
0856デフォルトの名無しさん
2012/01/02(月) 01:02:59.380857デフォルトの名無しさん
2012/01/02(月) 01:10:35.630858デフォルトの名無しさん
2012/01/02(月) 01:11:09.74それに句読点「。」を入れて書く癖がQにはある
Qを擁護する分には全て「。」が入っている
おっかしいなあ〜ww
0859デフォルトの名無しさん
2012/01/02(月) 01:17:38.440860デフォルトの名無しさん
2012/01/02(月) 01:18:29.06ここまで酷いとは思わなかったぜ…。
0861デフォルトの名無しさん
2012/01/02(月) 01:19:54.70ないと思う
つまり理解力が常人未満なのに、「俺天才」だと思ってしまう所が自己愛なわけで
0862デフォルトの名無しさん
2012/01/02(月) 01:27:48.220863デフォルトの名無しさん
2012/01/02(月) 01:29:10.550864デフォルトの名無しさん
2012/01/02(月) 01:30:20.23>>862
馬鹿だなあ
俺が神経症なんてどこにも一言も書いてないのに
つい自分の事を言っちゃうんですよね
怖いねえ
言葉には気をつけないと
0865デフォルトの名無しさん
2012/01/02(月) 01:32:59.85他の奴にとってはどっちも同レベルだよ。
0866デフォルトの名無しさん
2012/01/02(月) 01:35:26.780867デフォルトの名無しさん
2012/01/02(月) 01:37:23.33お前がクズ擁護派としてトリップつけてくれないかな
スルーしてればすむところを、今グダグダしてるのはお前が文句つけてるからだし
0868デフォルトの名無しさん
2012/01/02(月) 01:39:18.45毎回いちいち粘着するのをやめるかトリップつけろっていってんだよ。
お前の方は自己愛でNG登録してもいちいち引っかかるんだよ。
0869デフォルトの名無しさん
2012/01/02(月) 01:40:01.84だよな
>>868
ようQ
元気か
0870デフォルトの名無しさん
2012/01/02(月) 01:44:30.57今のお前はQに粘着する奴に粘着する奴ってポジションで、普通に迷惑な存在になってるから
あと、Q並みに同一人物認定好きみたいだけど、俺は自己愛って言ってる人とは別だよ
0871デフォルトの名無しさん
2012/01/02(月) 01:46:53.680872デフォルトの名無しさん
2012/01/02(月) 02:03:15.22それに粘着する奴まで出てきたか。
0873デフォルトの名無しさん
2012/01/02(月) 02:04:15.530874デフォルトの名無しさん
2012/01/02(月) 02:14:44.33Qに出て行ってもらえば済む。
0875デフォルトの名無しさん
2012/01/02(月) 02:45:13.680876デフォルトの名無しさん
2012/01/02(月) 02:49:44.67ただでさえ過疎板のプログラム板が使い物にならなくなっちまう
ここより荒れているマ板ですらID無しだぞ
0877デフォルトの名無しさん
2012/01/02(月) 02:51:33.65http://toro.2ch.net/test/read.cgi/tech/1258951329/
0878デフォルトの名無しさん
2012/01/02(月) 02:54:15.34このスレをID付きの板に移動しろよ
0879デフォルトの名無しさん
2012/01/02(月) 03:26:04.03こんなこと言っちゃうぐらい頭の悪い奴にバカにされたら粘着したくなる気持ちもわかる
0880デフォルトの名無しさん
2012/01/02(月) 03:46:31.66てんさい
証明抜きでは、馬鹿呼ばわりはできないでしょうねえ。一目では自明じゃないし。一目で証明できるのならすくなくとも私こと QZ より頭はいいと思います。よろしければその証明の道筋を教えてください。
でもね、証明方法はだいたいわかってはいましたけどね。いわゆる再帰的定義(漸化式)を使うんだろうな、と常々思っていましたし、nCr を求めよ、という問題に対してはその再帰的求値法を回答として第一に使用していましたしね。
うっかりリロードするとまあまあスレが伸びているなあ。ちょっとあきれましたが。
ともあれ、QZ叩き側に一人変なの存在することは証明抜きで自明なのには異論ないと思うのですがどうでしょう?
0883デフォルトの名無しさん
2012/01/02(月) 04:47:05.44本当に良いのかどうか、今から考えた方が将来の為になると思われ。
0884デフォルトの名無しさん
2012/01/02(月) 08:08:34.44偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。
3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
0885デフォルトの名無しさん
2012/01/02(月) 08:13:32.990886デフォルトの名無しさん
2012/01/02(月) 08:56:36.97一般人: 人の嫌がることを進んでしましょう
おまえら: 人の嫌がることを進んでしましょう
芸能人:よくキャーキャー騒がれる
おまえら:よくキャーキャー騒がれる
アップル:画期的な新製品
マイクロソフト:画期的な新製品
0887デフォルトの名無しさん
2012/01/02(月) 12:59:58.990888デフォルトの名無しさん
2012/01/02(月) 13:06:36.24痛い思いをさせられたからって恨むのは筋違い
0889デフォルトの名無しさん
2012/01/02(月) 19:08:54.250890デフォルトの名無しさん
2012/01/02(月) 20:05:02.53い-635
ちなみに、平成18年度の民主党の収支報告書だが、
電通が 690,150,988円(約6億9千万円)
博報堂が 19,425,964円 (約2千万円)
読売グループ系列(読売広告、読売メディアセンター)が 72,058,917円(約7千万円)なw
フライシュマンヒラードジャパンが、1974000円かw
フライシュマンの本社はアメリカにあって、アメリカ政界や企業のPRも担当してるユダヤ系の会社だなw
ここが「マニュフェスト」っていう横文字を考えたんだなw
そういえば、今東電と電力総連がフライシュマンを雇ってるらしいじゃないww
札束で学者ひっぱたいてテレビででたらめ言わせても年寄なんかはまだまだテレビのいうことを信じるからなw
0891デフォルトの名無しさん
2012/01/02(月) 20:05:30.13ものすごく悪い奴だよ
頭も性格も
0892デフォルトの名無しさん
2012/01/02(月) 20:15:28.51自己紹介
0893デフォルトの名無しさん
2012/01/02(月) 20:36:50.72>>888
0894デフォルトの名無しさん
2012/01/02(月) 20:40:46.080895デフォルトの名無しさん
2012/01/02(月) 20:47:24.450896デフォルトの名無しさん
2012/01/02(月) 21:02:42.050897デフォルトの名無しさん
2012/01/02(月) 21:12:10.67ただの馬鹿
0898デフォルトの名無しさん
2012/01/02(月) 21:15:43.560899デフォルトの名無しさん
2012/01/02(月) 21:22:13.24再び妄想をソースにしはじめるようになったゴミ
0900デフォルトの名無しさん
2012/01/02(月) 21:24:05.58貼りつけてるパクリだしな
たまにオリジナルがあるかと思うと馬鹿の一つ覚えでxmalloc()とか(笑)
0901デフォルトの名無しさん
2012/01/02(月) 21:25:14.34たとえば?
0902デフォルトの名無しさん
2012/01/02(月) 21:30:38.12http://toro.2ch.net/test/read.cgi/tech/1324648274/459 をみると基本は一応おさえてるんじゃない?その後の発展の方向はめちゃくちゃやけど
0903:デフォルトの名無しさん
2012/01/02(月) 22:58:51.16[2] 問題文(含コード&リンク):以下の実行例のように、キーボードから友人の名前(文字列)と生年月日(yyyymmdd形式のlong型変数)
を次々と読み込んで、そのデータをファイルに書きこむプログラムを作成せよ。
以下の要件を満たすとする
・書きこむのファイル名をユーザに入力させる
・同じ名前の友人の情報がすでに入力されたかどうかは確認しなくても良い。
・同じ名前のファイルはすでに存在する場合には、内容を上書きするものとする。
・作成されたファイルの中身は以下の実行例(catコマンドの結果)のようにするものとする。
・以下の実行例のように,1人文のデータを入力するごとに「続けますか(yse...1/NO...0:)」のように表示を促し1が入力されたら処理を続けるプログラムとする。
[3] 環境
[3.1] OS:LINUX
[3.2] コンパイラ名とバージョン:GCC
[3.3] 言語:C
[4] 期限:[2012年1月4日9:00まで]
0904:デフォルトの名無しさん
2012/01/02(月) 22:59:22.28[5] その他の制限:[実行例]
書きこむファイル名:friends.txt
友人の名前:Goro
誕生日(yyyymmdd):19911001
続けますか?(yes...1/NO...0):1
友人の名前:Taro
誕生日(yyyymmdd):19890505
続けますか?(yes...1/NO...0):1
友人の名前:Akira
誕生日(yyyymmdd):19920222
続けますか?(yes...1/NO...0):0
%cat freinds.txt
Goro 19911001
Taro 19890505
Akira 19920222
宜しくお願いします。
0905デフォルトの名無しさん
2012/01/02(月) 23:25:19.32不便な上に無駄に複雑で何もいいとこないのに
0906デフォルトの名無しさん
2012/01/03(火) 00:04:44.71入力例も入力ファイルのリダイレクトをすれば毎回打つ必要も無いし
0907デフォルトの名無しさん
2012/01/03(火) 00:10:49.08俺は起動パラメータに指定するほうが好きだな
入力エラーの処理を一箇所に纏められるし
0908デフォルトの名無しさん
2012/01/03(火) 00:12:56.48※ まあ、そこそこトラップがあると言うなら同意せざるを得ないが。
0909デフォルトの名無しさん
2012/01/03(火) 00:14:55.500910デフォルトの名無しさん
2012/01/03(火) 00:16:20.41例えば、起動パラメータだけで、hit & blow とか作れるのか?
0911デフォルトの名無しさん
2012/01/03(火) 00:27:01.37C言語学習のための課題で、本筋と関係がないくせに複雑になるコンソール入力をわざわざ使うのはどうなの?ってこと
はっきり言って>>903の課題はファイルへの書き込みよりもコンソール入力部分のほうが遥かに難しいじゃん
そりゃ普段必要ならコンソール入力使うわ
複雑たって経験者なら大したことないし
0912デフォルトの名無しさん
2012/01/03(火) 00:30:43.29入力インターフェースとしては非常にシンプルだな
ループの中でif (IsPush(UP)) { ... }
とか書けばいいだけだし
ただし入力インターフェースを準備するライブラリの構築とか
入力インターフェースが限定されてるが故に逆に処理が面倒になるってのはあるがw
書き込むファイル名や友人の名前、誕生日をドラクエ3の復活の呪文みたいに入力するのは苦痛でしかないw
http://ideone.com/gn1Vj
>>899
こういう書き方にすれば「妄想をソースに」していない、ことになりますか?私としてはつまんないですけれどもね。
0914デフォルトの名無しさん
2012/01/03(火) 00:36:26.11>>906でも書いたが、入力リダイレクトを使えば良い
program.out < data.in
とか、
linuxの世界は入力・出力リダイレクトとパイプがあるから
実行ファイルのモジュール化が出来てそれぞれのモジュールをシンプルに作れて
複雑な事も出来るようになってる、あれは素晴らしい
パイプとリダイレクトは GUI 全盛の世にあっては、いささか古臭いという気がしないでもないですが。
とはいうものの、GUI にパイプの考え方がないのは惜しい。
0916デフォルトの名無しさん
2012/01/03(火) 00:57:08.50お前最低だよ
リアルでも嫌われ者だろ?
0917デフォルトの名無しさん
2012/01/03(火) 00:57:20.21下手に雑談に参加せず淡々と宿題を処理するのがいいみたいだな
私見を述べているだけですね。それを難癖とか被害妄想もいいところ。統失ですか?
リアルでは天然ボケまくりの人気者です嘘です。
0919デフォルトの名無しさん
2012/01/03(火) 01:11:47.940920デフォルトの名無しさん
2012/01/03(火) 01:26:22.50って突っ込んじゃいけないのかな
0921デフォルトの名無しさん
2012/01/03(火) 01:32:38.09http://ideone.com/YP3ZT
0922デフォルトの名無しさん
2012/01/03(火) 01:35:57.35kwsk、クリップボードのこと?
0923デフォルトの名無しさん
2012/01/03(火) 01:38:31.48CygwinやWPS入れて無いデフォだとツール群が足りて無い感があるけどもやっぱり便利
0924デフォルトの名無しさん
2012/01/03(火) 01:40:55.89コンソールで
a.exe | b.exe
と書くと
a.exeの標準出力がb.exeの標準入力になる機能のこと
|をパイプと呼ぶ
0925デフォルトの名無しさん
2012/01/03(火) 01:44:52.57標準ってとこが特に
0926デフォルトの名無しさん
2012/01/03(火) 01:44:52.35C言語難しすぎワロタwww
出題者は自分で解答作ってみたんですかね^^;
0927デフォルトの名無しさん
2012/01/03(火) 01:46:17.21うにコードエンコーディングのファイルは探せなくね?
0928デフォルトの名無しさん
2012/01/03(火) 01:51:19.65知らんかったわ
ググッたら対処法見つけた
http://stackoverflow.com/questions/1196883/free-program-to-grep-unicode-text-files-in-windows
脱線すまそ
0929デフォルトの名無しさん
2012/01/03(火) 01:53:33.36と統失のQが申しております
私見が邪魔なんだよ
黙ってろ
0930デフォルトの名無しさん
2012/01/03(火) 02:35:46.57おまえが引っ込めばいいんだよ
0931デフォルトの名無しさん
2012/01/03(火) 02:47:12.79それで解決する内容をちゃんと理解してるのかちょっとだけ心配だよ
ユニコード(というくくりでいいのか?流れ的に。)ファイルの日本語は検索できないよ。
あと、findstrは他にもいろいろ残念な気持ちになることが多いので、携帯性の高いツール群を持っておくと便利。
年明けから激しくスレ違いでスマヌ
0932デフォルトの名無しさん
2012/01/03(火) 03:17:07.02utf-8だけはどう足掻いても使えないのね。
重宝してたのに残念だ。
0933デフォルトの名無しさん
2012/01/03(火) 03:17:09.31とコテを外したQが申しております
0934デフォルトの名無しさん
2012/01/03(火) 07:16:49.93自演乙
0935デフォルトの名無しさん
2012/01/03(火) 22:27:22.56[2] 問題文(含コード&リンク): 一番下に
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2012/01/08
[5] その他の制限:プログラムを習い始めてまだ半年程度なので、出来るだけ簡単にお願いします
問: 4桁の数字を与えられたとき、4つの数字を一回ずつ使って(使用する 順序は問わない)10を作る。
使える演算は加減乗除。 例えば、
1234 --- 1+2+3+4 = 10
1234 --- 3*4-1*2 = 10
6789 --- (7+8)*6/9 = 10
6789 --- 8*(9-7)-6 = 10
6789 --- 6+8/(9-7) = 10
1199 --- (1+1/9)*9 = 10
のようにする。
4桁数字を与え、それを使って10になるような全ての数式を 出力するC言語のプログラムを作れ。
よろしくお願いします
0936デフォルトの名無しさん
2012/01/03(火) 23:11:48.64とりあえず、4つの数字を受け取って、計算する関数をてんこ盛りに作ってみてはどうか。
0937デフォルトの名無しさん
2012/01/03(火) 23:37:03.82RPNか。
0938デフォルトの名無しさん
2012/01/03(火) 23:39:20.750939デフォルトの名無しさん
2012/01/03(火) 23:50:44.560940デフォルトの名無しさん
2012/01/04(水) 00:14:53.020941デフォルトの名無しさん
2012/01/04(水) 00:18:03.990942デフォルトの名無しさん
2012/01/04(水) 00:27:07.56http://ideone.com/4B0Sp
0943デフォルトの名無しさん
2012/01/04(水) 00:56:26.080944デフォルトの名無しさん
2012/01/04(水) 00:58:52.980945デフォルトの名無しさん
2012/01/04(水) 01:02:43.57PLinqを使うとマルチコアが即使われるので結構いい
でも使い方に注意が必要だけど
0946デフォルトの名無しさん
2012/01/04(水) 01:26:09.360947デフォルトの名無しさん
2012/01/04(水) 01:54:28.730948デフォルトの名無しさん
2012/01/04(水) 05:04:55.81C言語久しぶりに使ったから間違ってたらごめんね
http://ideone.com/tslcx
0949デフォルトの名無しさん
2012/01/04(水) 09:55:55.7810/10もOK?
0950デフォルトの名無しさん
2012/01/04(水) 09:56:27.67O 10/01
0951デフォルトの名無しさん
2012/01/04(水) 10:37:00.48>936
それでもできないことはないと思うんですが、抜けがあると思うと怖い…
>937
RPNなのかなあ。問にある例をみるとなんか違う気が。。。
>938
そうですね、問題文中には括弧書いてないですが、使えるはずです
>942,948
ありがとうございます!!
0952デフォルトの名無しさん
2012/01/04(水) 12:10:25.30愚直に効率優先で書いてみた
http://ideone.com/aS7fd
0953デフォルトの名無しさん
2012/01/04(水) 12:26:18.16端数切捨てで計算狂ってる
0954デフォルトの名無しさん
2012/01/04(水) 12:33:05.40有理数で計算しないと駄目か
0955デフォルトの名無しさん
2012/01/04(水) 15:04:14.63パクらせてもらって改造した
http://ideone.com/2TfCx
重複はなくなったはず
0956デフォルトの名無しさん
2012/01/04(水) 15:06:26.850957デフォルトの名無しさん
2012/01/04(水) 15:18:09.92むしろそうじゃないやり方のソースがあるなら知りたい
0958デフォルトの名無しさん
2012/01/04(水) 15:31:45.25[2] 問題文(含コード&リンク):C++でレースゲーム
・実行イメージ
-------------------------------------------
|・レースエントリー
| エントリー台数を入力してください→
|
|
|
|
エントリー台数を入力してスタート。
エントリー台数で入力した台数を表示し、画面を一周してゴール。何着かをそれぞれに表示。
最後にレース終了と表示で終了。
車は走ってる最中にスピードアップしたりする。
スピードアップ中はスピードが上がってるとわかる表示にする。
C++で作る。必ずポリモーフィズムを実装。
この仕様が最低条件なのでできればこれに+α加えてもらえればうれしいです。
お手数ですが、コメントのほうもお願いします
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2008
[3.3] 言語: C++
[4] 期限: ([2012年1月8日13:00まで]
[5] その他の制限:お手数ですがコメントのほうよろしくお願いします。
0959デフォルトの名無しさん
2012/01/04(水) 15:39:49.49括弧が綺麗になってる!すげええ
0960デフォルトの名無しさん
2012/01/04(水) 15:40:37.320961デフォルトの名無しさん
2012/01/04(水) 15:47:30.39コンソールアプリで画面一周させるってこと?
それともウィンドウに描画するの?
0962デフォルトの名無しさん
2012/01/04(水) 15:52:52.22______
r〃〃〃 f7⌒ろ)
l‖‖‖ || f灯
|‖‖‖ || | |
|儿儿儿._」��⊥厶
〔__o____o_≦ト、
. i / ⌒ ⌒ ヽ )
!゙ (・ )` ´( ・) i/
| (_人__) | \
\ `ー' / / ー- 、
. ,ィ(⊆≧リ≦⊇)〃 / rク\
. / | ̄r少}¨ ̄〃 / /′ ヽ
〃 l | l| | l| 〃 / / └ヽ
/ l |l | |l/″ / ! 厂 \
く, Y ! l」fレト! / | / 1
丿 | | 丿} じ’ / | / |
/ l | `¨ / レ′ |
真の思考停
(在位 2009年9月16日〜2010年6月8日)
民主朝の初代考停、言行不一致、虚言、脱税、
そして外交において巨大な負の遺産を築いた。
0963デフォルトの名無しさん
2012/01/04(水) 15:53:34.25[2] 問題文(含コード&リンク):http://codepad.org/z9fLj3yb
3目ならべで決められた場所に○を入力(1 1とうったら真ん中に○)したいです。
上記のプログラムを改良してもらいたいですm(__)m
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: Visual studio 2010
[3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限: 基本なことしか習ってませんm(__)m
0964デフォルトの名無しさん
2012/01/04(水) 16:36:14.27動くとこまで直したよ
ttp://codepad.org/opneQIN1
0965デフォルトの名無しさん
2012/01/04(水) 16:46:36.11http://ideone.com/rlkcp
0966デフォルトの名無しさん
2012/01/04(水) 17:18:51.27#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
#define ER(y,n,p) p=y.begin(); advance( p, n ); y.erase(p);
#define HN sk=keisan_sub(kei,ST, y); if(sk!="") return sk;
string keisan_sub(double kei, vector<string> siki, vector<double> x) {
int xsz=x.size(); if(xsz==1) { if(abs(x[0]-kei)<0.01) return siki[0]; return ""; }
int m,n; vector<double> y; vector<double>::iterator p; vector<string> ST; vector<string>::iterator q;
for(m=0;m<xsz-1;m++) for(n=m+1;n<xsz;n++) {
y=x; ST=siki; ER(y,n,p);ER(y,m,p); ER(ST,n,q);ER(ST,m,q);
string s=siki[m],t=siki[n],sk;
y.push_back(x[m]+x[n]); ST.push_back("(" + s + " + " + t + ")"); HN;
int sz=y.size()-1, STsz=ST.size()-1;
y[sz]=x[m]*x[n]; ST[STsz]="(" + s + " * " + t + ")"; HN;
y[sz]=x[m]-x[n]; ST[STsz]="(" + s + " - " + t + ")"; HN;
y[sz]=x[n]-x[m]; ST[STsz]="(" + t + " - " + s + ")"; HN;
y[sz]=x[m]/x[n]; ST[STsz]="(" + s + " / " + t + ")"; HN;
y[sz]=x[n]/x[m]; ST[STsz]="(" + t + " / " + s + ")"; HN;}
return ""; }
string keisan(double kei, vector<double> x) {
char c[9]; int n; vector<string> siki;
for(n=0; n<x.size(); n++) { sprintf(c,"%.1f", x[n]); siki.push_back(c); }
return keisan_sub(kei, siki, x); }
void main(){ vector<double> x; x.push_back(1); x.push_back(2); x.push_back(3); x.push_back(4); cout<<keisan(10, x)<<endl; }
0968デフォルトの名無しさん
2012/01/04(水) 17:48:39.92[2] 問題文(含コード&リンク):
設問1-1
y=2x2乗+3(-10≦x≦10)を刻み幅1で計算し、x、yの組を1行ごとにファイルに書き込むプログラムを作成しなさい。
設問1-2
上記設問1-1のプログラムが作成したファイルを読み込んで xとyの値をprintf文で表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:visual studio 2008
[3.3] 言語:C
[4] 期限:[2012年1月7日8:00まで]
[5] その他の制限:変数、算術演算、printf、scanf、繰り返し処理while文、do-while文
繰り返し処理for文、繰り返し処理for文による総和の計算、配列変数
条件分岐if文、要素番号idx使用の書換、データの入れ替え
条件分岐・論理演算子を用いたif文の条件、if文、else if文
switch文、ポインタ変数・演算子*と&、関数・プロトタイプ宣言と関数定義
引数と戻り値、関数の引数とポインタ、関数に配列を渡し、呼び出し側へ戻す方法
関数から関数を呼び出す方法、大域(global)変数、局所(local)変数、文字型変数
文字列の代入、キーボードからの文字列入力、char型ポインタ変数
構造体・メンバ変数への数値の代入、構造体・ポインタを使ってメンバ変数を指定
ファイル操作・ファイルへのデータの書き込み、ファイルからのデータの読み込み
EOFの判定は習いました。
宜しくお願いします。
0969デフォルトの名無しさん
2012/01/04(水) 17:50:51.08> [3.3] 言語:C
0970デフォルトの名無しさん
2012/01/04(水) 18:01:03.59absでintに切り捨てられてるぞ
0971デフォルトの名無しさん
2012/01/04(水) 18:07:59.74>>1
0972デフォルトの名無しさん
2012/01/04(水) 18:36:40.78[2] 問題文(含コード&リンク):
問題文
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=5012
信号データ(function.txt)
ttp://www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=5013
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C言語
[4] 期限: 2011年1月11日まで
[5] その他の制限: 使う関数は標準ライブラリーのみでよろしくお願いします
0973デフォルトの名無しさん
2012/01/04(水) 19:06:19.42http://ideone.com/VSlZm
0974デフォルトの名無しさん
2012/01/04(水) 23:04:03.980975デフォルトの名無しさん
2012/01/04(水) 23:05:26.56C/C++の宿題片付けます 155代目
http://toro.2ch.net/test/read.cgi/tech/1325685876/
0976デフォルトの名無しさん
2012/01/04(水) 23:09:27.320977デフォルトの名無しさん
2012/01/04(水) 23:49:34.53プログラム作成本当に有難う御座います、誠に申し訳ないのですが
設問1-1のプログラム、設問1-2のプログラムという風に別々にあげてもらえないでしょうか?
お手数をおかけしますが宜しくお願いします
0978デフォルトの名無しさん
2012/01/04(水) 23:53:31.030979デフォルトの名無しさん
2012/01/05(木) 00:04:58.34そうですね
ちょっとやってみます
出来なかったら、また書き込みします
0980デフォルトの名無しさん
2012/01/05(木) 00:28:14.60>>978
有難う御座います
>>977の件は自己解決しました
0981デフォルトの名無しさん
2012/01/05(木) 18:09:24.56コンソールでお願いします。
0982:デフォルトの名無しさん
2012/01/06(金) 10:20:12.65[2] 問題文(含コード&リンク):typedef 宣言を用いて,メンバとして名前(文字列)
と生年月日(yyyymmdd 形式のlong 型整数)をもつ構造体friend を定義し,次の2 つの関数を作成しプログラムを完成させよ
実行例
5 人の友人の名前と生年月日(yyyymmdd) を入力してください。
1 人目の名前:Taro
1 人目の生年月日:19911001
2 人目の名前:Jiro
2 人目の生年月日:19890505
3 人目の名前:Akira
3 人目の生年月日:19920222
4 人目の名前:Hiroko
4 人目の生年月日:19921010
5 人目の名前:Isako
5 人目の生年月日:19910707
データを設定しました。
検索したい誕生月を入力してください:10
Taro, 生年月日:19911001
Hiroko, 生年月日:19921010
2
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 2011年1月7日まで
0983:デフォルトの名無しさん
2012/01/06(金) 10:21:03.31[5] その他の制限:
・friend 型構造体配列fr[] と人数n(整数)を引数として,構造体配列fr[] にn 人分のデータを設定する関数
・friend 型構造体配列fr[],人数n(整数),検索したい誕生月mm(整数)を引数として,誕生月がmm である友人の情報を表示する関数
void search_month(friend fr[], int n, int mm)関数の動作を確認できるmain 関数も作成せよ
・関数set_friend 内で,scanf 等を用いてユーザに名前と生年月日を入力させ,fr[] のn 人分のデータを設定すること
・関数search_month 内で,誕生月がmm である友人全員の情報を表示すること.
・main 関数内でfriend 型構造体配列friend_data[]( 要素数は5 以上)を宣言する
・実行例のように,関数set_friend を用いてfriend_data[] に5 人分のデータを設定する
・その後,ユーザに検索したい誕生月を入力させ,friend_data[] の5 人分のデータに対し関数search_month を用いて誕生月の検索を行う.
0984デフォルトの名無しさん
2012/01/06(金) 10:43:37.720985デフォルトの名無しさん
2012/01/06(金) 10:48:53.28問題作るとき解答用意しないセンセかよwwwwやる気ねーなww
0986デフォルトの名無しさん
2012/01/06(金) 11:25:00.55http://ideone.com/BS2bf
0987デフォルトの名無しさん
2012/01/06(金) 11:33:42.10Cの宿題だよ
0988デフォルトの名無しさん
2012/01/06(金) 11:41:26.40そうだな、ちょっとイライラしてたみたいだ
0989デフォルトの名無しさん
2012/01/06(金) 14:11:26.861199 1027 とかも、出して。
0990646
2012/01/06(金) 16:31:44.42http://codepad.org/NEpevsPl
0991デフォルトの名無しさん
2012/01/06(金) 17:07:17.62[2] 問題文(含コード&リンク): ニュートン法のプログラムで関数ポインタを使ってみよう
double newton(double x0, double e, int max)
↓
double newton(double x0, double e, int max, double*func)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:よくわかりませんが gccでやってます
[3.3] 言語: C
[4] 期限: [2012年1月12日23:00まで
[5] その他の制限: 特にないです
よろしくお願いします
0992デフォルトの名無しさん
2012/01/06(金) 17:23:54.190993デフォルトの名無しさん
2012/01/06(金) 17:59:19.32http://ideone.com/5pkZh
0994デフォルトの名無しさん
2012/01/06(金) 18:04:45.43ちょっと修正
http://ideone.com/0sxuP
0995デフォルトの名無しさん
2012/01/06(金) 21:09:41.40ありがとうございます
0996デフォルトの名無しさん
2012/01/07(土) 01:43:23.131001 は 0011 と同じとみなすなど。
言語・コンパイラ:C gcc
0997デフォルトの名無しさん
2012/01/07(土) 01:52:59.874つの各数字の文字数が他の数字の文字数と一致しない
こういう事?
0998デフォルトの名無しさん
2012/01/07(土) 04:06:48.69作った。
0999デフォルトの名無しさん
2012/01/07(土) 04:13:02.401桁で2桁を作れってことか?
1000デフォルトの名無しさん
2012/01/07(土) 05:01:50.21http://codepad.org/rG4XVbyO
こういう事か?単純な線形探索だから遅いぞ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。