C/C++の宿題片付けます 149代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/06/04(土) 14:52:36.60【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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++の宿題片付けます 148代目
http://hibari.2ch.net/test/read.cgi/tech/1305867431/
0002デフォルトの名無しさん
2011/06/04(土) 15:44:45.240003ご注意
2011/06/04(土) 15:44:48.86偽悪(適切でない教育啓蒙活動の被害の抑止)です。
ご利用には十分にご注意ください。
0004デフォルトの名無しさん
2011/06/04(土) 15:51:21.730005デフォルトの名無しさん
2011/06/04(土) 15:53:02.76し か た な い で す よ ね wwww
0006デフォルトの名無しさん
2011/06/04(土) 16:13:28.410007デフォルトの名無しさん
2011/06/04(土) 16:15:52.800008デフォルトの名無しさん
2011/06/04(土) 16:24:16.440009デフォルトの名無しさん
2011/06/04(土) 16:43:54.650010デフォルトの名無しさん
2011/06/04(土) 16:50:39.800011デフォルトの名無しさん
2011/06/04(土) 17:08:41.35取りあえず◆QZaw55cn4cにはCPU-ZでCore2DuoとPhenomX6の
CPU、Cashes、Mainboard、SPD、Graphicsのスクリーンショットを
PNGでうpしてもらいましょうか
証拠としてはそれで十分だと思いますが
972 名前:デフォルトの名無しさん[sage] 投稿日:2011/06/04(土) 13:57:22.52
いや待てExif情報入りのJPEGの方がいいな
PNGだとどこかからやら引っ張ってくるかもしれませんからね
Exifが入ってると日時が入るので捏造しにくい
0012デフォルトの名無しさん
2011/06/04(土) 17:19:38.02マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < ◆QZaw55cn4cのJPEGうpまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 愛媛みかん |/
0013デフォルトの名無しさん
2011/06/04(土) 17:28:55.69[2] 問題文(含コード&リンク):
3以上40未満の整数Nを入力したとき、「*」の記号を使い、一辺の長さがNの中を塗り潰さない正方形を描画するプログラムを作成しなさい。
例: 3
***
* *
***
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0014デフォルトの名無しさん
2011/06/04(土) 17:51:36.32#include <stdio.h>
int main(int ac, char **av)
{
int n, i;
const char *ast = "****************************************";
const char *spc = " ";
printf("3以上40未満の整数Nを入力してください ");
if (scanf(" %d", &n) != 1 || n < 3 || n > 40) {
fprintf(stderr, "入力エラーです\n");
return 1;
}
printf("%.*s\n", n, ast);
for (i = 1; i < n - 1; i++)
printf("*%.*s*\n", n-2, spc);
printf("%.*s\n", n, ast);
return 0;
}
0015デフォルトの名無しさん
2011/06/04(土) 17:52:54.14#include <stdio.h>
int main(int ac, char **av)
{
int n, i;
const char *ast = "****************************************";
const char *spc = " ";
printf("3以上40未満の整数Nを入力してください ");
if (scanf(" %d", &n) != 1 || n < 3 || n >= 40) {
fprintf(stderr, "入力エラーです\n");
return 1;
}
printf("%.*s\n", n, ast);
for (i = 1; i < n - 1; i++)
printf("*%.*s*\n", n-2, spc);
printf("%.*s\n", n, ast);
return 0;
}
0016デフォルトの名無しさん
2011/06/04(土) 18:03:36.180017デフォルトの名無しさん
2011/06/04(土) 18:05:02.45[2] 問題文(含コード&リンク):
10人の身長(cm単位の実数)を入力させ、配列に記憶する。
その後、平均身長を求めて表示した後、10人分の身長を表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0018デフォルトの名無しさん
2011/06/04(土) 18:19:47.50#include <stdio.h>
int main()
{
int n, i, j;
char x[40][40] = {0};
scanf(" %d", &n);
if (n < 3 || 40 <= n) {
printf("error\n");
return 1;
}
for (i = 0; i < n; i++) {
memset(x[i], '*', n);
}
for (i = 1; i < n - 1; i++) {
memset(&x[i][1], ' ', n - 2);
}
for (i = 0; i < n; i++) {
printf("%s\n",x[i]);
}
return 0;
}
0019デフォルトの名無しさん
2011/06/04(土) 18:21:21.100020デフォルトの名無しさん
2011/06/04(土) 18:49:58.50[2] 問題文(含コード&リンク):
それぞれ10個の要素を格納する整数型配列をAとBと用意する。
Aに10個の整数を入力させた後、平均値を求める。
Bのi番目の要素に、(Aのi番目の要素の値−平均値)の値を保存する。
AとBの対応する要素ごとに、10行並べて表示しなさい。
0021デフォルトの名無しさん
2011/06/04(土) 19:10:47.09[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0022デフォルトの名無しさん
2011/06/04(土) 19:26:56.38それってすごいスペックなの?
0023デフォルトの名無しさん
2011/06/04(土) 20:17:36.01いつまでもうpしない時は嘘で決定な
0024デフォルトの名無しさん
2011/06/04(土) 20:24:13.02Aには10個の値が入るが、Bにはi番目要素の
値以外は入るチャンスがない。さて・・・
0025デフォルトの名無しさん
2011/06/04(土) 20:31:32.08日本語読めないんですか?
0026デフォルトの名無しさん
2011/06/04(土) 20:38:17.97#include <stdio.h>
#define a printf
#define b scanf
#define c double
#define d int
#define e main
#define f void
#define g "%lf"
#define h ", "
#define i "\n"
#define j return
#define k if
#define l sizeof
#define m(a) l(a)/l(*a)
#define n for
#define o 10
#define p(i,a) n(i=0;i<m(a);i++)
d e(f){c A[o],B[o],C=0;d D;p(D,A)k(b(g,&A[D])!=1)j(-1);p(D,A)C+=A[D];C/=m(A);p(D,B)B[D]=A[D]-C;p(D,A)a(g h g i,A[D],B[D]);j(0);}
0027デフォルトの名無しさん
2011/06/04(土) 20:53:10.89http://codepad.org/JlwDWfLY
>>24
こんな感じでいいと思うんですが。
0028デフォルトの名無しさん
2011/06/04(土) 20:54:23.060029デフォルトの名無しさん
2011/06/04(土) 22:47:20.76#include <stdio.h>
int
main()
{
int n, i, yoko, tate;
scanf("%d", &n);
for (i = 0; i < n * n; i++) {
yoko = i / n;
yoko = yoko * ((yoko + 1) % n);
tate = i % n;
if (!tate)
printf("¥n");
tate = tate * ((tate + 1) % n);
printf("%c", !(yoko * tate) ? '*' : ' ');
}
return 0;
}
0030>>20 忍法帖【Lv=1,xxxP】 >>26
2011/06/04(土) 23:15:03.18#define N 10
int main(void){double a[N],b[N],s=0;int i;for(i=0;i<N;i++)if(scanf("%lf",&a[i])!=1)return -1;for(i=0;i<N;i++)s+=a[i];s/=N;for(i=0;i<N;i++)b[i]=a[i]-s;for(i=0;i<N;i++)printf("%lf,%lf\n",a[i],b[i]);return 0;}
0031デフォルトの名無しさん
2011/06/04(土) 23:33:38.96[2] 問題文(含コード&リンク):
2〜100までの数値について、素因数に分解して実行結果例のように表示するプログラムを作成しなさい。
例
2 = 素数です。
3 = 素数です。
4 = 2 × 2
...(省略)...
99 = 3 × 3 × 11
100 = 2 × 2 × 5 × 5
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:月曜まで
[5] その他の制限: 配列やポインタ等は習っていません
0032デフォルトの名無しさん
2011/06/05(日) 00:06:35.77#include <stdio.h>
int soinsuubunkai(int value, int primes[]){
int i, index=0;
for(i=2;i*i<=value;i++){
while(value%i==0){
primes[index++]=i;
value/=i;
}
}
if(value>1) primes[index++]=value;
return index;
}
int main(void){
int i, j, primes[7], prime_num;
for(i=2;i<=100;i++){
prime_num=soinsuubunkai(i, primes);
if(prime_num==1){
printf("%d = 素数です\n", i);
}else{
printf("%d = %d", i, primes[0]);
for(j=1;j<prime_num;j++)
{
printf(" × %d", primes[j]);
}
printf("\n");
}
}
return 0;
}
0033デフォルトの名無しさん
2011/06/05(日) 00:07:03.74#include <stdio.h>
int main(void) {
static unsigned char primes[101] = {0}; /** include 0 */
unsigned int i, j, k, primes_nr = sizeof(primes)/sizeof(*primes);;
primes[2] = primes[3] = 1;
for (i = 5; i < primes_nr; i += 2) {
for (j = 3; j * j < i; j += 2) {
if (!primes[j]) continue;
if (i % j == 0) break;
}
primes[i] = j * j < i ? 0 : 1;
}
for (i = 2; i < primes_nr; i++) {
if (primes[i]) {
printf("%u = 素敵です\n", i);
continue;
}
printf("%u = ", k = i);
for (j = 2; j < primes_nr; j++)
if (primes[j] && k % j == 0) {
k /= j; printf(" %u", j);
break;
}
for (j = 2; k != 0 && j < primes_nr; j++)
while (primes[j] && k % j == 0)
k /= j, printf(" × %u", j);
printf("\n");
}
return 0;
}
0034デフォルトの名無しさん
2011/06/05(日) 00:12:05.550035デフォルトの名無しさん
2011/06/05(日) 00:25:36.840036デフォルトの名無しさん
2011/06/05(日) 00:30:27.890037デフォルトの名無しさん
2011/06/05(日) 00:35:02.54#include <stdio.h>
int main(void)
{
int i, j, x;
for(i=2;i<=100;i++)
{
x=i;
printf("%d = ", i);
for(j=2;j*j<=x;j++)
{
while(x%j==0)
{
printf("%s%d", (x!=i)?" × ":"", j);
x/=j;
}
}
if(x==i) printf("素数です");
else if(x>1) printf(" × %d", x);
printf("\n");
}
return 0;
}
0038デフォルトの名無しさん
2011/06/05(日) 00:36:45.880039デフォルトの名無しさん
2011/06/05(日) 01:44:54.95#include <stdio.h>
int main(void)
{
int i, j, k;
for(i = 2; i <= 100; i++) {
printf("%d = ", i);
for(j = i, k = 2; k * k <= j; ) {
if(j % k == 0) {
printf("%d × ", k);
j /= k;
}
else k++;
}
if(j == i) printf("素数です\n");
else printf("%d\n", j);
}
return 0;
}
0040デフォルトの名無しさん
2011/06/05(日) 03:25:43.410041デフォルトの名無しさん
2011/06/05(日) 06:40:36.80彼は虚言癖を持っているという事も判明しました
もちろん無職で今も850MHzのPen3ノートのみでしょう
0042デフォルトの名無しさん
2011/06/05(日) 07:06:38.60http://codepad.org/vBBnCYwX
どう扱うもなにも普通だよ
0043デフォルトの名無しさん
2011/06/05(日) 08:58:25.12処方箋は飲んだ?
ちゃんとお医者さんの言うこと聞かないと駄目だよぉ。
0044デフォルトの名無しさん
2011/06/05(日) 09:18:55.20処方箋は飲んだ?
ちゃんとお医者さんの言うこと聞かないと駄目だよぉ。
0045デフォルトの名無しさん
2011/06/05(日) 09:24:26.98http://codepad.org/XnQc4INA
HTTP なんとかてのはどうやってよむんだろう。
0046デフォルトの名無しさん
2011/06/05(日) 09:52:00.36相変わらずの日本語の読めなさw
0047デフォルトの名無しさん
2011/06/05(日) 10:11:07.42どんだけシームレスに結合しているかわかりゃしないから怖い
0048デフォルトの名無しさん
2011/06/05(日) 10:58:44.64それはない
0049デフォルトの名無しさん
2011/06/05(日) 11:01:14.17( ゚Д゚)ハァ?本当にCore2DuoとPhenomX6を持っているのならスクショをうp
出来るはずだろ
それがないという事は、嘘をついていたという事だ
つまり大言壮語だったという事です
0050デフォルトの名無しさん
2011/06/05(日) 11:12:10.040051デフォルトの名無しさん
2011/06/05(日) 11:14:46.040052デフォルトの名無しさん
2011/06/05(日) 11:16:04.610053デフォルトの名無しさん
2011/06/05(日) 11:17:43.000054デフォルトの名無しさん
2011/06/05(日) 11:28:13.360055デフォルトの名無しさん
2011/06/05(日) 11:34:12.11処方箋は飲んだ?
ちゃんとお医者さんの言うこと聞かないと駄目だお。
0056デフォルトの名無しさん
2011/06/05(日) 11:39:12.00宿題をとかない人と一緒にされるのは、ちと抵抗があるのですけれども。
0057デフォルトの名無しさん
2011/06/05(日) 11:41:10.82>>56 俺もちゃんと宿題を解いてますけど何か?
0058デフォルトの名無しさん
2011/06/05(日) 11:43:04.35ここは屁ノムごときで大言壮語という言葉をつかえるんだw
0059デフォルトの名無しさん
2011/06/05(日) 11:44:19.29無職だもんなあ
0060俺もなぁ〜 ってか。
2011/06/05(日) 11:46:59.62やれやれ、お決まりの自演認定か。
相当暇なんだな。(w
0061デフォルトの名無しさん
2011/06/05(日) 11:48:38.080062デフォルトの名無しさん
2011/06/05(日) 11:49:14.35スレ違いのレスを延々続けてる奴らははたから見たら一緒だよ。
もちろん俺も含めて。
0063デフォルトの名無しさん
2011/06/05(日) 12:09:54.18それしか奴には他に誇る物がないからなw
しかも肝心の答えが糞コード
0064デフォルトの名無しさん
2011/06/05(日) 12:15:36.880065デフォルトの名無しさん
2011/06/05(日) 12:18:01.41ゲロに失礼だろ
謝れよカス
0066デフォルトの名無しさん
2011/06/05(日) 12:30:09.97今◆QZaw55cn4cが使ってるPenIII850MHzより格段に上でしょ
無職で金がないから買えないだろうけどw
0067デフォルトの名無しさん
2011/06/05(日) 12:30:56.95C++で糞まじりのゲロコードを書くほうがまだ簡単
Javaだともっと簡単か.
ただ本当に糞コードを書きやすいのは...
0068デフォルトの名無しさん
2011/06/05(日) 12:58:45.56恐ろしい恐ろしい
0069デフォルトの名無しさん
2011/06/05(日) 13:02:09.86速いプロセッサは大きなプロジェクトの大きなコードを
書くのには圧倒的に有利だけど、小さいが速度を
要求されるコードでは、プロセッサの速さが意外に仇
になって、微妙に時間を食う場所とかが見つけにくくな
るのでコードのチューニングがしにくくなるので
一概に有利とは言えないんじゃね
高精度スローモーションが可能な録画機はめちゃくちゃ
高い
0070デフォルトの名無しさん
2011/06/05(日) 13:04:31.03最大の皮肉だなw
QueryPerformanceCounterとかプロファイラとかいろいろあるのになw
0071デフォルトの名無しさん
2011/06/05(日) 13:10:02.08ごめん。
何いってんのかほんとにわかんない。
頭平気か?
0072デフォルトの名無しさん
2011/06/05(日) 13:11:43.19そういうのは遅いプロセッサで、ノンプリエンプティブなタスクスケジューリング
なOSの上で有効だった話
マルチタスク環境、特にマルチプロセッサとかハイロックプロセッサでは
バックグラウンド処理が多いので、タイマで処理時間計測しても精度が
もともと悪いだろ
0073デフォルトの名無しさん
2011/06/05(日) 13:15:39.50バカ走ね
0074デフォルトの名無しさん
2011/06/05(日) 13:19:17.69メモリリーク満開の回答してるクズにメモリリークと指摘されるのはとても心外なんだが。
0075デフォルトの名無しさん
2011/06/05(日) 13:21:03.75相手に分かるようにしないと駄目だろ。
>QZの頭の中では欲しい物がいつの間にか「持っている物」に変わっているからなあ
>恐ろしい恐ろしい
っていうのがどこのレスから判断したのかぐらいは示さないと。
0076デフォルトの名無しさん
2011/06/05(日) 13:21:14.33QueryPerformanceCounter()使った事あるのか?ないだろ
SetPriorityClass()になぜHIGH_PRIORITY_CLASSや
REALTIME_PRIORITY_CLASSがあるか知ってる?
特にREALTIME_PRIORITY_CLASSはドライバも含めて
最優先順位で実行され、ほとんどノンプリエンプティブのOS上で
動かしているのと同等の実行環境になる
逆に言うとREALTIME_PRIORITY_CLASSを設定して永久
ループに故意に入れるとリセットするしか止める方法がなくなる
0077デフォルトの名無しさん
2011/06/05(日) 13:26:59.21質問w
マルチコアでもリセットしないと駄目になる?
0078デフォルトの名無しさん
2011/06/05(日) 13:27:49.32マルチコアとHTは例外です
でも使用に注意が必要な事には変わりない
0079デフォルトの名無しさん
2011/06/05(日) 13:30:44.92>マルチタスク環境、特にマルチプロセッサとかハイロックプロセッサでは
>バックグラウンド処理が多いので、タイマで処理時間計測しても精度が
>もともと悪いだろ
これはSetPriorityClass()でREALTIME_PRIORITY_CLASSを設定した
場合には当てはまらないという事
マルチコアでも一つのコアが完全に一つのプロセスに占有されるので、極めて
高精度な時間測定が可能
0080!=72
2011/06/05(日) 13:31:01.97QueryPerformanceCounterっていうのをつかったことないです。
簡単に調べた感じだと、QueryPerformanceCounterっていうのはハードウェアカウンタを
読み込むだけの処理っぽい気がするけど、プロファイラとどう関係あるの?
0081デフォルトの名無しさん
2011/06/05(日) 13:36:25.36プロファイラには2種類あり、各関数を呼び出す回数を測定するものと、
各関数の消費CPU時間まで測定する物がある
しかし大まかに言って呼び出す回数の多い関数を優先的に高速化すれば
明らかにプログラム全体の実行速度が上がる
QueryPerformanceCounterとプロファイラは関係があるとは一言も言ってない
0082デフォルトの名無しさん
2011/06/05(日) 13:38:21.09了解
丁寧な説明thx
0083デフォルトの名無しさん
2011/06/05(日) 13:44:38.62GetTickCount() や timeGetTime() に比べて、だいぶマシというだけで、
極めて高精度と言い切るのはどうかと思う。
0084デフォルトの名無しさん
2011/06/05(日) 13:48:58.96x86だとRDTSC読んでるんだぞ
しかも使用するドライバまで全てロックするので、例えマルチコア環境でも
もしそのプロセスがディスクの入出力を行っていたらそのプロセスが終了するまで
他のプロセスはディスクの入出力に割り込めない
マウスもしかり
0085デフォルトの名無しさん
2011/06/05(日) 13:49:58.000086デフォルトの名無しさん
2011/06/05(日) 13:51:10.10とにかく一回使ってみてから言ってくれよ、な
実行の度にどの位CPU時間が変化するのかやってみてから言ってくれ
0087デフォルトの名無しさん
2011/06/05(日) 13:52:47.51RDTSCは命令だ。TSCが正しい。
TSCの使用権利がドライバやアプリなどの全プロセスで公平なだけであって、
アプリがRDTSCを実行している間はRDTSCを実行しようとしているドライバが
待たされる可能性があるってことでしょ?
プロセスが終了するまでってのは違うかな。
0088デフォルトの名無しさん
2011/06/05(日) 13:55:51.82固定するとマルチコア環境ではさらに精度があがる
というかRDTSCを直接読む場合はSetThreadAffinityMaskを使わないと
意味のない数字が出る確率が高い
0089デフォルトの名無しさん
2011/06/05(日) 13:56:30.860090デフォルトの名無しさん
2011/06/05(日) 14:00:27.60違う違う
REALTIME_PRIORITY_CLASSの意味をよく考えてくれ
ドライバは大きく分けて二つの部分から出来ている
ストラテジルーチンとボトムハーフからなる
これはマルチプロセス/マルチスレットでは必須の構成である事は
知っているだろう
しかしREALTIME_PRIORITY_CLASSを設定してしまうとストラテジ
への登録すらロックされてしまい、他のプロセスは一切リソースを使う
事が出来なくなってしまう
0091デフォルトの名無しさん
2011/06/05(日) 14:05:38.33あ〜、すまん。
PCのシステムクロックを「極めて高精度」と言うとは思わなかったものでな。
0092デフォルトの名無しさん
2011/06/05(日) 14:07:32.14>しかしREALTIME_PRIORITY_CLASSを設定してしまうとストラテジ
>への登録すらロックされてしまい、他のプロセスは一切リソースを使う
>事が出来なくなってしまう
まじすか。。。
ここまでできると理想的な計測環境になるなぁ。
せいぜい、ネットワークからパケット受け取ったりしたときのボトムハーフが動くくらいか。
0093デフォルトの名無しさん
2011/06/05(日) 14:10:06.36それも止まるぞ
俺の所でやってみたらバックグラウンドで高速度でファイル転送中に
REALTIME_PRIORITY_CLASSを設定した実験プログラムを動かしたら
その間ネットの転送が止まった
0094デフォルトの名無しさん
2011/06/05(日) 14:11:27.30timeit でググって一番上から辿ればおk
0095デフォルトの名無しさん
2011/06/05(日) 14:12:03.71この先はさすがにスレ違いなのでWin32APIスレにでも行こうぜ
0096デフォルトの名無しさん
2011/06/05(日) 14:13:35.24ネットワークドライバはボトムハーフでパケットをキューに積み上げて、
残りの作業をストラテジルーチンへ任せるはずなので(タイマで登録したりする)、
ボトムハーフ部分は動いてると思われ。
ネットワークドライバの送信パケット・受信パケットのカウンタは増えるんじゃないかな。
0097デフォルトの名無しさん
2011/06/05(日) 14:15:57.19それは受信の時の話な
しかもイーサネットコントローラに大きく依存する
送信の時はやはりストラテジ→ボトムハーフの順に進む
というかストラテジに登録しないとボトムハーフが呼び出されないでしょ
0098デフォルトの名無しさん
2011/06/05(日) 14:19:48.10それは信者の基準でメモリーリークしている、というだけで、信者でないあなたが、都合のいいときに信者の基準を持ち出すのは、
バルフォア宣言/フサイン-マクマホン協定/サイクス・ピコ協定並みの三枚舌外交ですね。
0099デフォルトの名無しさん
2011/06/05(日) 14:20:37.420100デフォルトの名無しさん
2011/06/05(日) 14:27:07.900101デフォルトの名無しさん
2011/06/05(日) 14:29:33.11QZまで書け。でないとアボーン出来ない
0102デフォルトの名無しさん
2011/06/05(日) 15:02:15.27てめーらから仕掛けてきた宗教戦争でコテンパンにされて教義の修正したうんこは
毒を撒き散らすのはヤメろ。てめーの所為で単位落とすのが出てくるぞ。
0103デフォルトの名無しさん
2011/06/05(日) 15:26:13.530104デフォルトの名無しさん
2011/06/05(日) 15:38:31.95QZまで書け。でないとアボーン出来ない
0105デフォルトの名無しさん
2011/06/05(日) 15:40:44.79それとも持ってないの?w
0106デフォルトの名無しさん
2011/06/05(日) 15:45:21.56日本語読めなさすぎて吹いたw
0107デフォルトの名無しさん
2011/06/05(日) 15:49:56.72違いますね。私は >>27。
それにしても、延々とかまってくれる人がいてうれしいですね。きたるべきモリタポスレでもよろしくお願いいたします。
0108デフォルトの名無しさん
2011/06/05(日) 15:52:05.150109デフォルトの名無しさん
2011/06/05(日) 15:52:53.460110デフォルトの名無しさん
2011/06/05(日) 17:44:02.23アドレスを取得して表にしてそれをソートしてそれを元にリンクを張り直すソートプログラム
が完成した
相当速いです
良ければうpします
次はこれとコムソートで直接リンクをいじるソートと速度を比較してみたい
nice!
0112デフォルトの名無しさん
2011/06/05(日) 17:52:47.61こんな感じになっています
コムソートをこれでやるにはどうすればいいか考えていますが
なかなかスマートなコードが書けそうにないので悩んでいます
0113デフォルトの名無しさん
2011/06/05(日) 19:37:56.15[2] 問題文:得点データをバブルソートを用いて国語の得点の大きい順に並び替えよ
番号 国語 数学
01 78 64
02 68 78
03 83 55
04 91 90
[3] 環境
[3.1] OS: Windows 7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C
[4] 期限: 明日まで
0114デフォルトの名無しさん
2011/06/05(日) 20:24:35.62[2] 問題文(含コード&リンク):
10人の身長(cm単位の実数)を入力させ、配列に記憶する。
その後、平均身長を求めて表示した後、10人分の身長を表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0115デフォルトの名無しさん
2011/06/05(日) 20:44:35.87#include <stdio.h>
const int PERSONS = 10;
int main()
{
float heights[PERSONS];
int i;
float sum;
for (i = 0; i < PERSONS; i++) {
printf("%d人目の身長: ", i + 1);
scanf("%f", &heights[i]);
}
sum = 0.0;
for (i = 0; i < PERSONS; i++) {
sum += heights[i];
}
printf("%d人の平均身長は%fcm\n", PERSONS, sum / PERSONS);
for (i = 0; i < PERSONS; i++) {
printf("%d人目は%fcm\n", i + 1, heights[i]);
}
return 0;
}
0116デフォルトの名無しさん
2011/06/05(日) 20:54:01.21http://codepad.org/lTTadCuP
0117デフォルトの名無しさん
2011/06/05(日) 21:07:04.24遅れたけどせっかく書いたので
ttp://ideone.com/hlWNB
0118117
2011/06/05(日) 21:11:35.67○compare_japanese
ね、スマソ
0119デフォルトの名無しさん
2011/06/05(日) 21:48:47.93[2] 問題文(含コード&リンク):
次の処理を順に行うプログラムを作成しなさい。
要素数5の整数型配列に、すべて異なる整数を入力させる。
入力された順に、配列の中身を表示しなさい。
次に、配列の中身を入れ替え、昇順に並び替えなさい。
並び替えた配列の中身を表示しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0120デフォルトの名無しさん
2011/06/05(日) 21:58:43.600121デフォルトの名無しさん
2011/06/05(日) 21:59:33.09◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
http://hibari.2ch.net/test/read.cgi/tech/1289715349/
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
0123デフォルトの名無しさん
2011/06/05(日) 22:05:49.41おいおい構造体の交換にmemmoveなんか使うなよ
ANSI-C(C89)から構造体は=でコピー出来るようになってるだろ
こんなの出すつもりか?
0124デフォルトの名無しさん
2011/06/05(日) 22:06:08.64消えろ屑
0125デフォルトの名無しさん
2011/06/05(日) 22:07:38.25まとめる理由は?これ初学者が見たら絶対に意味分からないぞ
0126デフォルトの名無しさん
2011/06/05(日) 22:08:47.23QはIOCCCにでも提出するつもりなんだろうよ
0127デフォルトの名無しさん
2011/06/05(日) 22:09:20.660128デフォルトの名無しさん
2011/06/05(日) 22:11:58.77ここまで来たら完全に悪意性があると認められるな
つまり「荒らし」だ
0129デフォルトの名無しさん
2011/06/05(日) 22:18:51.30>>117 はQZじゃないだろう。
・プログラムの末尾が /* end */ ではない。
・インデント幅が違う。
・QZ は typedef を嫌う。
・QZ は bubble sort は過去一貫して
http://hibari.2ch.net/test/read.cgi/tech/1305867431/893
http://codepad.org/mF1D4PHi
のように書いてきている。
0130117
2011/06/05(日) 22:19:10.20汎用的にしておきたかったのでvoidポインタにしといた。
>>125
確かにそうだわ、俺のは無視して>>116を採用して、っでことで。
0131デフォルトの名無しさん
2011/06/05(日) 22:21:18.08ふんふん言われてみれば確かにそうだな
という事はQよりもまだひねくれた奴が潜んでるって事か
0132デフォルトの名無しさん
2011/06/05(日) 22:33:33.480133デフォルトの名無しさん
2011/06/05(日) 22:46:42.10>>113の青ざめた顔が目に浮かぶようだ
0134デフォルトの名無しさん
2011/06/05(日) 22:48:58.90>>3
0135デフォルトの名無しさん
2011/06/05(日) 22:57:11.44頼むから別スレ立ててそこでやってくれ
0136デフォルトの名無しさん
2011/06/05(日) 22:59:47.100137デフォルトの名無しさん
2011/06/05(日) 23:41:54.13排除することが急務だな。
0138デフォルトの名無しさん
2011/06/05(日) 23:43:25.14IDを表示するのが手っ取り早い。
0139デフォルトの名無しさん
2011/06/05(日) 23:45:01.790140デフォルトの名無しさん
2011/06/05(日) 23:51:53.25[2] 問題文(含コード&リンク):
次の処理を順に行うプログラムを作成しなさい。
要素数5の整数型配列に、すべて異なる整数を入力させる。
入力された順に、配列の中身を表示しなさい。
次に、配列の中身を入れ替え、昇順に並び替えなさい。
並び替えた配列の中身を表示しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0141デフォルトの名無しさん
2011/06/06(月) 00:13:04.24http://codepad.org/NtHhYtcq
0142デフォルトの名無しさん
2011/06/06(月) 00:16:54.090143デフォルトの名無しさん
2011/06/06(月) 00:20:21.72このスレのためだけにか?この板の住人全員の同意を得ろよ
勝手過ぎるぞ
0144デフォルトの名無しさん
2011/06/06(月) 00:26:24.010145デフォルトの名無しさん
2011/06/06(月) 00:29:48.63粘着される奴が一人いるだけで粘着する奴が10人は現れる
どう考えても粘着されるような書き込みをする方が悪い
0146デフォルトの名無しさん
2011/06/06(月) 00:33:02.620147デフォルトの名無しさん
2011/06/06(月) 00:35:33.570148デフォルトの名無しさん
2011/06/06(月) 00:41:13.720149デフォルトの名無しさん
2011/06/06(月) 00:54:15.88人のせいにばかりしないで少しは自分の悪い点も改善するよう努力しましょうね
0150デフォルトの名無しさん
2011/06/06(月) 01:04:44.190151デフォルトの名無しさん
2011/06/06(月) 01:07:07.950152デフォルトの名無しさん
2011/06/06(月) 01:09:18.87言えば言うほど、無駄なレスが増えて本人が荒らしになるという矛盾
0153デフォルトの名無しさん
2011/06/06(月) 01:10:12.63Qが現れる以前は宿題スレは平和だったよな?
0154デフォルトの名無しさん
2011/06/06(月) 01:11:56.28うんこを叩く奴を叩く奴はそいつもうんこっぽい所があるんだろう
それしか考えられない
自分が叩かれているように感じるんだろうな
0155デフォルトの名無しさん
2011/06/06(月) 01:14:22.390156デフォルトの名無しさん
2011/06/06(月) 01:27:14.79結論はそういう事
しかしQZは究極のKYなんで皆に嫌われている事がちっとも分からないらしく
厚かましく居座るからなあ
「俺にここに来るなと言うのは2chのガイドラインのどこに書いてありますか?」とか
また聞いて来そうだし
屁理屈はもう聞き飽きたよQZ・・・・消えてくれ
アスペはどこに行っても嫌われ者なんだよ
お前が無職なのもそのせいだ
0157デフォルトの名無しさん
2011/06/06(月) 01:54:14.28QZはい続けるよ。
QZがど嫌いなら、嫌いな奴(自分)がスレから消えたほうが
自分自身のためだよ。精神が変になる前に自己防衛したほうが良い
ど嫌いな奴が居るスレへ来るなんって><
0158デフォルトの名無しさん
2011/06/06(月) 01:57:50.450159デフォルトの名無しさん
2011/06/06(月) 02:01:20.010160デフォルトの名無しさん
2011/06/06(月) 02:04:31.120161デフォルトの名無しさん
2011/06/06(月) 02:07:14.670162デフォルトの名無しさん
2011/06/06(月) 02:10:36.61あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
0163デフォルトの名無しさん
2011/06/06(月) 02:21:29.33>>161
0164141
2011/06/06(月) 02:23:53.49http://codepad.org/AoVEuUZE
>>117 はバブルソートではなく、選択ソートの一種だと思います。
0165デフォルトの名無しさん
2011/06/06(月) 02:24:21.71余計な書き込みを誘発する効果はあっても、スレ違いの書き込みを減らす効果はないのにな
0166141, 164
2011/06/06(月) 02:39:46.11>>164 にはバグがありました。寄せられる方向を間違えていました。バブルソートにとどまる限り最速かなあ。
http://codepad.org/hmR172K7
>>160
んー、それはもうやめます。
0167デフォルトの名無しさん
2011/06/06(月) 02:47:12.48精神は変になりませんのでご安心を
それよりこれからもQZを執拗に叩き続けますよ
0168デフォルトの名無しさん
2011/06/06(月) 02:47:59.730169デフォルトの名無しさん
2011/06/06(月) 04:28:40.26汎用的にしたかったとしても、memcpyで目的を果たすことはわからないかな。
0170デフォルトの名無しさん
2011/06/06(月) 04:38:40.56ご指摘感謝。肝心の部分が抜けていました。
>>159 バブルソートの範囲で速くするべく努めました。
http://codepad.org/ZvwXeaeg
0171デフォルトの名無しさん
2011/06/06(月) 04:49:45.61なにいまさらiとかflagとか追加してんの?
昔のままのクソコード貫けよw
0172デフォルトの名無しさん
2011/06/06(月) 05:06:03.720173デフォルトの名無しさん
2011/06/06(月) 05:09:59.41void bsort(int *a, int n)
{
int i, j, k;
for(i = n - 1; i > 0; i = k) {
for(j = k = 0; j < i; j++) {
if(a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
k = j;
} } } }
が最速だろ
0174デフォルトの名無しさん
2011/06/06(月) 05:29:16.210175デフォルトの名無しさん
2011/06/06(月) 05:55:00.71【囲碁?】囲連星のAIを作ってみよう【連珠?】
http://hibari.2ch.net/test/read.cgi/gamedev/1154589225/
http://irensei.com/html/ai.html
0176デフォルトの名無しさん
2011/06/06(月) 06:43:19.24なるほど。
k より大きいところでは、入れ替え不要なんですね。
0177デフォルトの名無しさん
2011/06/06(月) 07:26:37.59[2]本文
文字列を置換するプログラム
<条件>
・右記の配列を使用 char str1[] str2[] syougou[] chikan[]
・str1を先頭からコピーしてstr2を作る
このときstr1にsyougouと一致する文字列があればその文字列を見つける毎に文字列chikanに置換
[3] 環境
[3.1]Windows7
[3.2]gcc
[3.3]C言語
[4]明日まで
[5]string.h標準関数は使っておk
0178デフォルトの名無しさん
2011/06/06(月) 07:47:06.34追加補足です
実行例:
対象文字列を入力してください(str1):aabcabb
照合文字列を入力してください(syougou):ab
置換文字列を入力してください(chikan):ABC
結果文字列は aABCcABCb です
0179デフォルトの名無しさん
2011/06/06(月) 08:54:37.49#include <string.h>
#include <stdio.h>
#define SIZE 1024
int main(){
char str1[SIZE], str2[SIZE], syougou[SIZE], chikan[SIZE];
char *it1 = str1, *it1_pre = str1, *it2 = str2;
printf("対象文字列を入力してください(str1):");
scanf("%s", str1);
printf("照合文字列を入力してください(syougou):");
scanf("%s", syougou);
printf("置換文字列を入力してください(chikan):");
scanf("%s", chikan);
while (it1 = strstr(it1_pre, syougou)) {
strncpy(it2, it1_pre, it1 - it1_pre);
it2 += it1 - it1_pre;
strcpy(it2, chikan);
it2 += strlen(chikan);
it1_pre = it1 + strlen(syougou);
}
strcpy(it2, it1_pre);
printf("結果文字列は%sです\n",str2);
return 0;
}
0180デフォルトの名無しさん
2011/06/06(月) 11:37:09.78[2]本文
ボウリングのスコアを計算するプログラム
<条件>
・scanfで1投毎のピンを倒した数を入力する。ストライクを出したらそのフレームの二投目は入力しない。 総合スコアを表示する。10フレームとする。
[3] 環境
[3.1]WindowsXP
[3.2]gcc
[3.3]C言語
[4]13時まで
[5]メイン関数一つの中で行いたい。
0181デフォルトの名無しさん
2011/06/06(月) 11:44:42.5710フレーム目はどうしてほしい?
あとマルチ死ね
0182デフォルトの名無しさん
2011/06/06(月) 11:47:28.070183デフォルトの名無しさん
2011/06/06(月) 12:19:53.61http://codepad.org/mwxZzyfK
0184デフォルトの名無しさん
2011/06/06(月) 16:46:59.800185デフォルトの名無しさん
2011/06/06(月) 17:26:53.04唯一の正解はなく、スコアを競う問題を作成して、それを解き競うスレ。
0186デフォルトの名無しさん
2011/06/06(月) 17:42:20.44【C,C++】 ちょっと問題解いて行け 【勉強】
http://hibari.2ch.net/test/read.cgi/tech/1255277760/
ここでやればいいだろ
スレチ死ね
0187デフォルトの名無しさん
2011/06/06(月) 18:20:40.72マイクロソフトビジュアルスタジオ2008
C言語
うるう年を判定するプログラムを作成しなさい
明日まで
お願い致します(T人T*)
0188デフォルトの名無しさん
2011/06/06(月) 18:28:46.02>>1
0189デフォルトの名無しさん
2011/06/06(月) 18:32:46.61[2] 問題文(含コード&リンク):
先手、後手の順番で、x=1,2,3 y=1,2,3の座標の整数値をx yの順番で与えると、その場所に先手ならO、後手なら@を表示して、3目並べを実現するプログラムを作成しなさい。
操作は、先手・後手が交互に座標の数値を1ずつ与えるものとし、入力ミスは考えない。
すでに指定済みの座標かどうかについては判定し、指定済みの座標を入力した場合は、「異常終了」と表示し、プログラムを終了することとする。
この段階では、勝ち負けの判定も行わない。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0190デフォルトの名無しさん
2011/06/06(月) 18:37:14.06#include <stdio.h>
int main()
{
int y;
scanf("%d", &y);
printf("閏年%s\n", y % 400 ? y % 100 ? y % 4 ? "じゃない" : "です" : "じゃない" :"です");
return 0;
}
0191デフォルトの名無しさん
2011/06/06(月) 18:51:39.56#include <stdlib.h>
#include <stdio.h>
enum {SENTE = 'O', KOTE = '@', S = '-'};
int main()
{
char masu[3][3] = {{S, S, S}, {S, S, S}, {S, S, S}};
int i, j, k;
int x, y;
for (i = 0; i < 9; i++) {
scanf("%d%d", &x, &y);
if (masu[x - 1][y - 1] != S) {
fprintf(stderr, "異常終了\n");
return 1;
}
masu[x - 1][y - 1] = i % 2 ? KOTE : SENTE;
for (k = 0; k < 3; k++) {
for (j = 0; j < 3; j++) {
putchar(masu[j][k]);
}
putchar('\n');
}
}
return 0;
}
0192デフォルトの名無しさん
2011/06/06(月) 19:07:53.98[2] 問題文(含コード&リンク):
>>189のシステムを以下のように拡張する。
指定済みの座標を入力した場合、「先手の負け」または「後手の負け」と表示する。
全てのマスが埋まったら、「試合終了」と表示する。
この段階でも、勝ち負けの判定も行わない。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0193デフォルトの名無しさん
2011/06/06(月) 19:22:43.81あー「この段階では、勝ち負けの判定も行わない」の、この段階ってこの問題自体か
まあいいや
http://codepad.org/m7Ko5Iij
0194デフォルトの名無しさん
2011/06/06(月) 21:48:35.18[2] 問題文(含コード&リンク):
ボタンを押して別の外部アプリケーション(.exeファイル)を実行するMFCソフトを作成せよ
[3] 環境
[3.1] OS: win7 64bit
[3.2] コンパイラ名とバージョン:VC2010
[3.3] 言語:C++
[4] 期限: 16日まで
[5] その他の制限: 特にありません。.exeファイルは適当なもので構わないとの事です。
ShellExecute()を用いる事は調べてみて分かったのですがどの様に用いるのかがわからないです。
0195デフォルトの名無しさん
2011/06/06(月) 22:08:34.700196デフォルトの名無しさん
2011/06/06(月) 23:56:12.01完成品のソース、一番シンプルな状態からメニューバーに test.exe を実行する項目追加した
MFCは共有DLLにしてる、ビルドして何か適当な test.exe って名前の実行ファイルを同ディレクトリに放り込めば動作確認できるはず。
パス: 194
ttp://www.rupan.net/uploader/download/1307371152.zip
これだけだと何なので上記ソースの作成手順も
----------メニュー作成手順-------------
1.何でもいいのでウィザードに任せて新規プロジェクト作成
2.リソースファイル(プロジェクト名.rc)を開く
3.リソースファイルのMenu項目の IDR_MAINFRAME に、新たにメニューを追加
※俺の場合だと、ヘルプの右に 外部の実行ファイル(&O) を追加し、
そのサブメニューに test.exe を追加
4.サブメニュー test.exe のIDを分かりやすいIDにしておく
※プロパティの項目ID、俺の場合だと、ID_EXE1
-----------メニューと関数の紐付け手順----------
1.プロジェクト → クラスウィザード
2.クラス名はCXXXViewを選択
3.オブジェクト IDからサブメニュー test.exe のIDを選択
※俺の場合だと、ID_EXE1
4.メッセージは COMMAND を選択
5.ハンドラーの追加 ボタンを押下
-----------処理実装手順--------------------
1.CXXXViewに新たに関数が追加されているはず
※俺の場合は OnExe1
2.その中に ShellExecute(0, 0, L"test.exe", 0, 0, SW_SHOWNORMAL); を記述
メニューと関数の紐付け手順 はクラスウィザード使わない方法もあるけど、使った方が楽かも。
0197196
2011/06/07(火) 00:19:36.940198デフォルトの名無しさん
2011/06/07(火) 00:22:12.11[2] 問題文(含コード&リンク):
10個のデータを配列a[ ]に入力し、直接挿入法を用いて数値を小さい順に並べ替えて表示せよ
[3] 環境
[3.1] OS: win7 64bit
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C++
[4] 期限: 8日
[5] その他の制限:
よろしくお願いします。
0199デフォルトの名無しさん
2011/06/07(火) 01:07:35.54[2] 問題文(含コード&リンク):
>>189のシステムを以下のように拡張する。
指定済みの座標を入力した場合、「先手の負け」または「後手の負け」と表示する。
全てのマスが埋まったら、「試合終了」と表示する。
この段階でも、勝ち負けの判定も行わない。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0200デフォルトの名無しさん
2011/06/07(火) 01:10:38.47#include <stdio.h>
int main(void)
{
int a[10], i, j;
for(i = 0; i < 10; i++) scanf("%d", a + i);
for(i = 1; i < 10; i++) {
int temp = a[i];
for(j = i - 1; j >= 0 && temp < a[j]; j--) a[j + 1] = a[j];
a[j + 1] = temp;
}
for(i = 0; i < 10; i++) printf("%d ", a[i]);
return 0;
}
0201デフォルトの名無しさん
2011/06/07(火) 01:21:20.22http://codepad.org/xOUcfGoD
0202デフォルトの名無しさん
2011/06/07(火) 05:05:18.56ありがとうございます。
すみません、数値をscanfで読み込む形にして貰えますか?
0203デフォルトの名無しさん
2011/06/07(火) 05:18:17.68>>202
0204デフォルトの名無しさん
2011/06/07(火) 05:28:16.81[1] 授業単元:プログラム言語
[2] 問題文:コマンドプロンプト上で名前と
国語、社会、数学、理科、社会の5科目の成績を入力して、
それをバイナリファイルで保存するプログラムを作成せよ。
保存するファイル名はこれらを入力する前、つまり一番最初に入力して
そのファイル名で保存するものとする。
30件の入力があるか、EOFの入力を持って入力を終了するものとする。
また、これとは別に入力して作成されたバイナリファイルを開く
プログラムを作成すること。
sample
保存したいファイル名:student.dat
名前:tanaka
国語:65
社会:80
数学:54
理科:71
英語:48
・
・
・
※30件かEOFの入力を持って終了
プログラムを開くほう
sample
オープンしたいファイル:student.dat
tanakaさんの成績 国語:65点 社会:80点 数学:54点 理科:71点 英語:48点
・
・
・
0205デフォルトの名無しさん
2011/06/07(火) 05:30:33.60[3] 環境
[3.1] OS: Windows 7 Pro
[3.2] コンパイラ名とバージョン: visual studio
[3.3] 言語:C言語
[4] 期限: 2011年6月10日(金)17時まで
[5] その他の制限:fseek関数を使うこと。
よろしくお願いします。
0206デフォルトの名無しさん
2011/06/07(火) 07:41:27.270207デフォルトの名無しさん
2011/06/07(火) 07:54:51.150208デフォルトの名無しさん
2011/06/07(火) 08:01:05.15C言語久しぶりだし
デバッグもしてない
とりあえず書き込むプログラムだけ書いた間違いがあればよろしく
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct Record{
char Name[256];
int Language;
int Social;
int Math;
int Science;
int English;
}Record;
int main()
{
char temp[256] = {'\0'};
FILE *fp;
char *p;
int i;
Record *rec;
printf("保存したいファイル名:");
fgets(temp,sizeof(temp),stdin);
if(p = strchr(temp,'\n'))
*p = '\0';
fp = fopen(temp,"wb");
0209208
2011/06/07(火) 08:02:06.95for(i = 0;i<30;i++){
rec = realloc(rec,sizeof(Record)*(i+1));
printf("名前:");
fgets(temp,sizeof(temp),stdin);
if(p = strchr(temp,'\n'))
*p = '\0';
strcpy(rec[0].Name,temp);
printf("国語:");
fgets(temp,sizeof(temp),stdin);
rec[0].Language = atoi(temp);
printf("社会:");
fgets(temp,sizeof(temp),stdin);
rec[0].Social = atoi(temp);
printf("数学:");
fgets(temp,sizeof(temp),stdin);
rec[0].Math = atoi(temp);
printf("理科:");
fgets(temp,sizeof(temp),stdin);
rec[0].Science = atoi(temp);
printf("英語:");
fgets(temp,sizeof(temp),stdin);
rec[0].English = atoi(temp);
fwrite(&rec[0],sizeof(Record),i+1,fp);
puts("終了する場合はEOF(WindowsならCtrl+z)入力それ以外は何か押してください。");
if(EOF = getchar())
break;
}
fclose(fp);free(rec);return 0;
}
0210デフォルトの名無しさん
2011/06/07(火) 08:07:11.79[2] 問題文(含コード&リンク):
http://www.dotup.org/uploda/www.dotup.org1685520.c
http://www.dotup.org/uploda/www.dotup.org1685521.c
上記2つのプログラムに示すベキ乗計算の関数は動作が異なる。
この動作の違いと仮引数を直接使うことの利便性と危険性について簡単に述べよ。
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: visual studio
[3.3] 言語: c++
[4] 期限: 2011年6月9日10:00
[5] その他の制限: 特になし
おねがいします
0211デフォルトの名無しさん
2011/06/07(火) 08:17:44.09これはプログラム以前のプログラマの性格や精神状態の問題だと
答えておけ
0212デフォルトの名無しさん
2011/06/07(火) 08:22:49.100213すみません。面倒そうなのでお願いしたいのですが...
2011/06/07(火) 08:25:03.76[2] 問題文(含コード&リンク):
GUIアプリケーション
メニューから任意のテキストファイルを読み取る
システム標準フォントとTextOut-APIを用いて、できるだけ小さなポイントで
そのテキストファイルの任意の文字をモノクロビットマップに書き出しそのピクセル
情報を元に、塗られているピクセルをそれがあらわす文字で、塗られていないピクセル
を空白で置き換えたテキストファイルを生成し、適当なファイル名で保存する。
(メッセージボックスでどのファイルで保存したのかを通知すること)
以上の処理を繰り返す。
[3]
[3-1]OS:Windows 7
[3-2]コンパイラ名とバージョン:Microsoft SDK
[3-3]言語:C++ (ただしMFCは使用しないこと)
[4] 期限:7/1まで
[5] その他の制限:UNIXのbannerコマンドに相当するものだそうです。全角・半角の扱いは見栄え良く
やれば任意だそうです。
0214デフォルトの名無しさん
2011/06/07(火) 08:43:47.61http://codepad.org/lJ9upTgV
http://codepad.org/8pODzU5K
0215209
2011/06/07(火) 08:47:22.57for(i = 0;i<30;i++){
rec = realloc(rec,sizeof(Record)*(i+1));
printf("名前:");
fgets(temp,sizeof(temp),stdin);
if(p = strchr(temp,'\n'))
*p = '\0';
strcpy(rec[i].Name,temp);
printf("国語:");
fgets(temp,sizeof(temp),stdin);
rec[i].Language = atoi(temp);
printf("社会:");
fgets(temp,sizeof(temp),stdin);
rec[i].Social = atoi(temp);
printf("数学:");
fgets(temp,sizeof(temp),stdin);
rec[i].Math = atoi(temp);
printf("理科:");
fgets(temp,sizeof(temp),stdin);
rec[i].Science = atoi(temp);
printf("英語:");
fgets(temp,sizeof(temp),stdin);
rec[i].English = atoi(temp);
puts("終了する場合はEOF(WindowsならCtrl+z)入力それ以外は何か押してください。");
if(EOF = getchar()) break;
getchar();
}
fwrite(rec,sizeof(Record),i+1,fp);
fclose(fp);free(rec);return 0;
}
0216デフォルトの名無しさん
2011/06/07(火) 08:47:58.58noが負でも対応しようとして失敗してるんじゃね?
0217デフォルトの名無しさん
2011/06/07(火) 08:48:58.10コードを短く書くことは、見通しを良くするので、旨くいけば美文として
すごく褒められるけど、
修正しにくくしたり、特に結果的に誤った場合はこっぴどくけなされるね
ま、要するに際どい技術というわけだ
0218デフォルトの名無しさん
2011/06/07(火) 09:01:58.53違い:
dxのno乗を返す: 正しく動作しない。
dxのno乗を返す(第2版): 正しく動作する。
理由 両方とも不要な割り算が記述されているが、第2版では2つ目のwhileは条件が
成立しないために実行されずに、正しく動作する。
仮引数を直接使うことの利便性と危険性:
利便性: 不要な変数宣言を書かずに済む。メモリ使用量も少なくなる。
危険性: Cは値渡しなので全くない。
例えば第2版を仮引数を直接使わない↓のように変更しても動作は同一である。
double power(double dx, int no_)
{
int no = no_;
0219デフォルトの名無しさん
2011/06/07(火) 09:07:03.08多分うっかり引数を変更したことを忘れて使っちゃう可能性だろうか
0220デフォルトの名無しさん
2011/06/07(火) 09:07:36.27両方正しく動作しねーよ
これ書いた奴どんなアホだよ
0221デフォルトの名無しさん
2011/06/07(火) 09:14:24.85そりゃ、カレーの香りがする奴を食べたら実はウンコだったら
怨念と憎悪がするのは当たり前だ(最大限ガードを甘く
している状態に強烈なカウンターだからね)w
0222デフォルトの名無しさん
2011/06/07(火) 10:20:37.770223デフォルトの名無しさん
2011/06/07(火) 10:39:09.80no >= 0なら正しく動くだろ。
0224デフォルトの名無しさん
2011/06/07(火) 10:40:20.27それは引数に限らず変数でも起こる危険性。
0225デフォルトの名無しさん
2011/06/07(火) 13:43:58.84[2] 問題文(含コード&リンク):下記に記載
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2011/6/10
国語と数学の2科目のテストの成績を処理するプログラムを作る。成績を3人分キーボードから入力した後、それを表示したい。これについて、次の手順でkadai8-1.cを作成しなさい。
1)次の構造体を利用する。
struct SEISEKI {
char name[50];
int kokugo;
int sugaku;
}
2) 次の配列を用意する。
struct SEISEKI score[3];
3) main関数で上記score[3]に次のようにデータをキーボード入力するようにする。
scanf("%s %d %d %s %d %d %s %d %d", 一人目の氏名, 一人目の国語の成績, 一人目の数学の成績, 二人目の氏名, 二人目の国語の成績,....);
ex. 入力例:
yamauchi 60 70 yamada 80 90 tougou 70 80
4)次の関数を定義する。
void print_score(struct SEISEKI a);
この関数は次のように成績を出力するものとする。
printf(" name: %s\n kokugo: %d\n sugaku: %d\n", ........);
表示例:
name: yamauchi
kokugo: 60
sugaku: 70
5) void print_score()を使って3人分の成績を列挙する。
よろしくお願いします。
0226デフォルトの名無しさん
2011/06/07(火) 13:48:59.01[2] 問題文(含コード&リンク):下記に記載
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2011/6/10
>>255のプログラムにそれぞれの成績がborderlineで表される成績を上回っているか否かを判定して、構造体のメンバーであるkokugo_gokakuおよびsugaku_gokakuに1(合格の意味)もしくは0(不合格の意味)の値を代入する関数
void check_score(int borderline, struct SEISEKI *a) /* 引数aの前に'*'が付いていることに注意されたい */
を定義して、その動作を確認するプログラムkadai8-2.cを作りなさい。
但し、ボーダーラインは60点とする。
1) 問1の構造体を拡張して以下を使う。
struct SEISEKI {
char name[50];
int kokugo;
int sugaku;
int kokugo_gokaku;
int sugaku_gokaku;
}
0227デフォルトの名無しさん
2011/06/07(火) 14:31:11.360228デフォルトの名無しさん
2011/06/07(火) 15:13:25.240229デフォルトの名無しさん
2011/06/07(火) 17:37:38.45[1] 授業単元:プログラミング
[2] 問題文:ニュートン・コーツの2点、3点、4点、5点公式を用いて
∫f(x)dx=∫(x^3+sin(πx))dx (範囲は両辺とも0〜2)
を計算するプログラムを作成しなさい。
[3] 環境[3.1] OS:Windows7?
[3.2] すいません、わかりません。
[3.3] 言語:C言語
[4] 期限:2011年6月8日 AM10:00 まで
よろしくお願いします!
0230229の追記です
2011/06/07(火) 17:47:58.29厳密解
∫f(x)dx=∫(x^3+sin(πx))dx=[(x^4/4ー1/π)cos(πx)]=4,0
範囲はすべて0〜2です。
よろしくお願いします。
0232デフォルトの名無しさん
2011/06/07(火) 20:23:12.12[2] 問題文(含コード&リンク):
>>189のシステムを以下のように拡張する。
指定済みの座標を入力した場合、「先手の負け」または「後手の負け」と表示する。
全てのマスが埋まったら、「試合終了」と表示する。
この段階でも、勝ち負けの判定も行わない。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0233デフォルトの名無しさん
2011/06/07(火) 20:28:02.11いつ提出するんだよww
0234デフォルトの名無しさん
2011/06/07(火) 20:32:21.91間違えたわ
明日だった
スマソ
0235デフォルトの名無しさん
2011/06/07(火) 21:20:34.04[2] 問題文(含コード&リンク):
キーボードから西暦を表す4桁の数字を数値として読み込み、閏年かどうか判定する。
入力された西暦年が1000年以上4000年いかでなければ、その旨を指示してプログラムを終了する。
閏年の条件:4で割り切れるが100で割り切れない年を閏年とする。ただし400で割り切れる年を閏年とする。
それ以外の年は平年とする。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: わかりません
[3.3] 言語: C言語
[4] 期限: 2011年6月7日26:00
[5] その他の制限: 特になし
0236デフォルトの名無しさん
2011/06/07(火) 22:30:52.22#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int year;
printf("西暦を入力(1000 〜 4000) : ");
scanf("%d", &year);
if (!(year >= 1000 && year <= 4000)) {
printf("西暦は1000 〜 4000年を入力して下さい。\n");
exit(1);
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
printf("%d年は閏年です。\n", year);
else
printf("%d年は平年です。\n", year);
return 0;
}
0237デフォルトの名無しさん
2011/06/07(火) 23:15:53.14[2] 問題文(含コード&リンク):
>>191のシステムを以下のように拡張する。
指定済みの座標を入力した場合、「先手の負け」または「後手の負け」と表示する。
全てのマスが埋まったら、「試合終了」と表示する。
この段階でも、勝ち負けの判定も行わない。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0238デフォルトの名無しさん
2011/06/07(火) 23:47:53.8823:15で今日までって
0239デフォルトの名無しさん
2011/06/07(火) 23:49:09.68[2] 問題文(含コード&リンク):
整数Nとしたとき、素数をN個リストアップするプログラムを作成しなさい。
※実行にあたり、Nの値を小さな値から慎重に変化させ、結果とプログラム動作の変化に注意すること
※N=1としたとき、答えは1ではありません
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0240デフォルトの名無しさん
2011/06/08(水) 00:01:17.67修正部分だけ
//fprintf(stderr, "異常終了\n");
printf("%s\n",i % 2? "後手の負け":"先手の負け");
・
・
・
printf("試合終了\n");
return 0;
}
0241デフォルトの名無しさん
2011/06/08(水) 00:36:02.70#include <stdio.h>
int main(void)
{
int i, n, s[100] = {2}, nn = s[0] + 1;
printf("N = ");
scanf("%d", &n);
while (n - 1) {
for (i = 0; s[i] && (nn % s[i]); i++);
if (!s[i]) {
s[i] = nn;
n--;
}
nn++;
} for (i = 0; s[i]; i++)
printf("%d ", s[i]);
return 0;
}
0242デフォルトの名無しさん
2011/06/08(水) 00:50:04.92[1] 授業単元:プログラミング
[2] 問題文:ニュートン・コーツの2点、3点、4点、5点公式を用いて
∫f(x)dx=∫(x^3+sin(πx))dx (範囲は両辺と 0〜2)
を計算するプログラムを作成しなさい
※厳密解 ∫f(x)dx=∫(x^3+sin(πx))dx=[(x^4/4ー1/ π)cos(πx)]=4,0
範囲はすべて0〜2です
[3] 環境[3.1] OS:Windows7?
[3.2] すいません、わかりません
[3.3] 言語:C言語
[4] 期限:2011年6月8日 AM10:00
0243デフォルトの名無しさん
2011/06/08(水) 01:37:30.33できたけどしつこい奴のようなので貼るのは止めよう
0244デフォルトの名無しさん
2011/06/08(水) 01:41:55.43N=3〜5は何だ?
0245デフォルトの名無しさん
2011/06/08(水) 02:11:05.42http://codepad.org/tUKVDJeA
0246デフォルトの名無しさん
2011/06/08(水) 02:29:27.99すいません。
>>244
n=2→台形則
n=3→シンプソン第一則
n=4→シンプソン第二則
n=5→書いてありません
>>245
ありがとうございます。
他の方のプログラミングも見たいです。よろしくお願いします。
0247デフォルトの名無しさん
2011/06/08(水) 02:32:33.840248デフォルトの名無しさん
2011/06/08(水) 03:05:31.91しかし>>245が短くてワロタ
俺の作っていた奴は長くなった
0249デフォルトの名無しさん
2011/06/08(水) 03:09:04.36[2]次のコードを並べ替えて正しく動作するようにしなさい。
return power(a,b+1)/a;
static double power(double a,int b){
sscanf(input,(isDouble)?"%lf":"%d",(isDouble)?&result.doubleValue:&result.intValue);
printf("%s",msg);
ret=readConsole("b=",0);
ret=readConsole("a=",1);
}
static char input[128];
return_value result;
}while(ret.doubleValue<0.0);
}
if(b==0)return 1.0;
int main(void){
return 0;
return result;
int intValue;
printf("a^b=%16.15lf\n",power(ret.doubleValue,ret.intValue));
double doubleValue;
return_value ret;
typedef union{
static return_value readConsole(char *msg,int isDouble){
#include <stdio.h>
if(b>0)return power(a,b-1)*a;
fgets(input,128,stdin);
}return_value;
}
do{
[3] Mac OSX 10.5/XCode/C
[4] 6/8 正午まで
[5]ゼミの課題です。この手の問題は苦手です。
0250デフォルトの名無しさん
2011/06/08(水) 03:13:59.56http://fussy.web.fc2.com/algo/algo10-9.htm
から黙って借用したのでコピーライトかどうかは知らん
手元に科学技術計算ハンドブックがあるが定数が小数で書いてあるので
汚くなるからこっちを使った
http://codepad.org/ynoKj2Mp
0251デフォルトの名無しさん
2011/06/08(水) 03:14:48.690252デフォルトの名無しさん
2011/06/08(水) 03:23:13.66[2] 問題文(含コード&リンク):
以下のプログラム(http://ideone.com/RzU5e)は値を3倍し、また画像サイズを変えてコピーする時間を測定するというものです。
測定方法はgcc -Wall -o2 -DCSQ(DCIP) ファイル名でコンパイルし、time a.outで消費時間を測定しました。
画像サイズは10,20,50,100,200,500,1000,2000,5000,10000と変えていきました。
(1)CSQとCIP形式ではなぜ違いが出るのか?
(2)ループの順番を最も内側(k)のfor文を一番外側に移動(k,i,j)した場合はなぜ違いが出るのか?
(3)ポインタを利用したコピーではなぜ違いが出るのか?
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限:6月9日12時まで
[5] CSQとCIPの違いだけでも教えて頂ければ幸いです。
0253デフォルトの名無しさん
2011/06/08(水) 03:30:26.22http://codepad.org/g9SiTf7q
0255デフォルトの名無しさん
2011/06/08(水) 06:58:26.62この問題は正しく動作しない
一つの union 変数に実数と整数を代入してるから実数が上書きされて誤った答えとなる
0256253
2011/06/08(水) 07:54:10.37いわれてみればそのとおりですね。書き直しておきましょうか。
http://codepad.org/aJ6zANlq
0257246
2011/06/08(水) 09:06:52.740258デフォルトの名無しさん
2011/06/08(水) 11:08:27.180259デフォルトの名無しさん
2011/06/08(水) 11:23:48.11(1):CIPは同じセクタに書き込んだ回数分書き込みをするから遅い。1セクタが512バイトなら1バイト書き込む度に512バイト書き込まれる。
(2):不連続なメモリアクセスはキャッシュミスでペナルティが発生して遅くなる。
(3):ポインタの場合アドレスの算出が必要ないのと繰り返し少ない分早いとかそんなのかと。
0260デフォルトの名無しさん
2011/06/08(水) 11:35:25.61struct SEISEKI
{
char name[50];
int kokugo;
int sugaku;
int kokugo_gokaku;
int sugaku_gokaku;
};
void print_score(struct SEISEKI a)
{
printf(" name: %s\n kokugo: %d\n sugaku: %d\n", a.name, a.kokugo, a.sugaku);
return;
}
void check_score(int borderline, struct SEISEKI *a)
{
a->kokugo > borderline ? a->kokugo_gokaku = 1 : a->kokugo_gokaku = 0;
a->sugaku > borderline ? a->sugaku_gokaku = 1 : a->sugaku_gokaku = 0;
return;
}
int main(void)
{
int i;
struct SEISEKI score[3];
scanf("%s %d %d %s %d %d %s %d %d", &score[0].name, &score[0].kokugo, &score[0].sugaku, &score[1].name, &score[1].kokugo, &score[1].sugaku, &score[2].name, &score[2].kokugo, &score[2].sugaku);
for (i = 0; i < 3; ++i)
{
check_score(60, &score[i]);
print_score(score[i]);
}
return 0;
}
0261デフォルトの名無しさん
2011/06/08(水) 11:41:55.56http://codepad.org/cDfzNc9I
0262デフォルトの名無しさん
2011/06/08(水) 15:23:58.98[2] 問題文:
構造体trinagleを typedef struct{
double x,y;
} Point;
typedey struct{
Point p1,p2,p3;
} Trinagle;
とする。
構造体の構成要素は3つの頂点のx座標、y座標をメンバとして持つ構造体Pointである。
任意の三角形の面積、その三角形を適当な2×2行列で線形変換した結果の三角形の座
標とその面積、任意の二つの三角形が合同かどうかを表示するプログラムを作りなさい。
[3] 環境
[3.1] windows7
[3.2] gcc
[3.3] C
[4] 期限:明日の午後4時まで
[5] 特になし
0263デフォルトの名無しさん
2011/06/08(水) 15:29:12.24書ききれなかったので補足です。
1つのTriangle構造体の変数を引数としてその構造体が表す関数、1つのTriangle構造体の変数と、
double型の2次元配列(2×2行列A)を引数として引数で与えた三角形を行列Aによって線形変換した後
の三角形(Triangle構造体)を返す関数、2つのTriangle構造体の変数を引数としてその構造体が
合同であれば1、合同でなければ0を返す関数を作成してください。
よろしくお願いします。
0264デフォルトの名無しさん
2011/06/08(水) 17:12:13.22[2] 問題文(含コード&リンク):
ファイルlist0602_03.txtを読み込み、1行30文字に整形してファイル出力するプログラムkadai03.cを作成せよ。
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:cygwin gcc-o
[3.3] 言語: C
[4] 期限:出来れば本日中に
[5] その他の制限:
list0602_03.txt
http://www.dotup.org/uploda/www.dotup.org1686822.txt
構造体とポインタを習い始めたばかりです
他の問題ですが今の授業のレベルは↓くらいなので合わせてもらえると助かります
http://codepad.org/rTVuvjx6
0265デフォルトの名無しさん
2011/06/08(水) 18:06:17.57http://codepad.org/msk7jwLO
0266デフォルトの名無しさん
2011/06/08(水) 18:36:01.78265さんありがとうございますm(_ _)m
0267デフォルトの名無しさん
2011/06/08(水) 20:18:31.67#include <stdio.h>
#include <stdlib.h>
int main()
{
int output_count;
int c;
FILE *fp;
if ((fp = fopen("list0602_03.txt", "r")) == NULL) {
printf("ファイルを開けませんでした。");
exit(1);
}
output_count = 0;
while ((c = fgetc(fp)) != EOF) {
if (c != '\n') {
putchar(c);
output_count++;
if (output_count >= 30) {
putchar('\n');
output_count = 0;
}
}
}
fclose(fp);
return 0;
}
0268デフォルトの名無しさん
2011/06/08(水) 20:38:10.55ありがとうございます
0269デフォルトの名無しさん
2011/06/08(水) 22:12:11.70[1] 授業単元:Cプログラミング
[2] 問題文:2つの正の整数値を入力させ四則演算の結果を表示させる。
[3] 環境[3.1] OS:Windows
[3.2]
[3.3] 言語:C言語
[4] 期限:今日の24:00までです。
よろしくお願いします。
0270デフォルトの名無しさん
2011/06/08(水) 22:18:50.80[2] 問題文(含コード&リンク):
要素数10の整数型配列を作成し、初期化の時に10個の任意の数値を代入して置く。
1つの整数を入力させ、その整数が、配列の中に何個あるか、または、存在しないかを表示するプログラムを作成しなさい。
例:配列が{9, 1, 2, 3, 4, 5, 6, 7, 8, 9}のとき
1を入力したら、「1個あります」→終了
9を入力したら、「2個あります」→終了
10を入力したら、「存在しません」→終了
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0271デフォルトの名無しさん
2011/06/08(水) 22:38:24.31[4] 期限:明日まで
0272デフォルトの名無しさん
2011/06/08(水) 23:06:05.77ttp://ideone.com/ppgIq
0273デフォルトの名無しさん
2011/06/08(水) 23:41:34.86[2] 問題文(含コード&リンク):
入力された整数値の絶対値を求める関数abs()を作成する。
�@「処理概要」入力された整数値の絶対値を求める関数abs()を呼び出し、戻り値を出力する。
「呼び出し形式」int main(void)
�A「処理概要」引数で受け取った値の絶対値を返す。
「呼び出し形式」int abs (int dat)
[3] 環境
[3.1] OS:unix
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C言語
[4] 期限:6/9 9:00まで。
0274デフォルトの名無しさん
2011/06/08(水) 23:47:02.28#include <stdio.h>
int abs(int dat)
{
return (dat < 0) ? -dat : dat;
}
int main()
{
int n;
printf("正数値を入力: ");
scanf("%d", &n);
printf("|%d| = %d", n, abs(n));
return 0;
}
0275デフォルトの名無しさん
2011/06/09(木) 00:08:18.01ありがとうございます。
0276デフォルトの名無しさん
2011/06/09(木) 00:09:42.38[2] 問題文(含コード&リンク):得られた実験データを近似関数で表す
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: なし
[5] その他の制限:特に無し
http://ideone.com/xMqLt
関数を使ってループをさせているのですが、約二万回のループをすると
Segmentation faultになってしまいます
このループを100万回ほどさせたいのですが、Segmentation faultを回避する方法はありますか?
0277デフォルトの名無しさん
2011/06/09(木) 00:20:12.31[2] 問題文(含コード&リンク):
入力する値は0以上の整数とし、下記の動作するプログラムを作成しなさい。
要素数10の整数型配列を作成し、入力された0以外の数値のうち、これまで入力されていない値だけを追加、記憶させる。
追加登録を行った場合には、現在何個の数値が記憶されているかを表示させる。
0が入力された場合、または10個の値の登録が完了した場合は、記憶している全ての情報を表示して、プログラムを終了させる。
例:5 例:1
1個登録 1個登録
5 2
既に登録あり 2個登録
3 …
2個登録 10
0 10個登録
[5 3]を登録しました 登録上限に到達
[1 2 3 4 5 6 7 8 9 10]
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0278デフォルトの名無しさん
2011/06/09(木) 00:40:51.38それ宿題依頼じゃなくプログラムのバグつぶしじゃないのか?
0279デフォルトの名無しさん
2011/06/09(木) 00:44:30.45どのループ?
0280デフォルトの名無しさん
2011/06/09(木) 00:54:45.46ぱっと見だけど、スタックが足りなくなってるんだと思う、
んで、スタックサイズ何だけど、オプション指定しないとデフォルトで1MBだったはず、
calculateは良いとして、
randamu と judgeが循環参照の再帰呼び出しになってて、
randamuは272byte、judgeは300byteのスタックサイズが必要、
1ループで572byte+α、100万回ループで572MB+αのスタックサイズが必要な計算。
ソースを未修正で実行させないなら、
コンパイルする時にスタックサイズを下記の様に指定して上げればいけるはず
※ちなみにスタックサイズのデフォルトは1MBだったはず
gcc -Wl,--stack,600000000 hoge.cpp
↑は、hoge.cppをスタックサイズ600MB割り当ててコンパイルしている。
もしくは再帰ループをやめて普通のループに直すか。
0281280
2011/06/09(木) 00:55:35.290282280
2011/06/09(木) 00:58:39.770283デフォルトの名無しさん
2011/06/09(木) 00:59:07.44あーやっぱそうですよね、ごめんなさい
>>279
randam→judge→randam→jugde→・・・
のループです
>>280
スタックサイズ?そんな概念があったのですか。
ヒントを元にコンパイルしてみます
ありがとうございました
0284デフォルトの名無しさん
2011/06/09(木) 01:16:33.69同じく 21831 回でセグフォしました @ Mac OS X 64bit
ulimit -s unlimited したら 174738 回まで行けたよw
ソースコードきちんと読んでないけど、再帰をループに書き直すのが吉と思われます
0285デフォルトの名無しさん
2011/06/09(木) 01:20:52.42よくわからんのですが、gcc -Wl,--stack,600000000 hoge.cpp でコンパイルが
できなかったのでググッてみたのですが
>> Ubuntuでは(というかLinux全般、もしかしたらFreeBSDも?)そもそもldに
>> --stackオプションを与えても「そんなオプションは知らん」と言ってきます。
んで、コンパイル後に
ulimit -s ,600000000
と打ち込んで実行したところ動きました
0286デフォルトの名無しさん
2011/06/09(木) 01:32:50.50>よくわからんのですが
関数を呼び出すごとに、メモリ上のスタック領域に関数の引数やローカル変数を
書き込んで行って、関数が終了する度にそれを解放して行きます。
関数の中で関数を読んで、更にまた関数を呼ぶというプログラムを書くと、
スタック領域のデータが解放されずにどんどん溜まって行きます。最終的には
スタック領域がいっぱいになって、プロセスが異常終了以上乙でした状態に
なってしまいます。
judge() も randomu() も自分の仕事が終わったら return する様にして、
main() の中で for とか while でループを作って judge() や randomu() を
呼び出す様にすると解決出来ると思います。
0287デフォルトの名無しさん
2011/06/09(木) 01:35:27.70詳しい説明ありがとうございます。
基礎から勉強しなおします。
0288デフォルトの名無しさん
2011/06/09(木) 02:24:06.89http://chopapp.com/#wav5r130
0289デフォルトの名無しさん
2011/06/09(木) 10:18:41.650290デフォルトの名無しさん
2011/06/09(木) 10:24:45.79僕は罵倒と煽りが趣味なんですがねぇ。
マジどうなるんすかねぇ^^;
やっぱり、ここの住民の抱腹は叩きじゃなくて
個人情報ばらまいたり、PCぶっ壊したりしちゃうんですか?
0291デフォルトの名無しさん
2011/06/09(木) 10:26:43.280292デフォルトの名無しさん
2011/06/09(木) 10:41:44.08あまりの哀れさに、涙が止まらない
0293デフォルトの名無しさん
2011/06/09(木) 10:46:20.13お願いします。
0294デフォルトの名無しさん
2011/06/09(木) 10:57:35.76int main(void)
{
int n;
scanf("%d", &n);
switch(n % 2) {
case 0 : printf("偶数\n"); break;
case 1 : printf("奇数\n"); break;
}
return 0;
}
0295デフォルトの名無しさん
2011/06/09(木) 11:02:24.77もうひとつお願いします。
switch文で60より下なら不可、60〜69なら可、70〜79まで良、80〜100まで優という成績判定プログラムを作成しなさい。
お願いします。
0296デフォルトの名無しさん
2011/06/09(木) 11:04:11.25[2] 問題文(含コード&リンク): 中心座標(1.0 , 2.5)、半径 5.0 の円軌道上に存在する全ての x,y 座標を ”circle.csv”へ出力せよ。
尚、ラジアンの刻み幅は 0.01 ,π= 3.14 とする。また、csvファイルをExcelで開き、グラフで図形を確認すること。
X=5.0 * Sin(rad) + 1.0
Y=5 * Cos(rad) + 2.5
[ 0 ≦ rad < 2π ]
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 6月15日09:00まで
[5] その他の制限: ありません。
0297デフォルトの名無しさん
2011/06/09(木) 12:32:31.14#include <stdlib.h>
#include <math.h>
#define PI 3.14
int main()
{
double rad;
FILE * fp;
if (!(fp = fopen("circle.csv", "w"))) {
fprintf(stderr, "error\n");
return 0;
}
for (rad = 0; rad < 2.0 * PI; rad += 0.01) {
fprintf(fp, "%f, %f\n", 5.0 * sin(rad) + 1.0, 5 * cos(rad) * 2.5);
}
fclose(fp);
return 0;
}
0298デフォルトの名無しさん
2011/06/09(木) 12:35:27.59それは本当にswitch文でいいのか
0299デフォルトの名無しさん
2011/06/09(木) 12:35:28.510300デフォルトの名無しさん
2011/06/09(木) 12:36:05.62http://codepad.org/Wwcygo40
0301デフォルトの名無しさん
2011/06/09(木) 12:46:07.97とり得る値の数だけ case 列挙する以外だと
条件式非成立で 0 とそれ以外の分岐を switch のネストで記述するぐらいかね?
switch (点数 <= 60) {
case 0:
switch (点数 <= 69) {
case 0:
switch (点数 <= 79) {
・・・ 以下続く
}
default:
/* 可*/
}
break;
default:
/* 不可*/
}
0302デフォルトの名無しさん
2011/06/09(木) 12:54:31.860303デフォルトの名無しさん
2011/06/09(木) 13:01:15.45これならどうだろ。
switch (n / 10) {
case 6:
printf("可¥n");
break;
case 7:
printf("良¥n");
break;
case 8:
printf("優¥n");
break;
case 9:
printf("優¥n");
break;
case 10:
printf("優¥n");
break;
default:
printf("不可¥n");
break;
0304デフォルトの名無しさん
2011/06/09(木) 13:10:17.89優三つはまとめなよwwwww
問題の範囲外ではあるが1−100以外の点数を考えるとやっぱりswitch向きじゃないよなこの問題
0305デフォルトの名無しさん
2011/06/09(木) 13:18:27.95>>300
素早い回答ありがとうございます!
0306デフォルトの名無しさん
2011/06/09(木) 13:24:51.28学歴は脱糞高等学校主席(後ろから数えて)卒業。
趣味は脱糞と自慰行為。
好きな番組はテレフォンショッピング。
好きなサイトはカリビアンコム。
とある掲示板にて、プログラミングするには、
言語を勉強しないといけないと聞いたので、何言語を学べばいいか聞くと
「中国語」だと言ってました。本当ですか?
しかし、このスレを見ると英語に見えるんですがねぇ^^;
これは僕に対する、皆さんによる釣り行為ですかねぇ^^;
僕はこんな釣りに釣られるような馬鹿じゃないんですがねぇ。
おちょくってるんですか?なめんなよコラ^-^;
0307デフォルトの名無しさん
2011/06/09(木) 13:29:29.30スクリプトでcase 0から100まで生成するかなあw
0308デフォルトの名無しさん
2011/06/09(木) 13:36:00.14奇数/偶数判定との対比で switch に向いた条件付けって何だろう と考えさせる為の問題だったらすごいな
0309デフォルトの名無しさん
2011/06/09(木) 13:40:41.280310デフォルトの名無しさん
2011/06/09(木) 13:43:38.81余裕だな。
俺からすれば余裕
マスターするのに15年程度のレベル
0311デフォルトの名無しさん
2011/06/09(木) 13:47:32.40全部のcase書いて、breakの位置で処理分けするのが目的な気がする。
0312デフォルトの名無しさん
2011/06/09(木) 13:50:14.67もっと点数を減らすとか、アルファベットとかのほうが適当なはず
0313デフォルトの名無しさん
2011/06/09(木) 14:04:37.31[2] 問題文(含コード&リンク): ファイル ”test.txt”から文字列を読み込み、並びを逆にしてファイル ”sample.txt”に出力するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 6月16日12:00まで
[5] その他の制限: ”test.txt”の中身は ”Abcde1Fghij2Klmno3Pqrst4”です。
0314デフォルトの名無しさん
2011/06/09(木) 14:04:44.83case 0:
case 1:
case 2:
case 3:
case 4:
case 5: return "不可";
case 6: return "可";
case 7:return "良";
case 8:
case 9:
case 10: return "優";
default:
return "氏ね";
}
0315デフォルトの名無しさん
2011/06/09(木) 14:05:43.06課題なんだし。
0316デフォルトの名無しさん
2011/06/09(木) 14:53:21.35{
case 0: puts("不可"); break;
case 1: puts("可"); break;
case 2: puts("良"); break;
case 3: puts("優"); break;
default: puts("未定義"); break;
}
0317デフォルトの名無しさん
2011/06/09(木) 15:21:19.01http://codepad.org/xukGjotr
0318デフォルトの名無しさん
2011/06/09(木) 16:14:18.92題意を満たしてなくね?
最後の出力が
[1 2 3 4 5 6 7 8 9 10 2147344384 10 1 4199032 5457731 1245112 851035066 1 153598
64 15510096 18 ]
となってしまう
0319デフォルトの名無しさん
2011/06/09(木) 16:27:36.13http://codepad.org/ezndsXqx
これでちゃんと動くと思う
>>288
ちゃんとデバッグしとけよ
0320デフォルトの名無しさん
2011/06/09(木) 16:29:40.05http://codepad.org/nIBolbdN
「登録上限に到達」が表示されなかった
0321デフォルトの名無しさん
2011/06/09(木) 16:32:30.92C99で書かれているから for (double rad = の部分がコンパイルエラーになるんだが
VS2010 Cモード
0322デフォルトの名無しさん
2011/06/09(木) 16:37:06.82これも
for ( int i = の所でコンパイルエラー
VS2010 Cモード
0323デフォルトの名無しさん
2011/06/09(木) 16:55:35.89#include <stdio.h>
int main(void)
{
int i, j, n, a[10];
for( i = 0; ; ) {
scanf("%d", &n);
if(n == 0) {
if(i) {
printf("[%d", a[0]);
for(j = 1; j < i; j++) printf(" %d", a[j]);
printf("]を登録\n"); }
break; }
for(j = 0; j < i; j++) if(a[j] == n) {
printf("既に登録あり\n");
goto L;}
a[i++] = n;
printf("%d個登録\n", i);
if(i == 10) {
printf("\t登録上限に到達\n[%d", a[0]);
for(j = 1; j < i; j++) printf(" %d", a[j]);
printf("]\n");
break; }
L:;}
return 0;
}
0324デフォルトの名無しさん
2011/06/09(木) 19:51:07.73すげぇ。おもしれぇコードだな
0326デフォルトの名無しさん
2011/06/09(木) 20:09:23.460327デフォルトの名無しさん
2011/06/09(木) 20:11:12.99いまさらどうした?
0328デフォルトの名無しさん
2011/06/09(木) 20:17:54.75メモリリーク
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0329デフォルトの名無しさん
2011/06/09(木) 20:18:53.28死ね
0330デフォルトの名無しさん
2011/06/09(木) 20:21:09.60恥ずかしげもなくまたつけて解答者面かよw
自分に有利なルールにしたあげく、それすら守れないって根っからのクズだな
0331デフォルトの名無しさん
2011/06/09(木) 20:22:15.340332デフォルトの名無しさん
2011/06/09(木) 20:35:24.00malloc()/free() を使っていないのにメモリーリークとはこれいかに?
配列は使いませんでした。ごめんなさい。
C: http://codepad.org/fBP8wSHR
C++: http://codepad.org/AGDFXZF2
Java: http://ideone.com/fXHSh
0335デフォルトの名無しさん
2011/06/09(木) 21:57:39.74sbrk呼んでる。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0336デフォルトの名無しさん
2011/06/09(木) 22:09:11.88それはmalloc()/free() 信者の基準でも、あなたの普通のコーディング時の基準でもなく、単にあなたが反証のために勝手に例示しただけの、私も相手にしていないところの、どうでもいい基準ですね。
それと、これは純粋な質問ですが、
今、K&R2 の 8.7 を見ていますが、sbrk() は malloc()/morecore() の中でしか呼び出されてないようですよ。それとも、普通はスタートアップで予備的にあらかじめ sbrk() を呼ぶものなんでしょうか?
0338デフォルトの名無しさん
2011/06/09(木) 22:19:31.54さすが基地、題意完全無視
0339デフォルトの名無しさん
2011/06/09(木) 22:22:52.40・明示/暗黙を問わず、確保したメモリはプログラム終了前に必ず開放する事。
これがてめーが従うべきルールだ。これを守れない回答は許さない。
> 今、K&R2 の 8.7 を見ていますが、sbrk() は malloc()/morecore() の中でしか呼び出されてないようですよ。それとも、普通はスタートアップで予備的にあらかじめ sbrk() を呼ぶものなんでしょうか?
バカ丸出しだな。直接呼んでねーmalloc(sbrk)はカンケーねーとでも言う気なのだろうか?
おかしいですね。勝者であるあなたのルール(dangling pointer が発生しさえしなければ free() しなくてもいい)ならば喜んで従いますが(そのほーが楽だし)、あなたも守っていないルールを守る筋は、たとえ宗教論争に負けたとしてもないと思いますがね。
それはそうと、もう一度質問しますね。
スタートアップで予備的にあらかじめ sbrk() を呼ぶものなんでしょうか?
0341デフォルトの名無しさん
2011/06/09(木) 22:31:11.631] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
整数aとbを入力すると、mylife.txt という名前のファイルを作り、その中にa+bの計算結果を記録する処理と、
続いてそのファイルを開いてデータを読み込み、ディスプレイ上に表示する処理をするプログラムを作りなさい。
(実行後mylife.txt の中身は
126
とだけ書かれている)
http://uproda.2ch-library.com/387865yc9/lib387865.jpg
実行例です。
http://uproda.2ch-library.com/387863Wqm/lib387863.jpg
ここまで出来て居ます
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:c++
[4] 期限: 明日の10時まで
[5] その他の制限
http://uproda.2ch-library.com/387863Wqm/lib387863.jpg
こんな感じのプログラムでお願いしたいです。
0342デフォルトの名無しさん
2011/06/09(木) 22:39:12.51[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
学籍番号(整数)、身長(実数)、体重(実数)を入力すると、meibo.txt という名前のファイルを作り、その中に学籍番号、身長、体重を記録する処理と、
続いてそのファイルを開いてデータを読み込み、指定した番号の人のデータを以下のように表示する処理をするプログラムを作りなさい。
(実行後meibo.txt の中身は
1
168.000000
55.000000
2
170.000000
66.000000
3
158.000000
45.000000
と書かれている)
実行例です
http://uproda.2ch-library.com/387866eaw/lib387866.jpg
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:c++
[4] 期限: 明日の10時まで
[5] その他の制限
http://uproda.2ch-library.com/387863Wqm/lib387863.jpg
違う問題ですが、このプログラム例と似た感じのプログラムでお願いいたします・・(´・ω・`)
0343デフォルトの名無しさん
2011/06/09(木) 22:41:05.42アヘン戦争にまけた秦は勝者が押し付けたルールに従ったよな。敗者っていうのはそういうもんだ。
> おかしいですね。勝者であるあなたのルール(dangling pointer が発生しさえしなければ free() しなくてもいい)ならば喜んで従いますが(そのほーが楽だし)、あなたも守っていないルールを守る筋は、たとえ宗教論争に負けたとしてもないと思いますがね。
言質取ったぞ。stdioなどのライブラリが確保したメモリもきちんと解放しろよ。大変だな。www
> それはそうと、もう一度質問しますね。
> スタートアップで予備的にあらかじめ sbrk() を呼ぶものなんでしょうか?
もう一回答えてやろう。
バカ丸出しだな。直接呼んでねーmalloc(sbrk)はカンケーねーとでも言う気なのだろうか?
0344デフォルトの名無しさん
2011/06/09(木) 22:48:22.64あんたもトリ付けてくれんか、ブロックが楽になるから
ええと、アヘン戦争は宗教論争でしたでしょうか?
>言質取ったぞ。stdioなどのライブラリが確保したメモリもきちんと解放しろよ。大変だな。www
あのー、あなたのルール((dangling pointer が発生しさえしなければ free() しなくてもいい)になら従う、(少なくとも dangling pointer が発生しなければ文句はいわない)といっているだけですが。
>直接呼んでねーmalloc(sbrk)はカンケーねーとでも言う気なのだろうか?
これは教えを請うているのですが、sbtk() ってスタータップで呼ばれるものでしょうか?
0348デフォルトの名無しさん
2011/06/10(金) 00:27:10.38http://codepad.org/6xl21vm5
http://codepad.org/U5JmaIyp
0349デフォルトの名無しさん
2011/06/10(金) 01:43:30.08てめーは確保したメモリはもれなく開放するというてめーのルールに従え。
敗者のくせに勝者と同じルールを使わせてもらえると思うな。カス。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
> >直接呼んでねーmalloc(sbrk)はカンケーねーとでも言う気なのだろうか?
> これは教えを請うているのですが、sbtk() ってスタータップで呼ばれるものでしょうか?
二度も教えたのに、バカにはわからないようだ。
0350デフォルトの名無しさん
2011/06/10(金) 01:44:21.89メモリリーク
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0351デフォルトの名無しさん
2011/06/10(金) 01:45:10.190352デフォルトの名無しさん
2011/06/10(金) 01:54:09.650353デフォルトの名無しさん
2011/06/10(金) 01:55:52.94◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0354デフォルトの名無しさん
2011/06/10(金) 01:57:07.60◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0355デフォルトの名無しさん
2011/06/10(金) 01:57:59.83◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0356デフォルトの名無しさん
2011/06/10(金) 01:59:01.99◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0357デフォルトの名無しさん
2011/06/10(金) 02:14:09.83C言語でデータを入力して4次行列式を計算するプログラムを作りたいんですが。プログラム教えて下さい。
どっかのってるサイトとかないですかね?
0358デフォルトの名無しさん
2011/06/10(金) 02:16:47.930359デフォルトの名無しさん
2011/06/10(金) 02:17:04.48連立一次方程式を解くだけならガウス法かガウスジョルダン法でググれ
ピボット選択という方法で解けるようになる場合もある
反復法という全く別のアルゴリズムでも解ける
0360デフォルトの名無しさん
2011/06/10(金) 02:21:25.26標準ライブラリが確保したメモリ(って何指してんだよ、と思わなくも無いけれど)、
それを解放すべきとするならば、解放していないライブラリなりOSのバグとするのが筋で、
そのケツを拭く義務を背負う必要なんて無いだろ。
0361デフォルトの名無しさん
2011/06/10(金) 02:21:36.05何言ってんだこいつ
0362デフォルトの名無しさん
2011/06/10(金) 02:23:16.93Cならfreeしてもすぐには返されないよ
0363デフォルトの名無しさん
2011/06/10(金) 02:41:55.110364デフォルトの名無しさん
2011/06/10(金) 04:00:24.34http://thira.plavox.info/blog/2008/06/_c.html
こんなのは?
ぐぐると一番上に出て来た
0365デフォルトの名無しさん
2011/06/10(金) 04:30:39.33ただ最初データを打ち込みたいんだがそこはどうすればいいのか…
0366デフォルトの名無しさん
2011/06/10(金) 04:31:30.390367デフォルトの名無しさん
2011/06/10(金) 08:44:44.75ありがとうございます。
やってもらってとても嬉しいのですが、
http://uproda.2ch-library.com/387865yc9/lib387865.jpg この実行例と、
http://uproda.2ch-library.com/387866eaw/lib387866.jpg この実行例とちょっと違っています・・。
http://uproda.2ch-library.com/387863Wqm/lib387863.jpg これの続きみたいな感じで、
scanfとかprintfを使う形でやってくださる方いないでしょうか・・(´・ω・`)
0368デフォルトの名無しさん
2011/06/10(金) 09:01:31.830369デフォルトの名無しさん
2011/06/10(金) 09:12:24.20落ちてOSも不安定になったのでshutdown -r now
しても正常にリブートされず、fsckが必要になった経験が
かなり最近のカーネルの某PC-UNIXでもあった
0370デフォルトの名無しさん
2011/06/10(金) 09:46:00.70>>342は実行例と問題文が異なるが、問題文に合わせた。
http://codepad.org/Mb3s8Fz1
http://codepad.org/pR5OumUf
この回答を使用する利用条件。以下↓をこのスレに書き込むこと。
>>347死ね。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0371デフォルトの名無しさん
2011/06/10(金) 09:48:28.27死ね死ね
0372デフォルトの名無しさん
2011/06/10(金) 09:57:02.82メッセージもまねるのか…
http://codepad.org/DDzgd1D8
利用条件は同じく、以下↓をこのスレに書き込むこと。
>>347死ね。
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0373デフォルトの名無しさん
2011/06/10(金) 10:08:32.26ごめんなさい。やってくださってありがとうございます。
実行したら実行例と同じ感じになったので、嬉しいです
スレに書き込むのはやわらかい表現でしますね
>>347ふざけないで。
確保したメモリを返さないのはメモリリークと呼ばれても
仕方ないですから(´・ω・`)
0374デフォルトの名無しさん
2011/06/10(金) 10:32:53.45[2]課題:適当な名前の大きさ100Mバイトのバイナリファイルを作成し、内容を乱数バイト配列とする。
それをクローズし、そのファイルを開き、すべてのビットを反転させた内容に置換する。
これを10万回繰り返すプログラムを作成し、HD、SSD、USBフラッシュメモリ等のデバイスの差
処理時間がどのくらい変わるかテストするプログラムを作成せよ
[3] OS:Windows IDE:Visual studio 2008 言語:C
[4] 6/15まで
[5] ディスクキャッシュが大きいとディスクに短期間では確実に書き込まれるとは限らないので、ファイルを100個作って1000回
繰り返すプログラムにしたほうが良い
とのことです。
コードだけでなく、実行時間もお願いします。
0375デフォルトの名無しさん
2011/06/10(金) 10:55:59.33USBメモリの一般的な書き換え可能回数は数10万回程度なのに
100Mの乱数列を10万回書き込むとか
ウェアレベリングされているとはいえかなり劣化するぞ
0376デフォルトの名無しさん
2011/06/10(金) 11:02:45.03作るのはいいが結果を用意しろと言われても困る
0377デフォルトの名無しさん
2011/06/10(金) 11:03:34.880378デフォルトの名無しさん
2011/06/10(金) 14:12:04.59[2] 問題文:メニューよりリストに対する様々な操作を行うプログラム。
双方向リストでお願いします。
・実行イメージ
----------------------------------------
|リストの操作
|1、ノードの追加
|2、全リストの表示
|3、データの削除
|4、ノードの挿入
| ・
| ・
|9、プログラムの終了
|操作番号を入力してください []
[3.1] OS:(Windows7)
[3.2] Visual Stdio2008
[3.3] 言語:C
[4] 期限:2011年6月13日13:00まででお願いします。
[5] その他の制限 :お手数かけますが、コメントをつけてよろしくお願いします。
0379デフォルトの名無しさん
2011/06/10(金) 15:58:37.19他人のフリしてちゃっかり印象操作
0380デフォルトの名無しさん
2011/06/10(金) 16:06:28.29そもそもSSDなんて高価なモノは持ってない
0381デフォルトの名無しさん
2011/06/10(金) 17:50:23.790382デフォルトの名無しさん
2011/06/10(金) 17:51:53.10宿題を解いてもらう方が宿題を解く人にSSDを貸し出すのが筋
0383デフォルトの名無しさん
2011/06/10(金) 17:59:19.00> 繰り返すプログラムにしたほうが良い
一つのファイルを10万回書き換えるのと等価になるのか?
0384デフォルトの名無しさん
2011/06/10(金) 18:02:56.59[1] 授業単元:2次元配列の利用
[2] 問題文(含コード&リンク):
新幹線「のぞみ」の料金(ただし運賃との合計額)は以下の表の通りである。出発駅と到着駅をそれぞれ駅番号で入力し、料金を表示するプログラムを作成しなさい。
なお、駅番号は、東京が1、新横浜が2、名古屋が3、京都が4、新大阪が5とする。
但し、料金を表示してから後で、1を入力すると上記の処理を繰り返し、0を入力するとプログラムを終了するものとする。
新大阪 京都 名古屋 新横浜
東京 14920 14390 11540 3180
新横浜 14600 13660 10910
名古屋 6840 6100
京都 3240
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:今日まで
0385デフォルトの名無しさん
2011/06/10(金) 19:26:19.53[2]パイロット2人、乗客100人積載可能な同一規格の航空機が以下のようにある。
空港 機数 パイロット人数
札幌 8 15
仙台 5 12
東京 4 4
静岡 4 6
名古屋 6 18
伊丹 6 8
広島 5 6
福岡 1 3
これを最終的に
札幌 5 12
仙台 3 8
東京 10 16
静岡 2 4
名古屋 5 8
伊丹 8 14
広島 2 4
福岡 4 6
にしたい。どのように運行すれば良いか。離着陸数をできるだけ少なくすること
空港間の移動は出来るものとするがパイロットは航空機で移動しなければならない。
[3]Mac-OS-X/Gcc/C言語
[4]無制限
0386デフォルトの名無しさん
2011/06/10(金) 20:34:32.45[2] 問題文:
読み込んだ2つの正整数の最大公約数を出力するプログラムを作成せよ.ただし,以下の関数 gcd() を再帰を用いて定義し,使用すること.
書式
int gcd(int m, int n);
返り値
正整数m, nの最大公約数
実行結果1
2正整数 > 8 12
4
実行結果2
2正整数 > 81 64
1
[3] 環境[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限:明日の24:00まで。
0387デフォルトの名無しさん
2011/06/10(金) 20:42:22.61#include <stdio.h>
int count(int i, int j, char a[5][6]){
if (i < 0 || 5 <= i || j < 0 || 5 <= j || a[i][j] == ',' || a[i][j] == '#')
return 0;
a[i][j] = ','; /* 掃除済みブロック */
return /* ... */;}
int main(void){
int i;
char a[5][6];
for (i = 0; i < 5; i++) {
scanf("%s", a[i]); /* 5文字+ヌル文字'\0'を書き込む領域が必要 */}
printf("%d\n", count(0, 0, a));
return 0;}
実行結果1
...#.
....#
.....
#...#
.#.#.
16
実行結果2
.....
####.
...#.
.###.
.....
17
[3] 環境[3.1] OS:Linux [3.2]gcc [3.3] 言語:C言語 [4] 期限:明日の24:00まで。
0388デフォルトの名無しさん
2011/06/10(金) 20:49:09.65int gcd(int m, int n) {
if n
return gcd(n, m%n);
else
return m;
}
0389デフォルトの名無しさん
2011/06/10(金) 20:50:41.28>>384
ttp://ideone.com/V1oj0
0390デフォルトの名無しさん
2011/06/10(金) 21:39:59.810391デフォルトの名無しさん
2011/06/10(金) 21:57:28.08[2] (1)乱数を多数発生させ、これらをハッシュ表に登録する
関数 int insert(int x)を作成せよ。
(2)ハッシュ表の
・登録データ総数
・衝突回数の総数
を画面に出力する関数void hash_property()を作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:6/12に完成、6/13に提出できるよう
[5] 内部ハッシュでプログラムを作成。
(1)は出来てるものの、登録失敗時に0が返されてない点が不安です。
(2)は、まだ上手い発想が思いつきません。
http://codepad.org/8pjfOQnM
0392デフォルトの名無しさん
2011/06/10(金) 22:13:54.440393デフォルトの名無しさん
2011/06/10(金) 22:31:32.17Line28 予期しない動作になってない?
0394デフォルトの名無しさん
2011/06/10(金) 22:39:54.90Line40 リハッシング時にハッシュ値を渡しているけどこれだとj>TABLE_SIZEで全体のチェックが行われている保証はないよ
Line59 rand関数の使い語って知ってる?
0395デフォルトの名無しさん
2011/06/10(金) 22:44:07.012月:28日か29日
1,3,5,7,8,10,12月:31日
2,4,6,9,11月:30日
0396デフォルトの名無しさん
2011/06/10(金) 22:51:38.45> (2)は、まだ上手い発想が思いつきません。
こうすれば良い。
typedef struct bucket {
int data; /*登録する整数データ*/
struct bucket *next;
} Bucket;
Bucket *hash_table[TABLE_SIZE] = {0};
0397デフォルトの名無しさん
2011/06/10(金) 23:53:37.19do-while文を使って作成したものを2つお願いします。
実行結果
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
0398デフォルトの名無しさん
2011/06/10(金) 23:54:47.46[2] 問題文(含コード&リンク):
5つの要素を持つ、2つの1次元配列A、Bを用意する。
各配列の要素に、値を入力させる(0〜99の整数)。
値が入力された各配列の要素を掛け合わせた結果を5×5の2次元配列に格納する。
求めた2次元配列を表示する。
例 A0〜A4の5個の値を入力 5 4 3 2 1
5 4 3 2 1 2 10 8 6 4 2
B0〜B4の5個の値を入力 2 10 8 6 4 2
2 2 0 1 1 0 0 0 0 0 0
1 5 4 3 2 1
1 5 4 3 2 1
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:6/12まで
0399デフォルトの名無しさん
2011/06/10(金) 23:56:54.57ずれた
5 4 3 2 1
2 10 8 6 4 2
2 10 8 6 4 2
0 0 0 0 0 0
1 5 4 3 2 1
1 5 4 3 2 1
0400デフォルトの名無しさん
2011/06/11(土) 00:02:12.38ttp://codepad.org/yg2kWD3T
0401デフォルトの名無しさん
2011/06/11(土) 00:12:39.38switchを使わずにif文だけでお願いします。
0402デフォルトの名無しさん
2011/06/11(土) 00:13:39.48>>1
>後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
0403デフォルトの名無しさん
2011/06/11(土) 00:21:34.76for(i=0;i<sizeof(B)/sizeof(B[0]);i++)for(j=0;j<sizeof(A)/sizeof(A[0]);j++)C[i][j]=B[i]*A[j];
putchar('\t');
for(j=0;j<sizeof(A)/sizeof(A[0]);j++)printf("%d\t",A[j]);
puts("");
for(i=0;i<sizeof(B)/sizeof(B[0]);i++)
{
printf("%d\t",B[i]);
for(j=0;j<sizeof(A)/sizeof(A[0]);j++)printf("%d\t",C[i][j]);
puts("");
}
0404デフォルトの名無しさん
2011/06/11(土) 00:25:27.17問題嫁
0405デフォルトの名無しさん
2011/06/11(土) 00:34:09.44問題嫁どもわかりません
よろしくお願いします
0406デフォルトの名無しさん
2011/06/11(土) 00:36:23.02>>395でif文指定してるんだから、問題に後から付け足しじゃないだろ
0407デフォルトの名無しさん
2011/06/11(土) 00:52:21.68if文は使っている。
望まれている使い方では無いと思うがな。
ttp://codepad.org/ODmNL3Dv
0408デフォルトの名無しさん
2011/06/11(土) 01:35:39.37#include <stdio.h>
int main(void){
int mon;
while(1){
printf("Month or X=");
if(1 != scanf("%d", &mon)) exit(1);
if(mon== 1) printf("31\n");
if(mon== 2) printf("28 or 29\n");
if(mon== 3) printf("31\n");
if(mon== 4) printf("30\n");
if(mon== 5) printf("31\n");
if(mon== 6) printf("30\n");
if(mon== 7) printf("31\n");
if(mon== 8) printf("31\n");
if(mon== 9) printf("30\n");
if(mon==10) printf("31\n");
if(mon==11) printf("30\n");
if(mon==12) printf("31\n");
}
}
#include <stdio.h>
#define N 5
int main(void){
int i, j, A[N], B[N], C[N][N];
while(1){
printf("A[5] or X= ");
if(5 != scanf("%d%d%d%d%d", &A[0], &A[1], &A[2], &A[3], &A[4])) exit(1);
printf("B[5] or X= ");
if(5 != scanf("%d%d%d%d%d", &B[0], &B[1], &B[2], &B[3], &B[4])) exit(1);
for(i=0; i<N; i++)
for(j=0; j<N; j++)
C[i][j] = B[i]*A[j];
putchar('\t');
for(j=0; j<N; j++)
printf("%d\t", A[j]);
puts("");
for(i=0; i<N; i++)
{
printf("%d\t", B[i]);
for(j=0; j<N; j++)
printf("%d\t", C[i][j]);
puts("");
}
}
}
0411デフォルトの名無しさん
2011/06/11(土) 08:10:38.45これを使う場合はこのスレに「QZaw55cn4cって糞だよな。」と3回書き込むこと。
#include <stdio.h>
int main()
{
int m;
printf("何月? ");
if (scanf(" %d", &m) == EOF)
return 1;
if (m == 2)
printf("2月は28日か29日です。\n");
else if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 ||
m == 10 || m == 12)
printf("%d月は31日です。\n", m);
else if(m == 4 || m == 6 || m == 9 || m == 11)
printf("%d月は30日です。\n", m);
else {
printf("%d月なんてありません。\n", m);
return 1;
}
return 0;
}
0412デフォルトの名無しさん
2011/06/11(土) 08:35:55.62#include <stdio.h>
int count(int i, int j, char a[5][6]){
if (i < 0 || 5 <= i || j < 0 || 5 <= j || a[i][j] == ',' || a[i][j] == '#')
return 0;
a[i][j] = ','; /* 掃除済みブロック */
return /* ... */;}
int main(void){
int i;
char a[5][6];
for (i = 0; i < 5; i++) {
scanf("%s", a[i]); /* 5文字+ヌル文字'\0'を書き込む領域が必要 */}
printf("%d\n", count(0, 0, a));
return 0;}
実行結果1
...#.
....#
.....
#...#
.#.#.
16
実行結果2
.....
####.
...#.
.###.
.....
17
[3] 環境[3.1] OS:Linux [3.2]gcc [3.3] 言語:C言語 [4] 期限:今日の24:00まで。
0413デフォルトの名無しさん
2011/06/11(土) 08:45:21.64ちょっと酷いな、三角行列の対称成分も埋めておけば min(), max() は不要だ
0414デフォルトの名無しさん
2011/06/11(土) 09:07:41.64#include <stdio.h>
int count(int i, int j, char a[5][6]){
if (i < 0 || 5 <= i || j < 0 || 5 <= j || a[i][j] == ',' || a[i][j] == '#')
return 0;
a[i][j] = ','; /* 掃除済みブロック */
return a[1][0] == '#' ? 17 : 16;
}
int main(void){
int i;
char a[5][6];
for (i = 0; i < 5; i++) {
scanf("%s", a[i]); /* 5文字+ヌル文字'\0'を書き込む領域が必要 */}
printf("%d\n", count(0, 0, a));
getchar();
return 0;
}
0415デフォルトの名無しさん
2011/06/11(土) 10:06:04.77[分割版]
doubly_linked_list.h - http://codepad.org/0dqb5dHw
doubly_linked_list.c - http://codepad.org/Re26cYoi
main.c - http://codepad.org/LRbtt2Z4
[ひとまとめ]
http://ideone.com/qy55m
0416デフォルトの名無しさん
2011/06/11(土) 10:27:49.23条件は認められませんでした。下げ
0417デフォルトの名無しさん
2011/06/11(土) 10:44:20.32と、◆QZaw55cn4cの糞が申しております
無視しましょう
0418デフォルトの名無しさん
2011/06/11(土) 10:44:45.811 + count(i + 1, j, a) + count(i - 1, j, a) + count(i, j + 1, a) + count(i, j - 1, a)
0419デフォルトの名無しさん
2011/06/11(土) 10:55:41.75最後に1度だけcountを出力するにはどうすればいいですか。
環境 [3.1] Linux [3.2] gcc [3.3] c
void sort_quick(int low, int high, int *array) { // クイックソート
int i , // 対象要素の指標(先頭方向)
j , // 対象要素の指標(末尾方向)
mid , // 対象配列の中央の値=比較要素
tmp ; // 入替え用
count = 0, i = low , j = high ;
mid = array[(low + high) / 2 ] ; // 比較要素
0420デフォルトの名無しさん
2011/06/11(土) 11:01:05.010421デフォルトの名無しさん
2011/06/11(土) 11:02:13.90do {
while(array[i] < mid)
i++ ; // 比較要素より大きい要素を探索
while(mid < array[j])
j-- ; // 比較要素より小さい要素を探索
if (i <= j) {
tmp = array[i] ; ++count;
array[i] = array[j] ; ++count;
array[j] = tmp ; ++count;
i++ ; j-- ;
}
}
0422デフォルトの名無しさん
2011/06/11(土) 11:04:30.67while(i <= j) ;
if (low < j)
sort_quick(low, j, array) ; // 前半部についてソート
if (i < high)
sort_quick(i, high, array) ; // 後半部についてソート
printf("移動回数:%d\n",count);
return ; }
0423デフォルトの名無しさん
2011/06/11(土) 11:09:14.140424デフォルトの名無しさん
2011/06/11(土) 11:12:29.54コード読めないアホは引っ込んでろw
0425デフォルトの名無しさん
2011/06/11(土) 11:18:30.07しといて次行をインデントするクズ。QZに匹敵する。
0426デフォルトの名無しさん
2011/06/11(土) 11:22:50.120427デフォルトの名無しさん
2011/06/11(土) 11:32:05.56>if (scanf(" %d", &m) == EOF)
成立することあると思ってるの?
0428デフォルトの名無しさん
2011/06/11(土) 11:39:30.12成立はするだろEOFでやるのはどうかと思うが
0429デフォルトの名無しさん
2011/06/11(土) 11:44:04.02他にあるひと?
0430デフォルトの名無しさん
2011/06/11(土) 11:58:14.59EOFが返ることもあるんだね。知らなかった。
しかしここはいずれにしても、入力チェックとしては
if (scanf(" %d", &m) != 1)
とすべきではないかと思う。
0431デフォルトの名無しさん
2011/06/11(土) 12:28:38.83言いがかり付けるときはマニュアル見てからつけろ。カス。
> とすべきではないかと思う。
完璧な計算のもとにEOFでチェックしてるんだよ。素人は引っ込んでろ。
0432デフォルトの名無しさん
2011/06/11(土) 12:32:08.40EOFになるのは、具体的にはどういう入力があったとき?
それから、数値以外の、例えばアルファベットが入力されたときは、どういう動きをする?
0433デフォルトの名無しさん
2011/06/11(土) 12:34:24.40http://ideone.com/plain/Hsvo8
0434デフォルトの名無しさん
2011/06/11(土) 12:34:57.41自分で調べろクズ。
0435デフォルトの名無しさん
2011/06/11(土) 12:38:29.37失敗時もEOFなんですね
終了時のみかと思っていました
どうもすいませんでした
0436429
2011/06/11(土) 12:39:14.640437デフォルトの名無しさん
2011/06/11(土) 12:42:29.34EOF: WinならCtrl+Z、UNIX系ならCtrl+D
アルファベット: ASCII code
0438デフォルトの名無しさん
2011/06/11(土) 12:42:53.70>何月? a
>1月は31日です。
0439435
2011/06/11(土) 12:43:58.59ごめんなさい勝手に変な勘違いしてました
やっぱり%dで読み取るときに文字入力したみたいなときは0が返りますね
やっぱEOFじゃだめでいいじゃねーかwwwww
0440デフォルトの名無しさん
2011/06/11(土) 12:45:37.620441440
2011/06/11(土) 12:46:25.020442デフォルトの名無しさん
2011/06/11(土) 12:49:28.38何月? ^Z
^Z
キー入力の場合は、EOFになるのはこのケースだけのようですね。
0443430
2011/06/11(土) 12:55:56.69いや私は通りすがりなんだけど、「EOFが返ること知らなかったから、参考になりました。」
というニュアンスだったんですが、なんでそんなテンションなんですか?
>432 >434 >442
元の人は喧嘩売りたいだけみたいなので、こちらでどうぞ。
エラーの項目を見れば、どんなエラーがあり得るかわかります。
ttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/scanf.3.html#lbAF
0444デフォルトの名無しさん
2011/06/11(土) 13:28:48.76[2] 問題文(含コード&リンク):
データを5個格納できるスタックを実現し、次の操作をしたときのスタックの状態をシミュレーションするプログラムを作成し、最後の取り出しで出てきた値を表示するようにしなさい。
1を収納→2を収納→3を収納→取り出し→取り出し→4を収納→取り出し→取り出し
結果表示例)
<スタックの出入り口を右側とする>
|1| | | | |
|1|2| | | |
|1|2|3| | |
|1|2| | | | 取り出し:3
…
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0445デフォルトの名無しさん
2011/06/11(土) 14:13:10.74int m = 0;
0446デフォルトの名無しさん
2011/06/11(土) 15:00:35.41ttp://ideone.com/LB3dF
0447デフォルトの名無しさん
2011/06/11(土) 15:39:52.96ttp://ideone.com/J9r3O
0448430
2011/06/11(土) 16:06:40.79えーーー、自信満々で
「完璧な計算のもとにEOFでチェックしてるんだよ。素人は引っ込んでろ。」
って言っていたのに、mが初期化されているのが「完璧な計算」なの?
ポインタを渡した関数が失敗したときに、初期化された値が
保証されているって考えては駄目だと思うよ。
もちろんお作法として、関数が失敗したときに、渡された領域を破壊しないように
務めるべきだとは思う。
manではscanfが失敗したときのポインタ変数がどうなるかについて、何も説明されていない。
標準関数だから、失敗したときに元の値が保証されるような実装になっているとは思う。
if (scanf(" %d", &m) != 1)
ではこのあたりの問題は何もでないから、こっちの方がBetterだと思うけど、いかがですか?
0449デフォルトの名無しさん
2011/06/11(土) 16:24:38.1712回、でいいのだろうか
0450デフォルトの名無しさん
2011/06/11(土) 16:26:07.473項演算子の58行で
>empty(next) ? 1 : show(&next);
エラー E2468 dai61_2.c 58: void 型の値は許されない (関数 show )
警告 W8019 dai61_2.c 58: コードは効果を持たない (関数 show )
ってエラーが出るから、こういう書き方はだめなんじゃない?
0451デフォルトの名無しさん
2011/06/11(土) 16:27:46.73これは最小全域木の問題?
0452デフォルトの名無しさん
2011/06/11(土) 16:32:43.44言語Cなら
doubly_linked_list *list_create();
ではなく
doubly_linked_list *list_create(void);
って書いてくれませんか
「プロトタイプ宣言のない関数の呼び出し」って警告が出ます
0453デフォルトの名無しさん
2011/06/11(土) 16:34:55.14gcc?
1の項がエラーなのかな
0454デフォルトの名無しさん
2011/06/11(土) 16:39:27.00あーshowがvoid関数だからか、なるほど
素直にif文にすればいいね
0455デフォルトの名無しさん
2011/06/11(土) 16:58:03.36return文がそもそも無いんだから、voidには変わりない
しかし3項演算子は結果がvoidになるには条件がある
§6.5.15 Conditional operator
3 One of the following shall hold for the second and third operands:
? both operands have arithmetic type;
? both operands have the same structure or union type;
? both operands have void type;
? both operands are pointers to qualified or unqualified versions of compatible types;
? one operand is a pointer and the other is a null pointer constant; or
? one operand is a pointer to an object or incomplete type and the other is a pointer to a
qualified or unqualified version of void.
5 If both the second and third operands have arithmetic type, the result type that would be
determined by the usual arithmetic conversions, were they applied to those two operands,
is the type of the result. If both the operands have structure or union type, the result has
that type. If both operands have void type, the result has void type.
3と5を併せると、両オペランドの型がvoidの時のみ、結果がvoidとなれる事を意味する
今回の場合は 1 : show(&next); というように整数型とvoidを混ぜているからエラーなんだろう
片方だけがvoid型というのは許されない
0456415
2011/06/11(土) 17:07:56.42list_removeの説明が間違っていました
×// リストから指定した値を削除する(最初に見つかった要素がひとつだけ削除される)
○// リストから指定した値をすべて削除する
0457デフォルトの名無しさん
2011/06/11(土) 17:43:05.36名前が一致すると数を出力するプログラムなんですが、「2 番目の引数を 'bool' から 'const char *' に変換できません。」
と出力されてしまいます。
0458デフォルトの名無しさん
2011/06/11(土) 17:47:59.33name==0).name)==0に
0459デフォルトの名無しさん
2011/06/11(土) 17:49:20.57name==0)をname)==0に、です
0460デフォルトの名無しさん
2011/06/11(土) 17:55:05.74ありがとうございました。
0461デフォルトの名無しさん
2011/06/11(土) 18:15:37.23if (scanf(" %d", &m) == -1);
if (scanf("%d", &m) == -1);
0462デフォルトの名無しさん
2011/06/11(土) 18:17:16.443項演算子をif文代わりに使っちゃう男の人って・・・
0463デフォルトの名無しさん
2011/06/11(土) 18:25:12.96-1なんてマジックナンバーを使うな
stdio.hで定義されているマクロのEOFを使え
0464461
2011/06/11(土) 18:34:29.60[2] 問題文:以下の2つの違いを教えてください。
if (scanf(" %d", &m) == EOF);
if (scanf("%d", &m) == EOF);
[3] コンパイラ: 特別にBCC32
0465デフォルトの名無しさん
2011/06/11(土) 19:11:28.85378です!ありがとうございました。
0466デフォルトの名無しさん
2011/06/11(土) 20:58:50.93変数の型 BYTE が使えないですが、どうすれば良いでしょうか。
なにかをinclude する必要があるでしょうか。
0467デフォルトの名無しさん
2011/06/11(土) 21:05:43.89なんでこのスレに来たの?
0468デフォルトの名無しさん
2011/06/11(土) 21:12:11.82windows.h
0469デフォルトの名無しさん
2011/06/11(土) 21:23:22.74ねぇよ死ね
0470デフォルトの名無しさん
2011/06/11(土) 21:45:40.42[2] 問題文(含コード&リンク):
ファイルnum1.txtには、実数での20個の数値が改行を挟んで入力されているものとする。
そのとき、num1.txtの数値を全て読み込み、最大値、最小値、平均値を画面に表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明後日まで
0472デフォルトの名無しさん
2011/06/11(土) 22:21:31.58#include <stdio.h>
#define MAXBUF 256
int main()
{
FILE* fp = fopen("num1.txt", "r");
if(fp){
double sum = 0.0, min = 0.0, max = 0.0;
int ct = 0;
char buf[MAXBUF];
while(fgets(buf, MAXBUF, fp)){
double d;
sscanf("%lf", &d);
sum += d;
if(ct == 0){
min = d;
max = d;
}else{
if(max < d)max = d;
if(min > d)min = d;
}
ct++;
}
fclose(fp);
printf("最大値=%f, 最小値=%f, 平均値=%f\n", max, min, sum / ct);
}
return 0;
}
0473デフォルトの名無しさん
2011/06/11(土) 22:22:08.90o sscanf(buf, "%lf", &d);
0474デフォルトの名無しさん
2011/06/11(土) 23:15:40.42そのような発言はいただけませんねぇ〜。
私には彼女がいますが。なんなんですか。
0475デフォルトの名無しさん
2011/06/12(日) 00:05:50.230476デフォルトの名無しさん
2011/06/12(日) 09:12:23.11D言語を書けってか?
0477デフォルトの名無しさん
2011/06/12(日) 09:28:03.290478デフォルトの名無しさん
2011/06/12(日) 11:31:12.81[2] 問題文(含コード&リンク):
log.txtのファイルを利用して、作成したプログラムが何回目の実行かを画面表示するプログラムを作成しなさい
なお、簡単のため、log.txtには初めに0と入力し、保存しておいてもかまわない
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0479デフォルトの名無しさん
2011/06/12(日) 11:41:34.80#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE * fp;
int i = 1;
if (!(fp = fopen("log.txt", "r"))) {
printf("%d回目です\n", i);
} else {
fscanf(fp, "%d", &i);
fclose(fp);
printf("%d回目です\n", i);
}
if (!(fp = fopen("log.txt", "w"))) {
fprintf(stderr, "file error\n");
return 1;
}
fprintf(fp, "%d", i + 1);
fclose(fp);
return 0;
}
0480デフォルトの名無しさん
2011/06/12(日) 11:48:01.98[2] 問題文(含コード&リンク):
0〜100までの番号の振られたraw画像データ群から任意で指定した番号の画像1枚を出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C++
[4] 期限: 6月15日まで
[5] その他の制限: 無し:よろしくお願いします。
0481デフォルトの名無しさん
2011/06/12(日) 11:52:11.27> 0〜100までの番号の振られたraw画像データ群
もう少し詳しく
>番号の画像1枚を出力するプログラム
GUIを使って画面に表示すればいいのか?
0482デフォルトの名無しさん
2011/06/12(日) 11:52:33.15RAW画像のフォーマットと出力するの定義を
0483デフォルトの名無しさん
2011/06/12(日) 12:47:26.61N回呼ばれた事をログに記憶すべきだからN+1を書き込むのはお勧めしない
0484480
2011/06/12(日) 12:50:04.94例えば1と入力したら1.rawが選択されて別のフォルダに出力
するというものです。
RAW現像ソフトウェアはPhotoshopです。
よろしくお願いします。
0485デフォルトの名無しさん
2011/06/12(日) 12:50:52.90#pragma warning(disable:4996)
#include <stdio.h>
int main(void){
int i;
FILE *fp;
{
if (!(fp = fopen("log.txt", "r+"))) {
fprintf(stderr, "%s file open error.\n", "log.txt");
} else {
if(1 != fscanf(fp, "%d", &i)) {
fprintf(stderr, "%s file number error.\n", "log.txt");
} else {
rewind(fp);
fprintf(fp, "%d", ++i);
}
fclose(fp);
}
}
/* */
printf("Hellow!\n");
printf("How are you.\n");
/* */
}
0486デフォルトの名無しさん
2011/06/12(日) 13:57:08.18#include <cstdlib>
#include <iostream>
#include <sstream>
#include <Windows.h>
#include <Shlwapi.h>
int wmain(void)
{
std::wstring ws;
std::wcin >> ws;
std::wostringstream woss;
woss << L"..\\OtherFolder";
switch (::PathFileExistsW(woss.str().c_str())) {
case TRUE:
if (::PathIsDirectoryW(woss.str().c_str())) {
break;
}
case FALSE:
if (::CreateDirectoryW(woss.str().c_str(), NULL)) {
break;
}
default:
std::abort();
}
woss << "\\" << ws << L".raw";
if (::PathFileExistsW(woss.str().substr(15).c_str())) {
if (!::CopyFileW(woss.str().substr(15).c_str(), woss.str().c_str(), TRUE)) {
std::abort();
}
}
return 0;
}
0487 ◆.wtq2G5rfI
2011/06/12(日) 14:26:38.41[2] 問題文(含コード&リンク):
以下のようなプログラムを作れ.
二つの配列を比較する関数を作成せよ。引数としてint型の配列を2つ受取り(サイズも受け取る)、
等しければ0を、等しく無ければ1を返す。
(例)
A={1,2,3} A={1,2,3}
B={3,2,1} C={1,2,3}
AとBは等しくありません AとCは等しい
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名:Cygwin
[3.3] 言語: C
[4] 期限: 2011年6月16日
[5] その他の制限: <stdio.h>のみ使用可
0488デフォルトの名無しさん
2011/06/12(日) 14:45:14.46{
while(size--) if(*a++ != *b++) return 1;
return 0;
}
0489デフォルトの名無しさん
2011/06/12(日) 14:51:45.00ttp://codepad.org/Q3APnxxY
0490デフォルトの名無しさん
2011/06/12(日) 17:39:07.34[2] 問題文(含コード&リンク):
log1.txtには、0個以上の実数が1行に1つずつ、改行を挟んで記載されている。
記載されている実数を全て読み込み、数値の個数、平均値、分散値を求めて表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0491デフォルトの名無しさん
2011/06/12(日) 19:57:47.82http://codepad.org/IFzgMNfB
0493デフォルトの名無しさん
2011/06/12(日) 20:13:24.57新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM
湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title
これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。
題名”ラダニアムの翼”
A wing of radaniam_part�U.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_�V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0
題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0494デフォルトの名無しさん
2011/06/12(日) 20:51:04.74いろいろな言語できるアピールかっこいいなーあこがれちゃうなー
0495デフォルトの名無しさん
2011/06/12(日) 21:37:35.37リソースのムダだと思うので指定した言語だけにして貰っていいですか?
0496デフォルトの名無しさん
2011/06/12(日) 21:57:04.58http://ja.wikipedia.org/wiki/%E5%88%86%E6%95%A3
V(X) = E(X^2) - (E(X))^2
0497デフォルトの名無しさん
2011/06/12(日) 22:36:19.25その式は知っていますが、誤差が大きくなるので使っていません。
0498デフォルトの名無しさん
2011/06/12(日) 22:47:06.35低脳はこれだから困る
0499デフォルトの名無しさん
2011/06/12(日) 23:23:32.50たしかに。
(0, 1)の一様分布 X に対して、 Y = X + 1000000 を考えると、
V(X) = V(Y) = 1/12 = 0.83333... ですが、
実際に1万個のデータについて調べてみると、
>>492
$ ./a.exe
n = 10000
average: 1000000.497839170275
variance: 0.071405649185
>>491
$ ./a.exe
?f?[?^?? : 10000
????l : 1000000.497839
???U?l : 0.083090
結構でかいですね。これは勉強になりました。
0500デフォルトの名無しさん
2011/06/13(月) 01:27:49.110501デフォルトの名無しさん
2011/06/13(月) 01:42:30.70とりあえず出してみれば?
0502500
2011/06/13(月) 02:13:03.22よろしく
0503デフォルトの名無しさん
2011/06/13(月) 06:50:44.690504デフォルトの名無しさん
2011/06/13(月) 09:12:27.57C?C++?
0505デフォルトの名無しさん
2011/06/13(月) 09:32:47.57Cでお願いします
0506七緒
2011/06/13(月) 09:39:51.15[2] 問題文:平面上の点,直線,円の位置関係を判定するプログラムを作れ.
判定結果としては,カッコ内の文字列を表示せよ.
点のxy-座標および円の半径と中心のxy-座標を入力し,その点と円の位置関係を,
(a) 点は円の外部にある('gaibu')
(b) 点は円周上にある('enshuujou')
(c) 点は円の内部にある('naibu')
のいずれかに分類せよ.
[3] 環境
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語:C
[4] 期限:明々後日まで
0507デフォルトの名無しさん
2011/06/13(月) 10:26:13.80http://codepad.org/U1sjwg1q
0508デフォルトの名無しさん
2011/06/13(月) 13:49:17.050509デフォルトの名無しさん
2011/06/13(月) 14:16:40.01ttp://ideone.com/N8EXc
java を知らない俺が書いたコードだけど動くようだ
でも1000世代の40ループなんて気が遠くなるから10世代4ループでしか動作確認してない
正解が出なかったけど、試行回数が足りないのかバグが有るのか判らんので確認してね
あと、乱数についてなんだが、java の Random って複数系統の乱数列を持ってたりする?
C言語でも乱数生成コードとその為のデータを持てば int と double を別系列で管理できるんだけど、
そこまでする気にはならんなぁ
普通の rand() を共用したので悪しからず
0510509
2011/06/13(月) 14:18:25.22elite_ に代入する時はシャロー、それ以外はディープとしたが、問題があれば修正するよ
楽しかった
最近、『本文が長すぎる』って怒られる事が多い気がするのは俺だけ?
0511デフォルトの名無しさん
2011/06/13(月) 15:24:31.030512デフォルトの名無しさん
2011/06/13(月) 16:11:28.35[2]2つの「整数」a,b に対し,a+b, a-b, a*b, a/b の値を「小数」で求めるプログラムを作成せよ.
プログラムは以下の条件を満たすこと.
・正しく実行できるプログラムである.
・printf関数を使って計算結果を表示する.
・printf関数については,桁指定をして書式付出力にする.
・「整数」a,bはscanfを使い代入できるようにする.
・計算結果は小数点以下を切り捨てないで「小数」で表示する.
[3] 環境
[3.1] Mac
[3.2] Xcodeを使用
[3.3] C言語
[4] 本日の22時まで
よろしくお願いします。。
0513七緒
2011/06/13(月) 16:24:01.190514デフォルトの名無しさん
2011/06/13(月) 17:57:11.12#include <stdio.h>
int main(void)
{
int a, b;
scanf("%d%d", &a, &b);
printf("a + b = %10f\n", (double)a + b);
printf("a - b = %10f\n", (double)a - b);
printf("a * b = %10f\n", (double)a * b);
printf("a / b = %10f\n", (double)a / b);
return 0;
}
0515デフォルトの名無しさん
2011/06/13(月) 18:35:27.414つの変数a, a1, b, b1(全てint 型)に対して次の演算を実行します
a に0 を代入
b に1 を代入
a1 = ~a
b1 = ~b
その後、4つの変数の値を10進数で表示するプログラムを書いてください。
プログラムのソースと実行結果をメモ帳にまとめて、何故その結果に
なったのか、自分で考えた理由を書き加えて、提出してください。
[3] 環境
[3.1] WindowsXP
[3.2] Visual Studio 2008
[3.3] C言語
[4]明後日まで
全く分からないので、誰か助けて下さい。
0516デフォルトの名無しさん
2011/06/13(月) 18:49:27.37[2] 問題文(含コード&リンク): プリントに示しているサンプルは、定積分∫[-1,1]e^(-x^2)dxの値を(複合)中点則を用いて求めるプログラムである。
(なお、数値積分において区間は10分割している)
このサンプルプログラムを元に、上記の定積分の値を(ア) (複合)台形則、(イ) (複合)シンプソン則を用いて求めるプログラムを作成しなさい。
ヒント
・台形則については、42,43行目を改造するだけでできる。(必要とあれば45行目も改造)
サンプル http://codepad.org/yDUrq4Cd
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2011年6月14日
0517デフォルトの名無しさん
2011/06/13(月) 19:16:40.33#include <stdio.h>
int main(void)
{
int a, a1, b, b1;
a = 0;
b = 1;
a1 = ~a;
b1 = ~b;
printf("a = %d, a1 = %d, b = %d, b1 = %d\n", a, a1, b, b1);
return 0;
}
0518デフォルトの名無しさん
2011/06/13(月) 19:33:17.15double trapezoidalrule(double xmin, double xmax, int n) {
double dx = (xmax - xmin) / n, val = (func(xmin) + func(xmax)) / 2;
int i;
for(i = 1; i < n; i++) val += func(xmin + i * dx);
return val * dx;
}
double Simpsonsrule(double xmin, double xmax, int n) {
double dx = (xmax - xmin) / n, val = (func(xmin) + func(xmax)) / 2;
int i;
for(i = 1; i < n; i++) val += func(xmin + i * dx);
for(i = 0; i < n; i++) val += func(xmin + dx / 2 + i * dx) * 2;
return val * dx / 3;
}
0519デフォルトの名無しさん
2011/06/13(月) 19:42:29.840520デフォルトの名無しさん
2011/06/13(月) 21:11:46.460521デフォルトの名無しさん
2011/06/13(月) 21:20:33.12[2]本文
ボウリングのスコアを計算するプログラム(確定したフレームの点数を表示する。)
<条件>
・scanfで1投毎のピンを倒した数を入力する。得点が確定したフレームの得点を随時表示する。最後に総合スコアを表示する。10フレームとする。 [3] 環境
[3.1]WindowsXP
[3.2]gcc
[3.3]C言語
[4]13時まで
[5]メイン関数一つの中で行いたい。
0522デフォルトの名無しさん
2011/06/13(月) 21:21:03.43さっそくありがとうございます。
eliteへの代入はシャローコピーで大丈夫です。
ですけど正解が出ないってのはちょっと問題ありです。
javaで書いたものは正常に動いて答えも出るんで多分そちらのバグじゃないかと。
今書いていただいたソースが見られないので何とも言えませんが。
0523デフォルトの名無しさん
2011/06/13(月) 21:29:07.51すみません。期日は明日の朝8時までです。
以下に詳細のイメージを記載します。
1フレーム目1投目 = 10
2フレーム目1投目 = 10
※この時点ではどちらのフレームの点数は確定しない。
3フレーム目1投目 = 2
※ここで1フレーム目の得点が確定し、表示する。
3フレーム目2投目 = 1
※ここで2フレーム目の得点が確定し、表示する。
これを9フレーム目までを表示する。
最後に確定したスコアを表示する。
宜しくお願いします。
0524デフォルトの名無しさん
2011/06/13(月) 21:30:59.21>>180
0525デフォルトの名無しさん
2011/06/13(月) 21:39:07.64えっ今まで一回かQが素晴らしいコードを書いた事がありましたっけ?
0526デフォルトの名無しさん
2011/06/13(月) 21:42:33.73つまり、Qより優れたコードを書けということだろ。多分・・・
0527デフォルトの名無しさん
2011/06/13(月) 21:48:36.04すみません。
>>180でも出てますが、これだと途中経過の点数を表示させる事が出来ないと言われました。
もし、違うプログラムがありましたら教えて頂けますか?宜しくお願いします。
0528デフォルトの名無しさん
2011/06/13(月) 21:51:49.02君面白いねー
0529デフォルトの名無しさん
2011/06/13(月) 21:57:13.38テンプレ読んだか?
0530デフォルトの名無しさん
2011/06/13(月) 21:57:26.99それなら普通に書けばいいわけだな
Qのコードは糞だから普通に書けば必ずQより優れた物になる
0531デフォルトの名無しさん
2011/06/13(月) 22:00:35.340532デフォルトの名無しさん
2011/06/13(月) 22:03:49.130533デフォルトの名無しさん
2011/06/13(月) 22:07:01.04課題・宿題が提出できればいいんだろうからQとかソースが
糞とかあまり考えないんじゃない
0534デフォルトの名無しさん
2011/06/13(月) 22:07:37.24無理無理
奴にはぐぐってそれらしいコードを引っ張ってくるしか能がない
そしてそれを「これは俺が書いたんだぜすごいだろう」と言い張る大嘘つき
0535デフォルトの名無しさん
2011/06/13(月) 22:09:47.34Qのコードをそのまま提出したら、まずまともな点はもらえない
0536デフォルトの名無しさん
2011/06/13(月) 22:10:21.240537デフォルトの名無しさん
2011/06/13(月) 22:10:52.320538デフォルトの名無しさん
2011/06/13(月) 22:15:25.36つまり、QZはあえて変なコードを書き、それを提出させる人に
訂正させることで、提出する人の理解度を高めようとしてるんじゃないの?w
0539デフォルトの名無しさん
2011/06/13(月) 22:17:16.87そんな余計なお節介は不要
0540デフォルトの名無しさん
2011/06/13(月) 22:25:09.66///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\ QZだろうと誰だろうと構わない!!
/ ,i ,二ニ⊃( ●). (●)\ 宿題を回答してくださればそれだけで
/ ノ il゙フ::::::⌒(__人__)⌒::::: \ 大助かりだよ。
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
0541デフォルトの名無しさん
2011/06/13(月) 22:30:54.69まあ他人にPGつくらせる奴がPGとして就職するわけないからかまわんが
0542デフォルトの名無しさん
2011/06/13(月) 22:31:24.35java のコードで出る正解率ってどのくらいなの?
0543デフォルトの名無しさん
2011/06/13(月) 22:37:52.44[1] 授業単元: ソフトウェア設計法
[2] 問題文
Cのソ-スプログラムを読んで、コメント(/* と */で囲まれた文字列)だけを取り出すプログラムの状態遷移図
を作れ。このとき、文字列(" と "で囲まれた文字列)中の/* や */はコメントにならないことに注意すること。
さらに、コメント中の文字列は文字列にならない。この状態遷移図をもとに、制御のデータ化を使ったプログラムを作れ。
※実行例、図などは記載されていませんでした
[3] 環境
[3.1] Windows Vista
[3.2] Visual Studio 2008
[3.3] C
[4] 期限: ([2011年6月14日12:00まで]
[5]特になし
突然で申し訳ありませんがよろしくお願いいたします。
0544デフォルトの名無しさん
2011/06/13(月) 22:42:38.87今、コードを見直して気が付いたんだけど、このコードは世代数が少ないと正解が出にくいな
>>509 で書いた様に10世代4ループに直して動作確認をしただけだよ
バグの可能性も有るんだけど、1000世代40ループ(つまりそのままのコードで)で動作確認してくれないかな
もの凄く時間が掛かりそうなんで自分でやる気になんないのよw
0545デフォルトの名無しさん
2011/06/13(月) 23:14:32.29これが40ループすんのかな
0546デフォルトの名無しさん
2011/06/14(火) 00:14:32.81状態遷移図を書かないとバグリそうだったから、作った。
ttps://spreadsheets.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0ArItcbm5SobndGMyX2JfV0pYcVlDQnBPSzVuX01zWnc&output=html
コード
ttp://codepad.org/jKqcvQbi
元はベタにswitchの中にswitchがあるようなコードだったのだが、やはり見難かったのでジャンプテーブルになった。
状態でswitchで分岐してそれぞれの関数を呼ぶようにした方がよかったかな?
0547デフォルトの名無しさん
2011/06/14(火) 00:45:16.45いえ、十分です^^
本当にありがとうございました!!
0548デフォルトの名無しさん
2011/06/14(火) 01:07:22.211ループ57秒って事は正解が出てるのかな、ちゅても40ループ終わるまで解らん話だけど
正解が出ない場合、家の型落ちノートだと1ループで1000秒かかりそうなんよ
いかな最新機でも20倍の演算速度は無いだろう....無いと信じたい....
...新しいノート買おうかな...orz
0549546
2011/06/14(火) 01:08:15.82/**** ****/
こういう*が連続したときの考慮が漏れていたので、修正した。
ttp://codepad.org/3A2rr0tb
状態遷移図も修正版公開。
しかし、自身のソースを食わせてみると
*** 状態:コードの処理 ****
の表示のあと
状態:エスケープの処理
になっていて、間が抜けている。
ちょっと今日はデバグする暇が無いので、申し訳ないが、現状渡しとさせてください。
0550デフォルトの名無しさん
2011/06/14(火) 01:18:34.77ご丁寧にありがとうございます
0552516
2011/06/14(火) 01:36:09.33サンプルにどのようにそれを入れたら台形則とシンプソン則になるのですか??
0553デフォルトの名無しさん
2011/06/14(火) 01:37:53.67ありがとうございます
こちらも参考にさせていただきます
0554デフォルトの名無しさん
2011/06/14(火) 01:38:31.61お前、自分の言ったことすら守れないんなら、生きてる価値ないよ
0555デフォルトの名無しさん
2011/06/14(火) 01:44:08.99おっと、普通にトリップをつけてしまいました。まあどうでもいいですが。
0556デフォルトの名無しさん
2011/06/14(火) 01:48:44.63どうでも良くねえだろks
0557デフォルトの名無しさん
2011/06/14(火) 02:09:51.47どんだけカスかよくわかるなw
0558デフォルトの名無しさん
2011/06/14(火) 06:51:24.17> [1]C言語
> [2]本文
> ボウリングのスコアを計算するプログラム(確定したフレームの点数を表示する。)
> <条件>
> ・scanfで1投毎のピンを倒した数を入力する。得点が確定したフレームの得点を随時表示する。最後に総合スコアを表示する。10フレームとする。 [3] 環境
> [3.1]WindowsXP
> [3.2]gcc
> [3.3]C言語
> [4]9時まで
> [5]メイン関数一つの中で行いたい。 本当にわかりません。宜しくお願いします。
>
0559デフォルトの名無しさん
2011/06/14(火) 08:38:05.33>>549 に指摘されている問題を、>>551 も持っておりました。
訂正します。
http://codepad.org/O88spGyp
0560デフォルトの名無しさん
2011/06/14(火) 09:37:28.70Qは「自分に甘く人に厳しい」な
典型的な自己愛性人格障害だ
まあ一生無職だろうね
0561デフォルトの名無しさん
2011/06/14(火) 09:43:55.360562 ◆.wtq2G5rfI
2011/06/14(火) 10:01:30.510563デフォルトの名無しさん
2011/06/14(火) 11:57:11.94私の環境では20ループで正答率100%でした
0564デフォルトの名無しさん
2011/06/14(火) 12:22:38.84[2] 問題文(含コード&リンク):
キーボードから入力した数だけの長さのint型の配列を用意して、
同じくキーボードから値を入力し、表示するプログラムkadai9-1.cを作りなさい。
但し長さlengthのint型の配列の内容を表示する関数
void display_array(int *data, int length)を定義して使用すること。
実行例:
gcc kadai9-1.c
./a.out
3 <- 長さを入力
1 3 4 <-データ入力
1 <-ここから表示
3
4
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン :gcc
[3.3] 言語: C
[4] 期限: 2011/6/20 まで
0565デフォルトの名無しさん
2011/06/14(火) 12:25:13.06[2] 問題文(含コード&リンク):
http://codepad.org/6wsr2CEj
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン :gcc
[3.3] 言語: C
[4] 期限: 2011/6/20 まで
0567デフォルトの名無しさん
2011/06/14(火) 12:34:40.15http://codepad.org/4r8wNR9X
0568デフォルトの名無しさん
2011/06/14(火) 12:40:13.89>>558
>>521
[1]C言語 [2]本文
ボウリングのスコアを計算するプログラム(確定したフレームの点数を表示する。) <条件>
・scanfで1投毎のピンを倒した数を入力する。得点が確定したフレームの得点を随時表示する。最後に総合スコアを表示する。10フレームとする。 [3] 環境
[3.1]WindowsXP
[3.2]gcc
[3.3]C言語 [4]14時まで
[5]メイン関数一つの中で行いたい。
0569デフォルトの名無しさん
2011/06/14(火) 12:45:29.31http://codepad.org/qQu3V8Sw
0571デフォルトの名無しさん
2011/06/14(火) 13:47:40.47[1] 授業単元:プログラミング
[2] 問題文:
台形則により関数 f(x)=xe^xをx=0からx=1まで数値積分するプログラムを作成。
ただし、積分区間の分割数nはキーボードから入力する。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: わかりません。すいません。
[3.3] 言語: C言語
[4] 期限: 2011年6月14日17:00まで
[5] その他の制限: 始めたばかりなので、なるべく単純なものでお願いします。
よろしくお願いします!
0572564,565
2011/06/14(火) 13:56:21.48565のコンパイルが出来ないのですがまだc始めたばっかりでわかりません
教えてください
0573デフォルトの名無しさん
2011/06/14(火) 14:07:20.6224行目を
score = (SEISEKI*)malloc( sizeof(SEISEKI) * N );
↓
score = (struct SEISEKI*)malloc( sizeof(struct SEISEKI) * N );
に書きかえて実行してくれ
0574デフォルトの名無しさん
2011/06/14(火) 14:23:58.67ありがとうございました。
0575デフォルトの名無しさん
2011/06/14(火) 14:36:51.97[2]課題:標準入力からC語で記述されたテキストファイルを読み取り
単語の出現回数、出現行(昇順)を
タブ区切り形式で標準出力するプログラムをあらわすC文章を作文しなさい。
ただしクォーテーションの内部やコメントや条件コンパイル指定行、
マクロ定義行は探索範囲としないこと(トライグラフのことは考慮しなくても
よい)
なお単語とはC言語で識別子として認識されるもので長さに関する制限を
除いたものである。(ローカル・グローバル双方で定義されている単語は
一つのものとして数えて良い)
[3] UNIX上のC言語
[4] 6/30まで
[5] 入力されるソースファイルの長さには制限がないものとして
よろしくお願いします。
0576デフォルトの名無しさん
2011/06/14(火) 14:46:18.17>>565
やっていただいたのですが条件としてmalloc()をつかって書けということでした。
malloc()を使ったプログラムもやっていただけませんか?
0577デフォルトの名無しさん
2011/06/14(火) 15:09:12.51http://codepad.org/dWoW89ul
0578デフォルトの名無しさん
2011/06/14(火) 15:32:35.19ほんと感謝します。
0579デフォルトの名無しさん
2011/06/14(火) 15:38:10.28文字列の最後には'\0'が入っているので、探している途中で'\0'が見付かったら強制終了するようにしてくださ
い。
http://codepad.org/Ncqvd92O
0580デフォルトの名無しさん
2011/06/14(火) 15:51:09.39#include <stdio.h>
#include <math.h>
double f(double x)
{
return x * exp(x);
}
int main()
{
int i, n;
double x, dx, sum = 0;
printf("n = ");
scanf("%d", &n);
dx = 1.0 / n;
for (i = 0;i < n; i++) {
x = (double)i / n;
sum += (f(x) + f(x + dx)) * dx / 2.0;
}
printf("result = %f\n", sum);
}
結果が正しいか確認してません
0581デフォルトの名無しさん
2011/06/14(火) 15:56:10.83%9sにしようよ
0582デフォルトの名無しさん
2011/06/14(火) 15:59:29.560583デフォルトの名無しさん
2011/06/14(火) 16:17:42.400584デフォルトの名無しさん
2011/06/14(火) 18:29:33.12ならバグは無かったのかな?
0585デフォルトの名無しさん
2011/06/14(火) 19:12:51.310586デフォルトの名無しさん
2011/06/14(火) 19:23:08.06>>580 ?
0587デフォルトの名無しさん
2011/06/14(火) 19:38:12.33ありがとうございます。
0588デフォルトの名無しさん
2011/06/14(火) 19:54:12.29♯include <stdio.h>
♯include <stdlib.h>
♯include <math.h>
double func(double x)
{
???関数値の計算
}
int main(void)
{
int i,n;
double x,h,a=0.0, b=1.0, sum=0.0;
printf("分割数 n=");
scanf("%d",&n);
h=(b-a)/n;
???積分計算
printf("Integration=%lf",sum);
return(0);
}
}
0589デフォルトの名無しさん
2011/06/14(火) 19:55:36.04[2] for文を使用して以下のプログラムを作成せよ。
�@ 0から100までの奇数だけの和を求めて表示するプログラム
�A 0から2011までの奇数の個数を求めて表示するプログラム
[3.1] Windows7
[3.3] C言語
[4] 水曜19時まで
[5] 多重ループまで
どなたかよろしくお願いします。
0590デフォルトの名無しさん
2011/06/14(火) 19:59:37.87i:ループカウンタ
n:積分区間の分割数
a,b:積分区間の上限と下限
h:区間幅
x:x座標軸
sum:積分値
です。
質問と全く関係ないものだったらスルーしてください。
0592デフォルトの名無しさん
2011/06/14(火) 20:04:16.37[2] 問題文(含コード&リンク):
http://www.dotup.org/uploda/www.dotup.org1699968.c
これを改良して
こんにちは(0)
こんにちは(1)
ありがとう(2)
ありがとう(3)
と4つの言葉をループして(20)まで表示されるプログラムを作成せよ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VisualStudio2008
[3.3] 言語: C
[4] 期限: 2011年6月15(水) 18:00まで
[5] その他の制限: 特になし
おねがいします
0593デフォルトの名無しさん
2011/06/14(火) 20:14:32.91ttp://codepad.org/mZ6tfRnq
0594デフォルトの名無しさん
2011/06/14(火) 20:22:40.99�@ ttp://codepad.org/407PFjxB
�A ttp://codepad.org/3oS1Q6Lr
0595デフォルトの名無しさん
2011/06/14(火) 21:07:19.13ありがとうございます。
これは括弧内の数字を4で割った答えが2より下ならこんにちは、それ以外ならありがとうと表示される…んですよね?
0596デフォルトの名無しさん
2011/06/14(火) 21:30:42.56助かりました。本当にありがとうございました。
0597デフォルトの名無しさん
2011/06/14(火) 21:33:23.54[2] 問題文(含コード&リンク): あらかじめmalloc関数を使って10件の
データを格納できるようにしておく。
その後11件目の"データの入力があった場合にのみ"realloc関数を使って
更なるデータを入力できるようにする。
プログラムの終了はEOFとする。
動作例:
値1:6
値2:34
・
・
・
値10:54
realloc関数によりデータ入力が追加されました。
値11:21
値12:10
ctrl+Z(EOF)
アドレス*******に格納されている値1は6です。
アドレス*******に格納されている値2は34です。
・
・
・
アドレス*******に格納されている値10は54です。
アドレス*******に格納されている値11は21です。
アドレス*******に格納されている値12は10です。
※*にはアドレスが入ります。
0598デフォルトの名無しさん
2011/06/14(火) 21:33:46.60[3] 環境
[3.1] OS:Windows vista business
[3.2] コンパイラ名とバージョン: visual studio
[3.3] 言語:C言語
[4] 期限: 2011年6月20日月曜日午後3時まで
[5] その他の制限:特にありません。 よろしくお願いします。
0599デフォルトの名無しさん
2011/06/14(火) 22:02:14.10それと答えは1.0に収束するけど合ってる?
0600デフォルトの名無しさん
2011/06/14(火) 22:17:07.53ttp://ideone.com/9uXlu
0601549
2011/06/14(火) 22:20:51.20もう提出期限過ぎているので完全に自己満足なのだが、バグを修正した。
>549の不具合は以下の2点
1)シングルクオート中の"の処理をしていなかった。そのため、文字列の開始とみなしていた。
2)コメント中の*の後ろ一文字が出力されていなかった。
ちなみに2は>559にもあるはず。
それから私のコードは//コメントには対応していません。
修正コード
ジャンプテーブルで書きなおしている。
ttp://codepad.org/8D17ZoT1
状態遷移図
ジャンプテーブルを意識して記述を統一している。
本質的に修正したところが朱書き
ttps://spreadsheets.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0ArItcbm5SobndGMyX2JfV0pYcVlDQnBPSzVuX01zWnc&output=html
0604デフォルトの名無しさん
2011/06/14(火) 23:01:12.93誰も答えてないなら
ttp://ideone.com/72umw
0605デフォルトの名無しさん
2011/06/14(火) 23:05:39.40少なくともjavaで書いたものではバグはないと思います。
Cはまだ勉強中なので何とも言えませんが。
0606デフォルトの名無しさん
2011/06/14(火) 23:12:56.01簡単なコードを右から左に移植しただけだから俺にも何とも....
java の結果と大きく異なるようなら見直す必要があるけどね
検証は任せた
0607559
2011/06/15(水) 00:50:06.83不具合のご指摘、感謝いたします。
'/*', '*/' など二文字で1トークンになる処理を、ミーリー型の決定性オートマトンで押し通すのは、なかなか気を使いますね。
>>601 はバックスラッシュを真面目に処理しているようですが、私のは手抜きです。シングルクォータとダブルクォータの中にいるときしかチェックしていません。
>>543
以下に訂正いたします。
http://codepad.org/rflAdPis
0608デフォルトの名無しさん
2011/06/15(水) 01:19:23.580609デフォルトの名無しさん
2011/06/15(水) 01:30:22.36>>607
0610デフォルトの名無しさん
2011/06/15(水) 01:30:39.95JavaをCに移植するなどのぐぐるだけでは無理な事は出来ない
0611デフォルトの名無しさん
2011/06/15(水) 01:37:20.33>適当に改造して
それって Java を C/C++ に移植するより難しいけど?
0612デフォルトの名無しさん
2011/06/15(水) 01:39:52.30ぐぐっても見つからない程度に変形させるだけですから
0613デフォルトの名無しさん
2011/06/15(水) 01:41:50.990614デフォルトの名無しさん
2011/06/15(水) 09:03:53.070615デフォルトの名無しさん
2011/06/15(水) 10:36:33.00九九の表を表示させるプログラムをwhile文、do-while文でそれぞれ2つ完成せよ
実行結果
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
0616デフォルトの名無しさん
2011/06/15(水) 10:42:22.95>>1
0617デフォルトの名無しさん
2011/06/15(水) 11:31:53.26【2】キャラクタでピラミッドを表示するプログラムを作成せよ
実行結果
何段にしますか?
7
#
###
#####
#######
#########
###########
#############
【3】UNIXのC言語
【4】6/17まで
お願いします
0618デフォルトの名無しさん
2011/06/15(水) 11:39:17.34[2] 問題文(含コード&リンク):
プログラム(http://ideone.com/nJToL)の機能(結果画像)を変えずに高速化せよ。
だが高速化をするにあたり以下の制約を設けることとする。
制約1:結果画像が変わらない
制約2:平均化、エッジ抽出処理ともに100回行う。
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限:今日中
[5] どこをどう変えれば高速化するかを優先して教えて頂ければ幸いです。
0619デフォルトの名無しさん
2011/06/15(水) 12:06:06.65#include <stdio.h>
int main(void)
{
int i, j, n;
printf("何段にしますか?\n");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
for(j = i; j < n; j++) printf(" ");
for(j = i * 2 - 1; j > 0; j--) printf("#");
printf("\n");
}
return 0;
}
0620デフォルトの名無しさん
2011/06/15(水) 12:39:54.66128〜133行目を
fwrite(pt, sizeof(UCHAR[DIM1*DIM2*DIM3]), 1, fp);
↑行に変えるだけでかなり早くなりそう。
0621デフォルトの名無しさん
2011/06/15(水) 13:44:43.48[2] �@ http://codepad.org/QMwiwwtp を改良して、
80〜100:優 70〜 79:良 60〜 69:可 0〜 59:不可
の分布グラフを表示するプログラムを作成しなさい。
【実行結果】
点数を入力してください。
1番:17
2番:38
3番:100
4番:95
5番:23
□ 分布グラフ □
優:**
良:
可:
不可:***
�A �@を改造して、「不可一覧表」も表示できるようにしなさい。
【実行結果】
�@のプログラムの下に
不可一覧表
1番 ( 17点)
2番 ( 38点)
5番 ( 23点)
と表示させる。
�B 配列を利用して、23番目までのフィボナッチ数列を画面に整列させた状態で表示させなさい。
1,1,2,3,5,8,13,21,34,…
[3.1] Windows7
[3.3] C言語
[4] 木曜19時まで
[5] 配列まで
わかる方どうかよろしくお願いします。
0622デフォルトの名無しさん
2011/06/15(水) 13:47:29.81filtering() の中で9マス分の重みつき加算を行ってる場所をポインタ演算すれば少し早くなるかも知れない
例えばLine84〜Line90 行目を
pa = a;
for( i = -1; i <= 1; i++ ) {
pd = &(data[g+i][r-1][k]);
for( j = 0; j < 3; j++ ) {
tmp += ( *pd * *pa );
pa++;
pd += DIM3;
}
}
の様にするとかね(double* pa;UCHAR* pd;の宣言を追加する)
配列アクセスのオフセット演算を毎回するよりは加算の方が早いと思うけどコンパイラがお利口なら変わらないかな
0623デフォルトの名無しさん
2011/06/15(水) 13:56:33.28226〜232行目のfreadも一括読み込みにすれば高速化できそうだね。
0624デフォルトの名無しさん
2011/06/15(水) 14:31:37.96[2]for文:1〜10までを表示する他に合計を求めなさい。
実行画面
______
|12345678910|
|合計:55 |
 ̄ ̄ ̄ ̄ ̄ ̄
[3]環境
[3.1] OS: (Windows
[3.2] CPad for Borland 2.31
[3.3] 言語:C
[4] 期限: 2011年6月22日
[5] その他の制限:
0625デフォルトの名無しさん
2011/06/15(水) 14:33:18.68doubleはやめて、8バイト整数(long long)とか(無ければ自前で用意するか
QZに頼むか(推奨))使うのが高速化の切り札とみた
0626デフォルトの名無しさん
2011/06/15(水) 14:52:03.030627デフォルトの名無しさん
2011/06/15(水) 15:22:37.42平均化する時の重みが 1/9 なので整数だと精度が出ないよ
平均化するフィルター関数とエッジ抽出用のフィルター関数を分ければ整数でも処理できると思うけど
0628デフォルトの名無しさん
2011/06/15(水) 16:33:23.89試しに書いてみた
ttp://ideone.com/ufVcv
元のコードより3倍程速くなったよ、結果ファイルも比較したけど同じだった
同じサイズの画像が無かったので DIM1, DIM2 を書き換えたし、100回も回す気にならないので N_REPEAT も書き換えた
元ソースと性能比較するなら元に戻してね
修行が足りないので改修点は次に
0629628
2011/06/15(水) 16:34:27.68・フィルター関数を平均化用とエッジ抽出用に分けて整数で処理した
エッジ抽出用の重みを整数にしたので実数の重みが必要ならこのコードは使えない
平均に関しては加算して9で割るだけなので問題無いだろう
関数を分けたことで無駄な処理も少し減った(平均取る場合レンジチェックは必要無いし、エッジ抽出の場合は四捨五入は必要無い)
・フィルター内でのソース配列アクセスを3回に一度に減らした >>622 で書いた通り
修行はいつになったら終わるんだろうw
0630デフォルトの名無しさん
2011/06/15(水) 16:39:37.080631デフォルトの名無しさん
2011/06/15(水) 17:32:33.63作りたいものが無いのにプログラムの勉強してる方がおかしい
普通は作りたいものがあるから仕方なくプログラム勉強するもの
0633デフォルトの名無しさん
2011/06/15(水) 18:20:08.380634デフォルトの名無しさん
2011/06/15(水) 19:59:54.970635デフォルトの名無しさん
2011/06/15(水) 21:04:55.540636デフォルトの名無しさん
2011/06/15(水) 21:17:12.04「ベクトル化 並列化」でぐぐれ
0637デフォルトの名無しさん
2011/06/15(水) 21:26:56.38http://codepad.org/U2xfkFm5
http://codepad.org/8fq0gS11
http://ideone.com/YBU4h
0638デフォルトの名無しさん
2011/06/15(水) 21:31:50.07具体的に書いてやれよw
書けるなら
0639デフォルトの名無しさん
2011/06/15(水) 21:45:27.87�@&�A
ttp://ideone.com/GAOSq
�B
ttp://codepad.org/ZU2WZrE4
0640デフォルトの名無しさん
2011/06/15(水) 22:31:30.00[2]本文
以下のLED 7セグメント(4桁)を制御するプログラムを作成してください
(1) 入力に+ キー1つをもち、1桁だけのカウンタを作成する。
(2) スイッチのチャタリング防止のために、20msec程度の間に1msec
間隔で連続5回程度ON状態を検出したらONにする関数を追加する。
(3) スイッチのチャタリング防止の機能を拡張すると、長押しの動作の
判定が可能になる。長押し(1秒以上)でカウンタが「ゼロ」になるように拡張する。
(4) 500msecの間に2回ONを検知したらダブルクリックである機能を追加
する。ダブルクリックでは、自動的にカウントアップする動作を行うこと。
もう一度ダブルクリックで停止、ダブルクリックで再開、長押しでリセットする。
(5) 実験1〜4で実現した機能をさらに活用して、4桁のカウンタを作る。
このとき長押し、ダブルクリックの機能も残す。
4桁の7セグを直接制御するため、 ダイナミック点灯の考え方を使って4桁表示を行う。
7セグを制御する7ポート(例:RBO〜6)と表示する桁を制御する4ポート
(例:RAO〜3)を利用する。
表示桁の切り替えを5msecで行い、そのタイミングでその桁に表示する数値を切り
替える。
[3] 環境
[3.1]Windows Vista
[3.2]Visual Studio 2008
[3.3]C言語
[4]6月21日
[5]使用したPICは、16F84です
よろしくおねがします
0641デフォルトの名無しさん
2011/06/15(水) 22:41:17.91�@&�Aの方なんですが、const修飾子や%sというのは習っていないので、
何か別のもので代用できませんか?
�Bの方は問題ないです。ありがとうございます。
0642デフォルトの名無しさん
2011/06/15(水) 22:44:02.26今使用している(または指定されている)コンパイルオプションとかも出した方がいいような。
それによってロジックの変更対象となる内容が変わってくることもある。
>>622はコンパイルオプションによっては効果がないけれど
>>628の平均化処理の改善は効果がある
といった感じで。
>>622の代わりに、手動ループ展開でいいとも思う。
tmp=
data[g-1][r-1][k]*a[0] +
data[g-1][r ][k]*a[1] +
data[g-1][r+1][k]*a[2] +
data[g ][r-1][k]*a[3] +
data[g ][r ][k]*a[4] +
data[g ][r+1][k]*a[5] +
data[g+1][r-1][k]*a[6] +
data[g+1][r ][k]*a[7] +
data[g+1][r+1][k]*a[8];
0643デフォルトの名無しさん
2011/06/15(水) 23:25:49.180644デフォルトの名無しさん
2011/06/15(水) 23:31:28.67とはいってもウチは習ってないことを使ってたらうるさいからなぁ。
「こんなの教えてないじゃん」って突っ返される。
0645デフォルトの名無しさん
2011/06/15(水) 23:39:45.650646デフォルトの名無しさん
2011/06/15(水) 23:42:41.67だから飾りだって言ってるだろ、外しても生成されるコードに変化は無いよ
0647デフォルトの名無しさん
2011/06/15(水) 23:47:10.42あくまで習ってる技術だけで作れ、ってことだと思う。
そのへん無駄に厳しいんだよなぁ。
そうしないとできないなら話は別なんだろうけど。
0648デフォルトの名無しさん
2011/06/15(水) 23:50:10.43変化ないと思ってるの?
0649デフォルトの名無しさん
2011/06/15(水) 23:54:30.96しないよ、コンパイル時にチェックされるだけだろ
もし変化するって言うならどんな変化があるんだ?
そのアドレスにブロックでもかかるのか?
0650デフォルトの名無しさん
2011/06/15(水) 23:56:44.920651デフォルトの名無しさん
2011/06/15(水) 23:59:33.400652デフォルトの名無しさん
2011/06/16(木) 00:02:31.72C++でもあの使いからなら変わらないんじゃないか?メモリ配置に影響有ったっけ?
>>651
ヒントに使用されて結果は変わるのか?
0653デフォルトの名無しさん
2011/06/16(木) 00:04:27.94「どう変わるんだ?」は無しな、最適化でググれカス
0654デフォルトの名無しさん
2011/06/16(木) 00:05:30.32よりコストの低いコードに変化するよ
0655デフォルトの名無しさん
2011/06/16(木) 00:11:38.59どう変わるかは答えられないんじゃないのw
>>654
レジスタに配置?定数を?意味が判らん
0656デフォルトの名無しさん
2011/06/16(木) 00:17:01.25結果としてコードが変わらない事もあれば変わる事もある 変わる場合でも前述の通り前後関係によってコードは変化する
どう変わるかという問い自体ナンセンス
0657デフォルトの名無しさん
2011/06/16(木) 00:17:11.06ここを読むと、constが最適化に使われる可能性があることも、
C++では抜け穴があるから実際には最適化の役に立たないことも分かる
0658デフォルトの名無しさん
2011/06/16(木) 00:18:31.850659デフォルトの名無しさん
2011/06/16(木) 00:19:35.770660デフォルトの名無しさん
2011/06/16(木) 00:22:29.81このスレなら、C++でconstを使うのは(最適化に限らず)無駄だと誤解しちゃう人が出てくるかもしれないね
0661デフォルトの名無しさん
2011/06/16(木) 00:28:39.14一応、コンパイル時にチェックされるとは書いたんだけどね
それにC++でクラス宣言内で使った場合は全く意味が違うからコードどころか動作も変わる
誤解させそうな書き方は避けた方が良いのはそうだね、反省しよう
0662デフォルトの名無しさん
2011/06/16(木) 00:39:55.330663デフォルトの名無しさん
2011/06/16(木) 00:46:39.28ttp://ideone.com/Wf0IZ
0664デフォルトの名無しさん
2011/06/16(木) 00:47:36.35>(推奨)
速度はともかく、チェックしていただいていたとは光栄です。でもテストがまだまだ足りない。GMP の結果と付き合わせたほうがいいかも、と考えています。
そんなことするくらいなら、素直に GMP 使えっ、てとこですが‥‥‥。
0665デフォルトの名無しさん
2011/06/16(木) 00:58:05.71ありがとうございます!非常に助かりました。
0666デフォルトの名無しさん
2011/06/16(木) 07:02:50.45みんなテレビ消すから。
公共機関を止めるくらいなら、テレビやめろ!
0667デフォルトの名無しさん
2011/06/16(木) 10:09:00.12constな変数は、生成コード(データじゃなく)の
中に埋め込んでしまうんだろうな
0668デフォルトの名無しさん
2011/06/16(木) 11:45:31.33[2] 問題文(含コード&リンク): �@:char name[20],int english,int mathematics をメンバとする構造体 score を定義せよ。
�A:以下の5人の情報をもつ配列 seito[5] を、�@で作成した構造体 score 型を使って宣言せよ。なお、5人の情報は初期値として宣言することにする。
name english mathematics
”yamada” 50 70
”tanaka” 70 60
”suzuki” 80 70
”yamamoto”40 60
”sakata” 90 80
�B:�Aで初期値を代入した構造体 score 型の構造体配列 seito[5] を宣言し、各メンバ変数でソートする関数を作成せよ。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限: 6月21日09:00まで
[5] その他の制限: �Bの問題をお願いします。
0669デフォルトの名無しさん
2011/06/16(木) 16:48:52.84ってやっぱり面倒な問題ですか?
0670デフォルトの名無しさん
2011/06/16(木) 17:40:33.24入力ファイル中のアルファベット各文字の個数を数えるプログラムを作成せよ。(大文字と小文字は合わせて数える)
スペースや記号、数字などは数えない。
そして、結果を文字数の多い順にソートして出力せよ。
コンパイラ
gcc
期限
2011/6/18
0671デフォルトの名無しさん
2011/06/16(木) 17:56:39.36[2] 問題文(含コード&リンク):
まずcv::imreadで画像を読み込みcv::thresholdで二値化し
白くなった場所の画素の総数を求めたいのですが、どう記述すれば良いのでしょうか?
ラベリングし場所ごとの、というよりは画像全体で白い場所が何画素あるかを知りたいのです。
[3] 環境
[3.1] OS: Windows
[3.2] VC2008
[3.3] C++
[4] 期限:無期限
[5] その他の制限:
昨日より独学でOpenCVを扱い始め
参考書を読みながら基本的なことを勉強中ですが
今まで触った事のないC++環境で四苦八苦しています。
初歩的な質問で申し訳ありませんが教えていただけないでしょうか?
0673デフォルトの名無しさん
2011/06/16(木) 18:18:08.09修正
ttp://ideone.com/pFk0Y
0674デフォルトの名無しさん
2011/06/16(木) 18:31:48.29>条件コンパイル指定行、
が困難(自前で解釈するのしんどいです。)です。
>クォーテーションの内部やコメント
は、>>601, >>607 でほぼ完成しているので、流用が可能です。
とりあえず、しばしお待ちを。
0675デフォルトの名無しさん sage
2011/06/16(木) 18:59:36.26[2] 問題文(含コード&リンク):ある学校の複数のクラスで試験を実施した.
クラスごとの各学生の試験の得点が2次元配列の形で与えられている.
クラスごとの平均点を計算
し,コンソールに出力するプログラムを作成せよ
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 明日まで
0676デフォルトの名無しさん
2011/06/16(木) 19:16:33.19ttp://ideone.com/4nOPa
俺もネットのサンプル漁って作ってみた、
なので一端グレイスケールにしてるけど、
工夫したらフルカラーのままでいけるかもしれないし、いけないかもしれない。
0677デフォルトの名無しさん
2011/06/16(木) 20:10:42.49ttp://codepad.org/CEc5L37u
0678676
2011/06/16(木) 20:11:52.360679765
2011/06/16(木) 20:50:01.44$ ./report10-1 ←プログラム実行のコマンドを入力
==== クラス 0: 4人 ====
出席番号 0: 得点 32点
出席番号 1: 得点 52点
出席番号 2: 得点 18点
出席番号 3: 得点 58点
クラス平均点:40.0点
0680765 ミス
2011/06/16(木) 20:54:21.71出席番号 0: 得点 32点
出席番号 1: 得点 52点
出席番号 2: 得点 18点
出席番号 3: 得点 58点
クラス平均点:40.0点
==== クラス 1: 3人 ====
出席番号 0: 得点 41点
出席番号 1: 得点 59点
出席番号 2: 得点 50点
クラス平均点:50.0点
==== クラス 2: 6人 ====
出席番号 0: 得点 63点
出席番号 1: 得点 83点
出席番号 2: 得点 71点
出席番号 3: 得点 89点
出席番号 4: 得点 77点
出席番号 5: 得点 97点
クラス平均点:80.0点
0681875 ミス
2011/06/16(木) 20:57:11.48==== クラス 0: 4人 ====
出席番号 0: 得点 32点
出席番号 1: 得点 52点
出席番号 2: 得点 18点
出席番号 3: 得点 58点
クラス平均点:40.0点
==== クラス 1: 3人 ====
出席番号 0: 得点 41点
出席番号 1: 得点 59点
出席番号 2: 得点 50点
クラス平均点:50.0点
==== クラス 2: 6人 ====
出席番号 0: 得点 63点
出席番号 1: 得点 83点
出席番号 2: 得点 71点
出席番号 3: 得点 89点
出席番号 4: 得点 77点
出席番号 5: 得点 97点
クラス平均点:80.0点
0682675 ミス
2011/06/16(木) 22:11:28.57==== クラス 0: 4人 ====
出席番号 0: 得点 32点
出席番号 1: 得点 52点
出席番号 2: 得点 18点
出席番号 3: 得点 58点
クラス平均点:40.0点
==== クラス 1: 3人 ====
出席番号 0: 得点 41点
出席番号 1: 得点 59点
出席番号 2: 得点 50点
クラス平均点:50.0点
==== クラス 2: 6人 ====
出席番号 0: 得点 63点
出席番号 1: 得点 83点
出席番号 2: 得点 71点
出席番号 3: 得点 89点
出席番号 4: 得点 77点
出席番号 5: 得点 97点
クラス平均点:80.0点
0683スミス
2011/06/16(木) 22:17:32.03出席番号 0: 得点 32点
出席番号 1: 得点 52点
出席番号 2: 得点 18点
出席番号 3: 得点 58点
クラス平均点:40.0点
==== クラス 1: 3人 ====
出席番号 0: 得点 41点
出席番号 1: 得点 59点
出席番号 2: 得点 50点
クラス平均点:50.0点
==== クラス 2: 6人 ====
出席番号 0: 得点 63点
出席番号 1: 得点 83点
出席番号 2: 得点 71点
出席番号 3: 得点 89点
出席番号 4: 得点 77点
出席番号 5: 得点 97点
クラス平均点:80.0点
0684デフォルトの名無しさん
2011/06/16(木) 23:44:17.79ありがとうございます
0685674
2011/06/17(金) 00:15:16.27逆に質問です。
>条件コンパイル指定行、マクロ定義行は探索範囲としないこと
というのは、「'#' で始まる行は対象外」と考えていいでしょうか?
0686デフォルトの名無しさん
2011/06/17(金) 00:45:31.05>685
とりあえず、エスケープで改行文字がエスケープされて、次の行もマクロ行になる点は
考慮しておく必要があるでしょうね。
0687デフォルトの名無しさん
2011/06/17(金) 01:27:50.06なるほど、すっかり忘れていました。
0688デフォルトの名無しさん
2011/06/17(金) 12:36:53.61ttp://codepad.org/hBQREaIs
とりあえず、作ってみたけど求められてるレベルの代物じゃねぇと思うw
コンパイル可能なソース飲みに対応してるから、その辺は突っ込まんでくれw
特に数値リテラル辺りは浮動小数点とサフィックスの検出がいい加減だから修正したほうがいい。
ところで、構文解析とかするような学生なら、yaccとか使うんだろうけど、どの辺の層の学生がこんな辺鄙な課題するの?
0689デフォルトの名無しさん
2011/06/17(金) 14:18:35.83575じゃないけど難しく考えすぎって感じ
1#include<stdio.h>
2:int main(void){
3:int foo,bar;
4:foor=1;
5:bar=2;
6:return 0;
7;}
を食わせると
int 2回 L2 L3
main 1回 L2
void 1回 L2
foo 2回 L3 L4
bar 2回 L4 L5
return 1回 L6
って感じで使われている単語と出現回数と出現行リストが
出てくるようにしろってことじゃねの?
0690デフォルトの名無しさん
2011/06/17(金) 16:02:04.980691デフォルトの名無しさん
2011/06/17(金) 16:23:59.900692デフォルトの名無しさん
2011/06/17(金) 16:42:25.81はい、そのとおりです。
0693デフォルトの名無しさん
2011/06/17(金) 17:29:53.18まぁ、以下の要件に気をつければいいだけだから、難しく考えずにちょっと作ってみたらいいと思うよ。
> ただしクォーテーションの内部やコメントや条件コンパイル指定行、
> マクロ定義行は探索範囲としないこと(トライグラフのことは考慮しなくてもよい)
こんな細かい話はさておき、行番号の出力にLをつけるべきかどうかを深く議論すべきかもしれないね。
0694デフォルトの名無しさん
2011/06/17(金) 17:36:05.12難しく考えすぎなんかね?
単純にトークン切り出しってCSVとかXMLパーサのイメージあるから、
課題だったらそっちかと思ったが。
Cソースだと、単純にトークン切り出したらサフィックスと浮動小数点のeが取り出されるからよぉ・・・。
あと、純粋Cなんて一年触ってねぇニートには少々ハード過ぎたよ。
0695デフォルトの名無しさん
2011/06/17(金) 18:09:40.70http://ideone.com/hUL6n
こんな感じでいいですか?
久しぶりにCやったんでおかしいところあるかもしれません
0696デフォルトの名無しさん
2011/06/17(金) 18:39:20.57ttp://codepad.org/GlCL0A96
一歩遅かったかw
0697デフォルトの名無しさん
2011/06/17(金) 19:36:24.79>>696
お二方とも本当にありがとうございます!!
0698デフォルトの名無しさん
2011/06/17(金) 22:48:30.06普通に./a.exeで実行した場合は
n =
って表示されて数字を入力するとその結果が出力されるんですが
scriptをとってから./a.exeで実行するとn = と表示されるだけで
何も入力できずに終わってしまいます...
どうしたらいいでしょうか?
0699デフォルトの名無しさん
2011/06/17(金) 22:49:14.79下が作成したプログラムです
http://codepad.org/dpspqYlT
どうにかして完成させたいので、よろしくお願いします
0700デフォルトの名無しさん
2011/06/17(金) 22:55:57.72[2] 問題文(含コード&リンク): http://loda.jp/0tm/?id=823
*を穴埋めし以下の実行結果になるようプログラムせよ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
C の名前は最初は英字または '_' でなければならないから、
>サフィックスと浮動小数点のe
は自然に排除されるのでは?
ちょっと書いてみようか。
0702デフォルトの名無しさん
2011/06/17(金) 23:15:52.24[2] 問題文(含コード&リンク):
1行最大80文字の空白を挟まない英字文字列を入力し、
10文字続けて表示するごとに改行を挿入して表示するプログラムを作成しなさい
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 6/20まで
0703デフォルトの名無しさん
2011/06/17(金) 23:21:00.66int i, len;
char word[80];
scanf("%s", word);
len = strlen(word);
for (i = 0; i < len; i++) putchar((i + 1) % 10 == 0 ? '\n' : word[i]);
コンパイルしてないけどたぶんこんなかんじ。
0704デフォルトの名無しさん
2011/06/17(金) 23:22:16.38for (i = 0; i < len; i++) {
putchar(word[i]);
if ((i + 1) % 10 == 0) putchar('\n');
}
こんなかんじ。
0705デフォルトの名無しさん
2011/06/17(金) 23:24:11.25数値リテラルの検証を書いてないのですよ。
浮動小数点のドットが出てきたら区切り文字扱いで別の処理に回して、
再度続く数値にeを引っ張らせているから正確性は保証できない。
0706デフォルトの名無しさん
2011/06/18(土) 00:24:19.580707デフォルトの名無しさん
2011/06/18(土) 00:53:13.83http://codepad.org/4rIJk0po
0708707
2011/06/18(土) 00:59:53.61↑間違い
http://codepad.org/iTlnrldK
0710デフォルトの名無しさん
2011/06/18(土) 01:50:17.2314:05 キキミミ! 芸能
15:00 ショムニ #12
15:54 ワンダフルライフ #09
16:48 ニュースアンカー
関東: フジテレビ 6/16(木)
14:07 韓流α・逆転の女王 #18
15:00 韓流α・検事プリンセス #12
15:57 韓流α・コーヒープリンス1号店 #13
16:53 スーパーニュース
ニュースアンカーとスーパーニュースの比較はこちら
【東】ニュースの違い【西】
1 http://www.nicovideo.jp/watch/sm14574549
2 http://www.nicovideo.jp/watch/sm14624601
3 http://www.nicovideo.jp/watch/sm14687830
0711デフォルトの名無しさん
2011/06/18(土) 02:33:31.59乙
0712デフォルトの名無しさん
2011/06/18(土) 09:53:42.78これは問題文の通り、10ごとに/nいれるだけでいいだろ。
0713デフォルトの名無しさん
2011/06/18(土) 09:56:44.02#include <stdio.h>
int main(void)
{
0714デフォルトの名無しさん
2011/06/18(土) 09:59:06.78>>702
#include <stdio.h>
int main(void)
{
char str[81];
int i, j;
scanf("%s", str);
for(i = j = 0; str[i]; i++) {
printf("%c", str[i]);
j++;
if(j == 10) {
printf("\n");
j = 0;
} }
return 0;
}
0715デフォルトの名無しさん
2011/06/18(土) 12:03:27.25#include <stdio.h>
int main(void){
char s[81], *p = s;
printf("s = ");
scanf("%s", s);
while (*p) {
putchar(*p++);
if (!((p - s) % 10))
putchar('¥n');
}
return 0;
}
0716デフォルトの名無しさん
2011/06/18(土) 12:50:38.29[1] 授業単元: 課題
[2] 問題文
1. 10*10(=100)の領域に、ランダムに30個の点を配置する
2. ランダムに2点 A, B を選ぶ
3. AからBまで、距離10以内にある点を経由し移動が可能か否か判定せよ
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 6/20まで
[5] 大学2年生レベルで
1. 2. の部分は作れました。3.で苦戦しています。
組合せ爆発?を回避する方法があるんですかね、
0718デフォルトの名無しさん
2011/06/18(土) 13:34:19.070719デフォルトの名無しさん
2011/06/18(土) 13:41:28.9810*10だと、2点以上経由する必要はないと思う。
0720デフォルトの名無しさん
2011/06/18(土) 13:42:37.170721デフォルトの名無しさん
2011/06/18(土) 13:45:58.84なんで?
例えば、20個の点を経由して移動が可能な場合もありえるよね
0722デフォルトの名無しさん
2011/06/18(土) 13:59:28.550723デフォルトの名無しさん
2011/06/18(土) 14:24:29.92なんで?
>3. AからBまで、距離10以内にある点を経由し移動が可能か否か判定せよ
問題文読む限り、ここで、最大のAB間の距離は矩形の対角に相当する距離14.xxだから、
A,Bのそれぞれの距離10の点集合を積集合とればそれでいいんじゃねぇの?
俺の文章理解が足りないのか?
0724デフォルトの名無しさん
2011/06/18(土) 14:24:45.12マザーズ上場予定の東大発ベンチャー「このプログラムを書けたら即入社!」
http://hogehogesokuhou.ldblog.jp/archives/51739013.html
チャレンジテスト
ある画像を5X3の領域に分割し、それぞれの領域をシャッフルしました。
元の画像を復元し出力するプログラムを書いてください。
但し、プログラムはC言語で記述するものとします。
http://www.morphoinc.com/careers/images/result2.jpg
0725デフォルトの名無しさん
2011/06/18(土) 14:28:28.62直線移動可能なのか?
縦横のみか。
0726716
2011/06/18(土) 14:38:25.43各点から半径10以内の点に移動可能、複数回経由してもokです
0727デフォルトの名無しさん
2011/06/18(土) 14:42:05.270728デフォルトの名無しさん
2011/06/18(土) 14:45:48.62A□□□□
□□□□□
□□□□□
□□□□□
□□□□B
Cをこうとればいいんだろ。
A□□□□
□□□□□
□□□□□
□□□□□
C□□□B
これってなんのプログラムも必要ないと思うんだが。明らかだ。
N*Nだったら距離(N-1)で十分だし。
0729デフォルトの名無しさん
2011/06/18(土) 14:48:18.30『任意に点A、Bをとったとき、ある点Cを選んだら、AB間、BC間がともに距離10に出来る。』
0730デフォルトの名無しさん
2011/06/18(土) 14:49:13.120731デフォルトの名無しさん
2011/06/18(土) 14:51:14.73点30があったか。
0732デフォルトの名無しさん
2011/06/18(土) 14:54:28.12AとBが距離10以上の場合、AとB以外の点を、
Aから直接到達可能な場合はAグループ、
残りの点で、Bから直接到達可能な場合はBグループ、
何れも直接到達不可能な点はZグループにする、
1.AグループとBグループの何れかが空なら、「不可能」
2.Aグループの点を順に見ていき、それからBに到達可能であれば「可能」
3.Aグループの点を順に見ていき、それからBグループの点に到達可能であれば「可能」
4.Zグループが空でないとき、Zグループの点を順に見ていき、
Aグループ、Bグループの双方に到達可能な点があれば、「可能」
こんな考え方で出来ないかな?
0733デフォルトの名無しさん
2011/06/18(土) 14:56:22.59Aから距離10以内に点があったら、探索を続けてBまでいければいい。
0734デフォルトの名無しさん
2011/06/18(土) 14:59:34.38Zグループは双方じゃなくても、Zグループ内の何れかでAグループ、Bグループに到達出来ればいけそう。
0735デフォルトの名無しさん
2011/06/18(土) 14:59:44.73A、Bの半径10以内をそれぞれ赤と青で塗りつぶす。
塗りつぶされた点があればそこから半径10以内を同色で塗りつぶす。
色が交わるか。
0736デフォルトの名無しさん
2011/06/18(土) 15:01:32.36「堂々巡り」と「遠回り」の回避方法を訊いてるんだろw
0737デフォルトの名無しさん
2011/06/18(土) 15:01:57.050738デフォルトの名無しさん
2011/06/18(土) 15:01:58.30コレって問題文そのままなの?
移動可能の可否ならば、複数回経由する必要がAB両方から距離10以内の点一つ見つけるだけで終わるんだが、認識に何か違いがあるのか?
再帰とか配列塗りつぶしでもさせたい問題なのか?
0739デフォルトの名無しさん
2011/06/18(土) 15:03:29.59考えて見たけど、それ程単純ではなさそう。
0740デフォルトの名無しさん
2011/06/18(土) 15:06:26.97A、Bからともに距離10以内の点がなくても移動可能な場合はある。
0741デフォルトの名無しさん
2011/06/18(土) 15:11:22.32オセロみたいではなくて碁のように交わる線上を頂点としていいよな?
0742デフォルトの名無しさん
2011/06/18(土) 15:12:33.680743デフォルトの名無しさん
2011/06/18(土) 15:15:32.52libjpegのクソさに吹いた
0744デフォルトの名無しさん
2011/06/18(土) 15:23:46.970745デフォルトの名無しさん
2011/06/18(土) 15:25:51.43Aを中心とした半径10の間違いだろ
0746デフォルトの名無しさん
2011/06/18(土) 15:49:27.76d(x,y) <= 10なら終了。
xから距離r以内の点でyに最も近い点をx'とする。
yから距離r以内の点でxに最も近い点をy'とする。
x=<x'かつy=<y'なら存在しない。
x=x' y=y'
として2行目へ。
0747デフォルトの名無しさん
2011/06/18(土) 15:58:11.580748デフォルトの名無しさん
2011/06/18(土) 16:00:28.24while( d(x,y) > r ) {
x' = xから距離r以内の点でyに最も近い点
y'
= yから距離r以内の点でxに最も近い点
if( x==x' && y==y' ) break;
x=x'; y=y';
}
0749デフォルトの名無しさん
2011/06/18(土) 16:01:42.53[2]ASCIIアートだけで「赤頭巾ちゃんと狼」をアレンジしたRPG
を作れ
[3] Windows 7/Visual studio/C言語
[4]本日まで
[5]土曜日補習で出た宿題です。出来なければ帰れません
よろしくお願いします
0750デフォルトの名無しさん
2011/06/18(土) 16:02:29.38かならずBに最も近い点を取っていくので問題なし。
0751デフォルトの名無しさん
2011/06/18(土) 16:03:24.77[2] 問題文(含コード&リンク):
1行最大80文字の空白を挟まない英字文字列を入力したとき、大文字の文字を小文字に、小文字の文字を大文字にして表示するプログラムを作成しなさい
このプログラムの入力は、英字以外の文字が入力される場合を考慮しなくてもよい
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 6/20まで
0752デフォルトの名無しさん
2011/06/18(土) 16:05:05.740753デフォルトの名無しさん
2011/06/18(土) 16:06:11.78746.c(5): 演算子 '=<' が未定儀です。
0754デフォルトの名無しさん
2011/06/18(土) 16:12:57.27総当たりで塗りつぶすほうが手間掛かる。
あらかじめ埋立地のようにして地図を作っておけば、海以外の点同士はつながっていると簡単に判定できるが。
0755デフォルトの名無しさん
2011/06/18(土) 16:15:00.06このデータでやって、上手くいく?
A=(0,0)
B=(10,1.5)
C=(0.1,0)
D=(0,0.5)
E=(1,10)
F=(4,10)
G=(10,2)
0756デフォルトの名無しさん
2011/06/18(土) 16:26:59.69http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/img/125.txt
0757デフォルトの名無しさん
2011/06/18(土) 16:34:21.49#include <stdio.h>
int main()
{
char buf[ 81 ], *p = buf;
scanf( "%80s", buf );
while( *p )
*p++ += ( *p >= 'a' && *p <= 'z' ? 'A' - 'a' : 0 ) - ( *p >='A' && *p <= 'Z' ? 'A' - 'a' : 0 );
printf( "%s\n", buf );
return 0;
}
0758デフォルトの名無しさん
2011/06/18(土) 16:52:29.84#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct { int x; int y; } ZAHYO;
#define N 10
#define R 10
#define TENSU 30
ZAHYO ten[TENSU];
double distance(int m, int n){ double d=pow(ten[m].x-ten[n].x, 2) + pow(ten[m].y-ten[n].y, 2); return sqrt(d); }
int tikaiten( int m, int n, int r) { // ten[m]から距離R以内でten[n]に最も近い点
int i, hozon=0; double hozon_d = r+1;
for(i=0; i<TENSU; i++) {
if( distance( m, i) > r ) continue;
double d=distance( n, i);
if(d>=hozon_d) continue;
hozon_d=d; hozon=i;}
return hozon;}
int main() {
int su=0,i;
while(su < TENSU) {
int x=rand()%N; int y=rand()%N;
for(i=0; i<su; i++) if(ten[i].x==x && ten[i].y==y ) break; if( i<su ) continue;
su++; ten[su].x=x; ten[su].y=y; }
int m=0, n=1;
while( distance (m, n) >R ) {
int k = tikaiten( m, n, R); int l = tikaiten( n, m, R);
if(k==m && l==n) { printf("×\n"); return 0; }
m=k; n=l;}
printf("○\n");}
0759デフォルトの名無しさん
2011/06/18(土) 17:04:01.88経由点は1点なの?ちゅか10x10の範囲で距離10以下なら1点以上経由する必要が有るケースが浮かばない
Aから距離が10以下である点群とBから距離が10以下である点群に共通項が有れば移動は可能だよね
距離がもっと短くて複数点経由が必要なら面白い問題になりそうだけど
0760デフォルトの名無しさん
2011/06/18(土) 17:07:47.11>>755考えてみてw
0761デフォルトの名無しさん
2011/06/18(土) 17:16:22.79もう少し細かく指定してくれ。
お前さんの授業内容から何がどういう方向性で作れればいいかまるで見当がつかない。
0762デフォルトの名無しさん
2011/06/18(土) 17:47:47.43[2] 問題文(含コード&リンク):クラスごとの平均点の出力のかわりに,全クラスで得点の高い者順に,クラス・出席番号・得点のセットのデータ出力を行うプログラムを作成せよ.
<実行例>
$ ←プログラム実行のコマンドを入力
( 0) クラス:2 出席番号:5 得点:97
( 1) クラス:2 出席番号:3 得点:89
( 2) クラス:2 出席番号:1 得点:83
( 3) クラス:2 出席番号:4 得点:77
( 4) クラス:2 出席番号:2 得点:71
( 5) クラス:2 出席番号:0 得点:63
[3] 環境
[3.1] windows: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語: C
[4] 期限:月曜日まで
0763デフォルトの名無しさん
2011/06/18(土) 17:56:19.14>>758を改良した。これは正しい経路を出していると思う。
http://ideone.com/KzVWs
0764763
2011/06/18(土) 18:00:01.15>>763は警告出る。こっちで。
http://ideone.com/stQPn
0765デフォルトの名無しさん
2011/06/18(土) 18:02:08.930766763
2011/06/18(土) 18:05:31.00表示部分がミスってた。これで。
http://ideone.com/xzRrw
0767デフォルトの名無しさん
2011/06/18(土) 18:16:29.05迂回しないとたどり着けない場合は求まらない気がする。
0768デフォルトの名無しさん
2011/06/18(土) 18:34:27.18片側から、たどり着ける部分を総当たりで、チェックしていくのが唯一の正解の気がするな。
0769デフォルトの名無しさん
2011/06/18(土) 18:34:56.54> [3.3] 言語:C
参照使うなよ。
0770デフォルトの名無しさん
2011/06/18(土) 18:40:06.38> 迂回しないとたどり着けない場合は求まらない気がする。
どんなケースがあるんだろう?
0771デフォルトの名無しさん
2011/06/18(土) 18:42:56.15なんかナンセンスだな、
MVVMパターンでコード書いときゃ
画像云々なんて関係ないんだが。
0772771
2011/06/18(土) 18:45:43.510773デフォルトの名無しさん
2011/06/18(土) 18:47:14.93これで正解と進めてたら、中心部分でギリギリ距離が足らなかったら失敗する。
■□□□□
□■□□□
□□■□□
□□□■□
□□□□■
しかしこう進めたら届くケースがあり得る。
■□□□□
■□□□□
■□□□□
■□□□□
■■■■■
0774デフォルトの名無しさん
2011/06/18(土) 18:50:23.430775デフォルトの名無しさん
2011/06/18(土) 18:58:29.6610x10で半径10というところがミソでA=(1,1), B=(9,9)で
(0,0),(0,1), ....(0,9),(1,9),(2,9), .... (9,9)という経路しかない場合。
0776デフォルトの名無しさん
2011/06/18(土) 19:04:36.26この動ける距離がでかすぎるのが、間違えやすい原因だな。
半径1以下なら大域的経路が重要と思いつくのだが。
0777デフォルトの名無しさん
2011/06/18(土) 19:23:08.50ttp://codepad.org/DvEBw1xk
特に制限ないから80文字以上、空白含む、英数字以外ありでも動作するコードになっている。
もちろん80文字以内、空白なし、英数字のみでも動作する。
>757
文字コード体系がa-z, A-Zが連続、ofsetがすべて同じじゃないと破綻する。
0778デフォルトの名無しさん
2011/06/18(土) 19:28:37.15ttp://ideone.com/X24dh
垢抜けないコードだけど書いてみた、でも最短距離を求めるにはどうすれば良いかな?
0779デフォルトの名無しさん
2011/06/18(土) 19:31:33.07z(0)からz(N)をつなぐ経路で各経路間がR以下になるものを求めよ。
まだ解けていない。
0780デフォルトの名無しさん
2011/06/18(土) 19:41:22.080781デフォルトの名無しさん
2011/06/18(土) 19:42:26.28なるほど。
>>774
自分より目標に対して遠くなる経路は考えなくてもいいよね。
0782デフォルトの名無しさん
2011/06/18(土) 19:57:49.63始点と終点のペアが1つしかないなら幅優先探索でいいし、いくつもの始点と終点のペアに対して移動可能かどうか答えるならワーシャル・フロイド法っぽくやればいい
0783デフォルトの名無しさん
2011/06/18(土) 20:23:33.38こう届くケースもあり得る
□■■■□□□
■□□■□□□
■□□■□□□
■□□■□□□
■□□□■■■
■□□□□□□
■■■■■■■
0784デフォルトの名無しさん
2011/06/18(土) 20:38:02.56一つもたどれる道がないことを示す為には力任せ・全数探索しか無いと思うが。
それをいかに高速化するかが重要では。
0785デフォルトの名無しさん
2011/06/18(土) 20:42:53.40幅1.0だったらまっすぐ進めたとしても、
幅0.9にしたらまっすぐは進めなくなり得る。
0786デフォルトの名無しさん
2011/06/18(土) 21:07:20.69問題理解できないバカは引っ込んでていいよ。
0787デフォルトの名無しさん
2011/06/18(土) 22:05:49.64直線で結ぶのが最短だという知識で探索するんだ。
0788デフォルトの名無しさん
2011/06/18(土) 22:08:28.44A* アルゴリズムは、各頂点nからゴールまでの距離の推定値 h* (n) を知っていた場合に対して
最短経路問題を効率的に解くアルゴリズムである。
ただし、推定値は実際の距離と同じであるかないしそれより小さくなければならない。
例えば地図上を道路に沿って歩いたときの最短経路を求めたい場合、直線距離を h* (n) として用いる事ができる。
A* アルゴリズムは有名なアルゴリズムダイクストラ法を推定値つきの場合に一般化したもので、
大まかに言えば、ダイクストラ法を推定値が小さい方ものから順に探索するよう改良したものである。
推定値 h* (n)が恒等的に0である場合はもとのダイクストラ法に一致する。
A* アルゴリズムは1968年にPeter Hart、Nils Nilsson、Bertram Raphael の三人が発表した論文の中で最初に記述された。
A* というこの一風変わった名前は、この論文でスタートからゴールまでの最短経路を
確実に見つけるアルゴリズムを許容的 (Admissible) と呼び、論文の数式中に 許容的なアルゴリズムの集合を A と表し、
そのAの中でも評価回数が最適になる物を A* と表記していたためであるといわれている。
A* - Wikipedia
0789デフォルトの名無しさん
2011/06/18(土) 22:39:56.74http://ideone.com/86xZg
0790デフォルトの名無しさん
2011/06/19(日) 00:32:02.59ヒューリスティック関数h*(n) を個々の問題について設定するのが、実際上はなかなか難しいのですが。
0791デフォルトの名無しさん
2011/06/19(日) 07:21:24.18取り下げます。
>>745
仰るとおりです。
>>735
A点から初めて、B点が塗りつぶされるかどうか。
>>754
埋立地の例えは目から鱗です。
>>768
同意します。768を実装したのが出てるのか知れないが、質問者には768で
>>789 >>716 >>726 小数点の座標も有りか?
[2] 問題文
1. 10*10(=100point)の領域に、ランダムに 13 個の点の集合 A を配置する
2. A の中からランダムに1点 a を選ぶ
3. 点 a からa以外の点 A のいづれかの点まで、半径 10 以内で到達可能か判定せよ
4. 点の集合 A のいづれの点においても 3. が到達可能か判定せよ
例えば a=(0,0)とすると (6,8)には届くが (5,9)には届かない。
0(a) 1 2 3 4 5 6 7 8 9
1 1.41 2.23 3.16 4.12 5.09 6.08 7.07 8.06 9.05
2 2.23 2.82 3.60 4.47 5.38 6.32 7.28 8.24 9.21
3 3.16 3.60 4.24 5 5.83 6.70 7.61 8.54 9.48
4 4.12 4.47 5 5.65 6.40 7.21 8.06 8.94 9.84
5 5.09 5.38 5.83 6.40 7.07 7.81 8.60 9.43 10.29
6 6.08 6.32 6.70 7.21 7.81 8.48 9.21 10 10.81
7 7.07 7.28 7.61 8.06 8.60 9.21 9.89 10.63 11.40
8 8.06 8.24 8.54 8.94 9.43 10 10.63 11.31 12.04
9 9.05 9.21 9.48 9.84 10.29 10.81 11.40 12.04 12.72
0793デフォルトの名無しさん
2011/06/19(日) 13:00:06.27[2] 問題文(含コード&リンク):
>>757のプログラムを、ファイルinput.txtから読込、処理結果を画面だけではなく、
ファイルoutput.txtに書き出すプログラムにしなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 6/20まで
0794デフォルトの名無しさん
2011/06/19(日) 13:07:32.21入力値の仕様は?
テキスト読み込みなのか、直接入力なのか
0795デフォルトの名無しさん
2011/06/19(日) 13:19:35.99757 < input.txt | tee output.txt
0796デフォルトの名無しさん
2011/06/19(日) 15:02:30.15http://codepad.org/nnfmL1c7
0797デフォルトの名無しさん
2011/06/19(日) 15:44:52.15【2】
入力した数値を偶数なら2で割り、奇数なら3倍して1を足すという操作を1になるまで繰り返すプログラムを作成してください
「偶数なら2で割る,奇数なら3倍して1を足す」という部分を関数化してください。
なお,関数は以下の仕様とすること.
関数の仕様 int kakutani(int x){
int ret;
偶数なら2で割る,奇数なら3倍して1を足す
return( ret );
}
0798デフォルトの名無しさん
2011/06/19(日) 15:52:17.67int kakutani(int x) {
int ret;
if(x % 2 == 0) ret = x / 2;
else ret = x * 3 + 1;
return ( ret );
}
int main(void)
{
int n;
scanf("%d", &n);
while(n != 1) {
n = kakutani(n);
printf("%d\n", n);
}
return 0;
}
0799デフォルトの名無しさん
2011/06/19(日) 16:41:16.63>#define loop(i,N) for (i = 0; i < N; i++)
なんでこんな糞みたいなマクロの使い方するかなあ
0800デフォルトの名無しさん
2011/06/19(日) 16:56:44.70分かりやすいようにしてるに決まってるだろ
どういう意味でかは想像に任せるとして
0801デフォルトの名無しさん
2011/06/19(日) 17:02:16.61#define end }
とか書いちゃう人? w
0802デフォルトの名無しさん
2011/06/19(日) 17:02:46.920803デフォルトの名無しさん
2011/06/19(日) 17:08:56.00シンタックスィーツ(笑)
0804デフォルトの名無しさん
2011/06/19(日) 17:09:04.05他人を意識できないコーディングは無意味ですよ。
0805デフォルトの名無しさん
2011/06/19(日) 17:10:35.28【2】うるう年の判定のプログラムを関数を使って作成してください
ちなみにうるう年は4かつ100かつ400で割れる。もしくは4で割れて100で割れない年がうるう年です
なお,関数は以下の仕様とすること.
uruu関数の仕様 // うるう年ならture(1),そうでないならfalse(0)を返す関数
int uruu(int x){
int ret;
うるう年の判定を行う
return( ret );
}
0806デフォルトの名無しさん
2011/06/19(日) 17:17:48.810807デフォルトの名無しさん
2011/06/19(日) 17:19:58.24そう言うところにしか突っ込めない奴は
スルーすべきと思う。
0808デフォルトの名無しさん
2011/06/19(日) 17:28:07.390809デフォルトの名無しさん
2011/06/19(日) 17:30:02.20独自ルールまっしぐらのコードはレビューで駆逐されるべきバグだよ
0810デフォルトの名無しさん
2011/06/19(日) 17:52:08.54少なくとも仕事でこのような「俺様コード」を書くとすぐに粛正されるレベル
0811デフォルトの名無しさん
2011/06/19(日) 17:58:32.58ここなら、お遊びがあってもいいじゃないかな
0812デフォルトの名無しさん
2011/06/19(日) 18:00:48.790813デフォルトの名無しさん
2011/06/19(日) 18:07:42.750814デフォルトの名無しさん
2011/06/19(日) 18:08:39.79#define SLIST_FOREACH(var, head, field) \
for ((var) = SLIST_FIRST((head)); \
(var); \
(var) = SLIST_NEXT((var), field))
0815デフォルトの名無しさん
2011/06/19(日) 18:08:46.04[2] 問題文(含コード&リンク):
#include <stdio.h>
int main()
{
char buf[ 81 ], *p = buf;
scanf( "%80s", buf );
while( *p )
*p++ += ( *p >= 'a' && *p <= 'z' ? 'A' - 'a' : 0 ) - ( *p >='A' && *p <= 'Z' ? 'A' - 'a' : 0 );
printf( "%s\n", buf );
return 0;
}
のプログラムを、ファイルinput.txtから読込、処理結果を画面だけではなく、
ファイルoutput.txtに書き出すプログラムにしなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 6/20まで
0816デフォルトの名無しさん
2011/06/19(日) 18:12:14.49うpロダに上げた時点でいろんな人が見るんだぞ
フルボッコにされても仕方なかろう
そういうお遊びはうpせずに自分のPCの中だけでやれ
0817デフォルトの名無しさん
2011/06/19(日) 18:32:03.28リスト操作処理をマクロで統治するのはよくある話。
linuxカーネルでも似たようなのがある。
0818デフォルトの名無しさん
2011/06/19(日) 20:01:53.92文句だけで、コード書かない君たちより百倍ましだけどな (w
0819デフォルトの名無しさん
2011/06/19(日) 20:08:38.120820デフォルトの名無しさん
2011/06/19(日) 20:18:41.40#include <stdio.h>
#define IN "input.txt"
#define OUT "output.txt"
int main()
{
char buf[ 81 ], *p = buf;
FILE *fi,*fo;
fi = fopen(IN, "r");
if (fi == NULL){
fprintf(stderr, "Can't open %s\n", IN);
return 1;
}
fo = fopen(OUT, "w");
if (fo == NULL) {
fprintf(stderr, "Can't open %s\n", OUT);
fclose(fi);
return 1;
}
fscanf(fi, "%80s", buf );
while( *p )
*p++ += ( *p >= 'a' && *p <= 'z' ? 'A' - 'a' : 0 ) - ( *p >='A' && *p <= 'Z' ? 'A' - 'a' : 0 );
printf( "%s\n", buf );
fprintf(fo, "%s\n", buf );
fclose(fi); fclose(fo);
return 0;
}
0821デフォルトの名無しさん
2011/06/19(日) 20:21:45.59ttp://ideone.com/Fq1Lj
0822821
2011/06/19(日) 20:22:26.770823デフォルトの名無しさん
2011/06/19(日) 20:32:53.05いやいや、やる奴がいないのかと思って適当につくってる。ありがとう。
0824デフォルトの名無しさん
2011/06/19(日) 20:51:06.23まあ、コードのひとつでも書けるようになってから来てくれ。
0825デフォルトの名無しさん
2011/06/19(日) 20:57:59.600826デフォルトの名無しさん
2011/06/19(日) 20:59:34.35黙ってコードはいくつも書いてますが、何か?
0827デフォルトの名無しさん
2011/06/19(日) 21:32:36.84[2] 点pを受け取り、それを二分木ヒープに登録する関数void insert(Point *p)を作成せよ。
ただし、ヒープの木構造においては、「親の点が子の点より原点に近い」条件を満足するものとする。
ヒープの実体はPoint型のポインタの配列として実現せよ。
必要な場合はupheapなどの関数を適宜作成してよい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:明日まで
[5] 一応それっぽいのができたものの、Eclipseが何故か動かそうとすると
「問題が発生したため〜」となります。
どの辺りに問題があるのか、教えていただければ幸いです。
http://codepad.org/aHLEh1z1
0828デフォルトの名無しさん
2011/06/19(日) 21:50:23.35[2] 問題文(含コード&リンク):
B-木を実装せよ。
最初にB-木の最小次数 t が与えられる。
続いて操作列が一行毎に O[i] key[i] の形で与えられる。
O[i] = 'I' or 'D 'or 'E'
O[i] が'I' は挿入、 'D' は削除、 'E' は終了(木の出力)をそれぞれ意味する。
[3] 環境
[3.1] OS: Mac
[3.2] xocode
[3.3] 言語: (C
[4] 期限: 2011/6/20
[5] その他の制限: とりあえず無制限
*とりあえず挿入でポインタの接続で問題が生じています。
ノード下に他のノードがない、ノードが飽和状態のときに分割をするようにしたんですが、ポインタの接続でわけがわからなくなりました。
現状のソース
http://codepad.org/LZAwDKmg
t=2
I 2
I 4
I 6
I 8
←ここでエラーが起きます。
pに代入がしっかりできていないようなのですが、ポインタの代入をどうしたらいいか教えてください。
0829デフォルトの名無しさん
2011/06/19(日) 21:54:16.49>>688 も参考に、>>607 を含ませて構成してみました。
http://codepad.org/Z5QEoTrb
>>825 >>826
言うだけならばいくらでも可能だし。
今私がしているみたいにコードを書いたその同じレスの中で反論する、というスタイルをとるならば、少しは信用してあげてもいいのですが、さて、できますかね?
それかトリップをつけるか。
0830デフォルトの名無しさん
2011/06/19(日) 21:58:58.28メモリリーク
確保したメモリを返さないのはメモリリークと呼ばれても
し か た な い で す よ ね wwww
0831デフォルトの名無しさん
2011/06/19(日) 22:09:58.57よおQ
お前と張り合った所で時間の無駄になるだけの事は分かってるから適当にスルーさせてもらうよ
また汚いコードを上げて恥ずかしくないんだろうかこのクズは
0832デフォルトの名無しさん
2011/06/19(日) 22:11:51.89まあ、口先だけならいくらでも書けるし、こっちもうお腹いっぱいだし。
0833デフォルトの名無しさん
2011/06/19(日) 22:14:03.370834デフォルトの名無しさん
2011/06/19(日) 22:15:59.36お前みたいな生きてる価値もないようなクズに信用される必要なんてないぞw
0835デフォルトの名無しさん
2011/06/19(日) 22:18:42.820836デフォルトの名無しさん
2011/06/19(日) 22:26:23.06◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0837デフォルトの名無しさん
2011/06/19(日) 22:35:10.80生き甲斐を感じているクズだから余り叩いちゃ可愛そうだよw
0838デフォルトの名無しさん
2011/06/19(日) 22:43:11.25・pを使う前にメモリ確保されていない
・insertの前に++ptr;してるのに、insertの中でも++ptr;している(heap[t] = p;も)
・heap[++ptr] = p;これだと添字0には何も格納されない
それで、回答のコードがほしいわけ?
0839デフォルトの名無しさん
2011/06/19(日) 22:58:46.42回答のコードはもう書いてもうた
ttp://ideone.com/EvEUs
問題点(>>838の指摘とほぼ同じ)
1.メモリ確保していないポインタを使っている
2.1回のinsertでptrを二個進めてる
3.最初の一つ目のinsertを考慮してない
4.配列は0番目からなんだから、最下段への代入は単にheap[ptr]で満たせる
細々したもの
大小比較なら平方根取る必要ないよ
あと、upheapがよく分からなかったので下記URLのアルゴリズムに直した
ttp://ja.wikipedia.org/wiki/二分ヒープ
0840デフォルトの名無しさん
2011/06/19(日) 23:00:09.81今、参考にしてコードを何とか作っています。
まあ見てもらえば分かるように、自分のカスッぷりは大分稀に見るものかと・・・
0841デフォルトの名無しさん
2011/06/19(日) 23:03:01.64ありがとうございます。
0842839
2011/06/19(日) 23:09:09.90insert()内で先頭チェック必要ないじゃん・・・
0843デフォルトの名無しさん
2011/06/20(月) 00:58:02.29[2] 問題文(含コード&リンク):
ファイルinput.txtに、1行最大80文字で空白を挟みながら、英数字が記載されている。
このinput.txtを読み込み、その中に含まれるアルファベット・数字の各文字が何文字ずつあるかを表示するプログラムを作りなさい
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限: 明日まで
0844デフォルトの名無しさん
2011/06/20(月) 01:25:37.54寝ないで答えてやれ
どうせ仕事ないんだろ?
0845デフォルトの名無しさん
2011/06/20(月) 01:45:29.92>>688 の「数値リテラル」あたりの問題をごまかして回避してみました。
http://codepad.org/JnwFfgOP
>>705
たしかに、すぐには気がつかない盲点であることがわかりました。書いてみないとわかりませんでした。
(数字で始まるものも含めて)アルファベット+数字で構成されているものをいったん取り出し、
取り出したあとで、数字で始まるものを排除する、という方向でうまくいきそうですが、さてどうでしょうか?
>>832
だめですね。ちゃんとコードを書いたその同じレス番で煽る(かトリップをつける)のが私の流儀ですから、なりすますのならそこまで徹底しないと。
0846デフォルトの名無しさん
2011/06/20(月) 02:05:36.91ttp://codepad.org/9dYZlgXd
0847デフォルトの名無しさん
2011/06/20(月) 13:18:16.71http://bit.ly/iX6rb1
ここしかきくとこ無くて、解いて頂けるとありがたいです。
0848デフォルトの名無しさん
2011/06/20(月) 13:21:39.16・スレタイを読んでなお、自分勝手な甘えが通ると思ってる奴にレスしたくない
・大学名をモロだしにするようなデリカシーのない奴にレスしたくない
0849デフォルトの名無しさん
2011/06/20(月) 13:25:16.11> なお、写したと思われるほど酷似したレポートが複数提出された場合、原著が
> どれかの調査を行わず、抽選で一通のレポートのみを評価 の対象とし、他は
> 提出済みの不合格レポートとして再提出は課しません。 自分で意図せずに他
> 人にコピーされてしまった場合も同様ですので、レポート の取り扱いについ
> ては十分に注意して下さい。
0850デフォルトの名無しさん
2011/06/20(月) 13:56:27.00こういう場合はQZのキチガイプログラムが効いて来るな
0851デフォルトの名無しさん
2011/06/20(月) 14:50:00.95[2] 問題:二次方程式 ax^2+bx+c=0 の解を解の公式を使って求めるプログラムを作成する.プログラムは以下の条件をみたすこと.
・正しく実行できるプログラムである.
・scanfを用いて整数a,b,cを入力できること.
・ifを用いること.
・判別式を使って,重解,異なる2実数解,虚数解をもつ場合に分けて解を求めること.
・解は実数で求めること
[3] 環境
[3.1] MacOS
[3.2]Xcode
[3.3] C言語
[4] 本日6月20日23時まで。
[5] 特になし
よろしくお願いします。。
0852デフォルトの名無しさん
2011/06/20(月) 15:07:26.13ttp://codepad.org/5Cqn1pBq
0853デフォルトの名無しさん
2011/06/20(月) 15:31:25.33852さん、迅速な回答どうもありがとうございました。。
0854デフォルトの名無しさん
2011/06/20(月) 17:42:10.44[2] 問題文(含コード&リンク):
#include <stdio.h>
int main()
{
char buf[ 81 ], *p = buf;
scanf( "%80s", buf );
while( *p )
*p++ += ( *p >= 'a' && *p <= 'z' ? 'A' - 'a' : 0 ) - ( *p >='A' && *p <= 'Z' ? 'A' - 'a' : 0 );
printf( "%s\n", buf );
return 0;
}
のプログラムを、ファイルinput.txtから読込、処理結果を画面だけではなく、
ファイルoutput.txtに書き出すプログラムにしなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0855デフォルトの名無しさん
2011/06/20(月) 17:50:14.89#include <stdio.h>
int main()
{
char buf[ 81 ], *p = buf;
FILE *in, *out;
in = fopen("input.txt", "r");
out = fopen("putput.txt", "w");
fscanf(in, "%80s", buf );
while( *p )
*p++ += ( *p >= 'a' && *p <= 'z' ? 'A' - 'a' : 0 ) - ( *p >='A' && *p <= 'Z' ? 'A' - 'a' : 0 );
printf( "%s\n", buf );
fprintf(out, "%s\n", buf );
return 0;
}
0856デフォルトの名無しさん
2011/06/20(月) 17:57:22.54gcc いわく、未定義だぞバカヤロー
0857デフォルトの名無しさん
2011/06/20(月) 18:17:43.58は、どれがおすすめですか?教えて下さい
0858デフォルトの名無しさん
2011/06/20(月) 20:47:35.22[2] 問題文(含コード&リンク):
1行の入力は、すべて英字とし、最大80文字とする。
初めに入力した1行の文字列に対して、2行目に入力した文字を3行目に入力した文字列に置換した文字列を作成し、結果を表示するプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0859デフォルトの名無しさん
2011/06/20(月) 21:52:01.390860デフォルトの名無しさん
2011/06/20(月) 21:56:48.13helloworld
l
ll
↓
helllloworlld
0861デフォルトの名無しさん
2011/06/20(月) 21:59:05.55検索文字
置換文字列
結果出力
って事だと思う
0862デフォルトの名無しさん
2011/06/20(月) 22:00:06.112 c
3 xyz
ans abxyzdefg
じゃないかと。
1行目の文字列が、全て2行目の文字に一致していて、
かつ、3行目文字列が80文字だと
置換後の文字列が最大になるのかな?
0863デフォルトの名無しさん
2011/06/20(月) 22:07:15.38↓これでいいか?
#include<stdio.h>
int main(int argc, char** argv){
char* put1[81];
char put2;
char* put3[81];
char* p;
printf("%s\n",put1);
printf("%c\n",put2);
printf("%s\n",put3);
for(p = put1;*p; p++){
if(*p == put2){
printf("%s",put3);
}else{
putchar(*p);
}
}
return 0;
}
0864デフォルトの名無しさん
2011/06/20(月) 22:09:49.40・500msecの間に2回ONを検知したら「ダブルクリック」であると認識する機能を追加
する。ダブルクリックは、自動的にカウントアップする動作を行うようにする。
もう一度ダブルクリックで停止、再度ダブルクリックで再開、長押しでリセットする。
上の練習問題を解くために下のようなプログラムを作成しましたが、うまく動作しません。
http://codepad.org/gFdl4UPh
0865デフォルトの名無しさん
2011/06/20(月) 22:10:35.29http://ideone.com/0ARrM
2行目にも文字列を許すならこうか
0866デフォルトの名無しさん
2011/06/20(月) 22:13:28.58文字列を格納しなくてもいいのかな?
0867デフォルトの名無しさん
2011/06/20(月) 22:17:55.20>>1
0868デフォルトの名無しさん
2011/06/20(月) 22:22:34.26うまく動作、てw
コンパイルできてるというのかよw
0869デフォルトの名無しさん
2011/06/20(月) 22:28:01.210870デフォルトの名無しさん
2011/06/20(月) 22:31:11.62格納先のバッファサイズが最大6400バイト必要だからなぁ
溢れたらmallocするような仕組み作るのはレベル的に問題がありそうだし...
0871デフォルトの名無しさん
2011/06/20(月) 22:56:50.02始めから最大サイズで確保してしまうか、
最初に置換対象文字を数え、必要サイズをmallocするか、どっちかかな。
前者が良いように思った。
0872デフォルトの名無しさん
2011/06/20(月) 23:38:31.96講師:『何故、6400Byteなんて大きなバッファが必要なんだね?』
質問者:『ポカーン』
講師:『malloc() はまだ教えてないが』
質問者:『ポカーン』
と考えて格納しない方が良いと思った訳だが...
0873デフォルトの名無しさん
2011/06/20(月) 23:39:30.96くみこの組み込み相談室いけし
0874デフォルトの名無しさん
2011/06/20(月) 23:51:24.93回答者の裁量だと思うので、問題ないと思います
0875デフォルトの名無しさん
2011/06/21(火) 02:36:44.52[2] 問題文(含コード&リンク):
1行の入力は、すべて英字とし、最大80文字とする。
初めに入力した1行の文字列に対して、2行目に入力した文字を3行目に入力した文字列に置換した文字列を作成し、結果を表示するプログラムを作成しなさい。
例)
1:対象文字列:abcdckkkkk
2:置換元文字:c
3:置換文字列:orz
結果文字列:aborzdorzkkkkk
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0876デフォルトの名無しさん
2011/06/21(火) 02:41:27.22では回答者が求めるなら修正しよう
0877デフォルトの名無しさん
2011/06/21(火) 02:42:43.858x8 の基本単位で割り切れるように切れ目が入っているから、libjpeg に渡す前に分割できればいいのですが。
0878デフォルトの名無しさん
2011/06/21(火) 02:44:38.16その辺まだ分かるレベルじゃないから単純に答えをよしなにって事かな
0879デフォルトの名無しさん
2011/06/21(火) 02:45:11.390880863
2011/06/21(火) 03:06:53.12俺のは使えなかったのか?
0881デフォルトの名無しさん
2011/06/21(火) 04:22:38.678x8じゃないし、そもそも問題見れば分かるがjpegじゃない。もっと簡単
0882デフォルトの名無しさん
2011/06/21(火) 07:19:51.70[2] 問題:1.以下のプログラムと等価になる様にprintf();内の穴埋め箇所を記述せよ。
等価したいプログラム
if( !(gender==1 || age >=20 ) )
printf("穴埋め1 \n");
if( !(!(gender==1) || age >=20) )
printf("穴埋め2 \n");
if( !(!(gender==1) || !(age >=20 ) )
printf("穴埋め3 \n");
if( !( gender==1) || !(age >=20) )
printf("穴埋め4 \n");
[3] 環境
[3.1] windouws
[3.2] gcc
[3.3] C言語
[4] 本日6月21日08時30分まで。
[5] 急ぎです;c言語の問題です。おねがいします;
0883デフォルトの名無しさん
2011/06/21(火) 07:49:35.052.201003121(10進数9桁)、性別(男:1、女:2)、年令(未成年:0,成年:1,高齢:2,後期高齢:3)、
職業(無:0、有:1)で個々人が16分類される。それぞれを数字(コード)で入力させ、
その人の状態を一旦ディスプレイに表示し、if文を使って、自然な文章で最後に表示するプログラムを作れ
0884デフォルトの名無しさん
2011/06/21(火) 08:30:55.58配布元での形式はjpeg じゃないのね。jpeg をマスターできるチャンスかと考えてしまった。
0885デフォルトの名無しさん
2011/06/21(火) 08:55:38.09[2] 問題文(含コード&リンク):
file1を読み込み、n1行目からn2 (n2>=n1)行目までを削除し、file2に書き込むファイル、ensyu03.cを作成せよ
注意:切り取った際、文章は上に詰めること
erase_multiline( ”file1”, ”file2”, n1, n2 ) ;
file1を読み込み、n行目とm行目を入れ替え、file2に書き込むファイル、ensyu04.cを作成せよ
replace_lines( ”file1”, ”file2”, n, m ) ;
file1を読み込み、特定の文字列string を含む行を削除し、file2に書き込むファイル、ensyu05.cを作成せよ
erase_string( ”file1”, ”file2”, ”string” ) ;
file1を読み込み、特定の文字c を削除し、file2に書き込むファイル、ensyu06.cを作成せよ
erase_char( ”file1”, ”file2”, ’c’ ) ;
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:cygwin gcc
[3.3] 言語: C
[4] 期限:6月22日中
[5] その他の制限: ポインタと関数を習っているところです
0886デフォルトの名無しさん
2011/06/21(火) 12:33:25.20今はあんなものがあるのか
0887デフォルトの名無しさん
2011/06/21(火) 13:15:05.86http://codepad.org/kZdJZp9Y
合ってるかはわからないけど、とりあえず動いてるっぽい。
VC2008で作ったからコンパイル通らなかったらすまんす。
あと「replace_lines」はめんどくさそうだからスルーした。
0888887
2011/06/21(火) 13:33:49.26http://codepad.org/Qn2XZ1d3
できるだけポインタを使うように修正してみた。
0889デフォルトの名無しさん
2011/06/21(火) 13:45:37.81[2] 問題文(含コード&リンク):http://codepad.org/MysbRMqT
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: 2011/6/24まで
よろしくおねがいします
0890デフォルトの名無しさん
2011/06/21(火) 14:40:33.82ttp://ideone.com/UOdta
0891デフォルトの名無しさん
2011/06/21(火) 14:54:37.16[2]�@ http://codepad.org/Qbz0E2cP を改良して、
「乗除」の回数を減らすプログラムを作成しなさい。
ただし、http://codepad.org/ko7MPFKI 以外の方法を使用すること。
�A �@のプログラムを利用して、以下のプログラムを作成せよ。
1.各素数の各桁の和が偶数になる数のみを表示するプログラム
2.表示されている1の個数を表示するプログラム
[3.1] Windows7
[3.3] C言語
[4] 今日の21時まで
[5]配列まで
�@はどのようにして回数を減らしたかも教えていただけると幸いです。
どうかよろしくお願いします。
0892デフォルトの名無しさん
2011/06/21(火) 15:15:41.57これなら割り算使わなく効率いいぞ
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83%86%E3%83%8D%E3%82%B9%E3%81%AE%E7%AF%A9
0893デフォルトの名無しさん
2011/06/21(火) 15:19:11.26素数で「割り切れると素数ではない」のチェックをせずに
素数の倍数は、素数でないとやるわけだ。
計算時間で比較すれば、>>891の改良版より速いのは確実だろう。
0894デフォルトの名無しさん
2011/06/21(火) 16:45:20.91あくまで「乗除回数を減らせ」だから、あんまり方法が変わると
駄目なんだよ。まあ乗除行うならそれでもいいと思うけど。
0895デフォルトの名無しさん
2011/06/21(火) 17:03:44.31ま、こういう話では無いんだろうけどなw基本的な方法は全く変えず0回だけど
ていうかそもそも剰余を求めることを乗除っていうのか?
0896デフォルトの名無しさん
2011/06/21(火) 17:16:27.23加法と減法と乗法と除法。四則演算。
0898デフォルトの名無しさん
2011/06/21(火) 17:24:21.64わからない。先生がそう書いてたから、間違ってても俺のミス
じゃない。あと「mod」とかいう関数(?)は習ってないから
使えない。(方法に関係なく)
0899デフォルトの名無しさん
2011/06/21(火) 17:30:00.74そういう関数は習っていない状態なのかな
0900デフォルトの名無しさん
2011/06/21(火) 17:31:59.91ありがとうございます
凄く申し訳ないし言うのが遅いと思うのですが
授業では↓のような形式でやっているのですがこんな感じで書けないですかね?
http://codepad.org/5zJCMFlq
内容はfile1を読み込み、n1行目からn2 (n2>=n1)行目までをコピーして、
m行目とm+1行目の間に入れfile2に書き込むファイル
copy_and_paste( ”file1”, ”file2”, n1, n2, m ) ;
です
0901デフォルトの名無しさん
2011/06/21(火) 17:49:20.45http://codepad.org/XCQmuFsJ
0902デフォルトの名無しさん
2011/06/21(火) 17:49:40.03int a;
int sum=0;
みたいなのならやったことあるけど。
今まではint main(void)しか使ってない。
0903デフォルトの名無しさん
2011/06/21(火) 18:49:44.97これに「乗除を行った回数:0回」(カウントした結果、0回だったということ)
と表示させて、さらに結果を
2 3 5 … 41 43 47
53 59 61 … 107 109 113
127 131 137 … 191 193 197
・
・
のように綺麗に表示させたいのですが、
どのように改良すればいいでしょうか?
0904デフォルトの名無しさん
2011/06/21(火) 19:24:29.31[2] 問題文(含コード&リンク):
strlen()を利用し、ファイルinput.txtには、複数の英単語のみが(改行を挟みながら)記載されている。
input.txtをEOFまで読み込み、何文字の単語が何個あったのかを表示するプログラムを作成しなさい。このとき、1行には最大80字記載されており、1単語の最大の文字数は15とする。
例)
1文字の単語: 20単語
3文字の単語: 10単語
8文字の単語: 4単語
全34単語
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0905デフォルトの名無しさん
2011/06/21(火) 19:25:20.48(入力したのがずれてるので補足)
0906デフォルトの名無しさん
2011/06/21(火) 19:42:31.35#include <stdio.h>
int main()
{
FILE * fp;
char s[16];
int count[16] = {0}, i, sum = 0;
if (!(fp = fopen("input.txt", "r"))) {
fprintf(stderr, "file error\n");
return 0;
}
while (fscanf(fp, "%s", s) != EOF) {
count[strlen(s)]++;
sum++;
}
for (i = 1; i <= 15; i++) {
printf("%2d文字の単語: %2d単語\n", i, count[i]);
}
printf("全%d単語\n", sum);
return 0;
}
0907887
2011/06/21(火) 19:49:37.71即席で直してみた。
http://codepad.org/2bYGVIOa
0908デフォルトの名無しさん
2011/06/21(火) 20:06:26.60[2] 問題文(含コード&リンク):
strcmp()を利用し、>>904で利用したものと同様のimput.txtを読み込む。
キーボードから英単語を1つ入力し、その単語が、input.txtに何個含まれるかを出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日まで
0909デフォルトの名無しさん
2011/06/21(火) 20:54:15.85いいか、ひとつだけ教えてやる
俺達の世界じゃな、「明日まで」ってのは「明日中には」ってことだ。
「明日中には」ってのは「明後日の朝一に」ってことだ。
「朝一に」ってのは「午前中」ってことだ。
つまり、お前のその期限は「2011-06-23 13:00:00」だ。
それまでは提出しなくてもいいんだ。
0910デフォルトの名無しさん
2011/06/21(火) 21:36:01.83【2】入力された小数点をmy roundという関数を使って含む数値を四捨五入するプログラムを作成せよ。
my_round関数の仕様
int my_round(float x){
int ret;
四捨五入の処理
return( ret );
}
実行結果
小数点を含む数値を入力してください。
数値:1.89
1.890000は2に四捨五入されました
0911デフォルトの名無しさん
2011/06/21(火) 21:39:18.11いいや、違うね。
明日までって事は明日が終わる前にって事だ。
ってことは2011-06-22 23:59:59.99999999999999999999999.....って事だ。
ここで問題なのは限りなく2011-06-23 00:00:00.0に近い22日が期限って事だ。
>>908わかるか?この題意が?無限を扱ってるんだよ。
いかに無限を表現できるかって事が問題なんだよ。
あぁあ、限りなく近いという概念を持ち出し、言葉で巧みに表現するのもありだろう。
しかしな、そんな回りくどい事をしなくても
期限<23日 これだけで完璧に表現できる。
この不等号(<)には無限の概念さえ含まれた人類至高の発明だという事を忘れんなよ。
つまり、お前は23日と22日の狭間に提出するんだ。
0912デフォルトの名無しさん
2011/06/21(火) 21:40:23.490913デフォルトの名無しさん
2011/06/21(火) 21:46:37.110914デフォルトの名無しさん
2011/06/21(火) 21:50:59.66#include<stdio.h>
int main(void){
int a,i;
scanf("%d",&a);
for(i=0;i<a;i++){
if(a%i==0){
printf("素数じゃねえよ");
break;
}
return 0;
}
0915デフォルトの名無しさん
2011/06/21(火) 21:52:36.240916デフォルトの名無しさん
2011/06/21(火) 21:52:53.400 除算
0917デフォルトの名無しさん
2011/06/21(火) 22:17:51.81この肘でおまえを今夜落として見せるこの俺
0918デフォルトの名無しさん
2011/06/21(火) 22:21:12.51#include <stdio.h>
int my_round(float x)
{
int ret;
ret = (int)(x + 0.5);
return ret;
}
int main(void)
{
float input;
printf("小数点を含む数値を入力してください。\n");
scanf("%f", &input);
printf("数値:%fは%dに四捨五入されました。\n", input, my_round(input));
return 0;
}
0919デフォルトの名無しさん
2011/06/21(火) 22:34:41.76ありがとうございます
0920デフォルトの名無しさん
2011/06/21(火) 23:19:33.33ありがとうございます
0921デフォルトの名無しさん
2011/06/21(火) 23:26:10.78round(-5.5000) = -6.0000
にならなきゃいけないはず。
0922デフォルトの名無しさん
2011/06/22(水) 00:19:49.69>>901 を流用しました。
>>891�A1 http://codepad.org/3ABjkB23
�A2 は意味がよくわからないので具体例をあげて教えてください。
0923デフォルトの名無しさん
2011/06/22(水) 00:26:39.050924デフォルトの名無しさん
2011/06/22(水) 00:27:12.670925デフォルトの名無しさん
2011/06/22(水) 00:52:38.052, 3, 5, 7, 11, 13 なら、3個と表示する。
2, 3, 5, 7 なら 0個と表示する。
できれば�@の方の解答もお願いします。
(>>901のプログラムを「乗余を行った回数:0回」(カウントした結果が0回ということ)
と表示させ、さらに
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
53 59 61 67 71 73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173 179 181 191 193 197
のように数字を整列させて表示させたい。)
0926デフォルトの名無しさん
2011/06/22(水) 01:04:23.21(またしてもずれてるので補足)
0927デフォルトの名無しさん
2011/06/22(水) 01:33:40.530928デフォルトの名無しさん
2011/06/22(水) 01:53:04.57[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
file1を読み込み、特定の文字列string1 を全てstring2 に置き換え、file2に書き込むファイル、ensyu07.cを作成せよ
replase_strings( ”file1”, ”file2”, ”string1”, ”string2” ) ;
file1を読み込み、行の文字数の大きい順番に並び換え、file2に書き込むファイル、ensyu08.cを作成せよ
text_sort( ”file1”, ”file2” ) ;
出来れば>>900や>>907のような形式で書いてもらえると助かります
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:cygwin gcc
[3.3] 言語: C
[4] 期限:6月22日中
[5] その他の制限: ポインタと関数を習っているところです
0929デフォルトの名無しさん
2011/06/22(水) 02:07:08.32[2] 問題文(含コード&リンク):
strcmp()を利用し、>>904で利用したものと同様のimput.txtを読み込む。
キーボードから英単語を1つ入力し、その単語が、input.txtに何個含まれるかを出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:6/24まで
0930デフォルトの名無しさん
2011/06/22(水) 02:20:52.78この問題にはセキュリティーホールがある。
0931デフォルトの名無しさん
2011/06/22(水) 02:29:48.47Error 00001. 0x130700 (Thread 0x0A4C):
Access overrun: Attempt to access 4 byte(s) at 0x0012EFE0+4024, that is at
offset 0+4024 in local block 0x0012EFE0(=[ebp-0xFAC] @dai14.exe:0x01:0002B5)
which is only 4000 bytes long.
| dai14.c line 109:
| s = n + n;
| do {
|> prime[s]=0;
| s += n;
| } while(s < N);
Call Tree:
0x004012B5(=dai14.exe:0x01:0002B5) dai14.c#109
0x32B9C3BA(=CC32110MT.DLL:0x01:09B3BA)
みたいなエラーが4つ出るんだが
まったくQは糞だなあ相変わらず
0932デフォルトの名無しさん
2011/06/22(水) 02:30:45.35>>891�A2 http://codepad.org/LsCw9sh4
#define N 50 の 50 をいろいろかえてみてください。
0933デフォルトの名無しさん
2011/06/22(水) 02:41:24.16まあ無いんだから答えようがないわな
0934922
2011/06/22(水) 02:43:58.93ご指摘感謝。バッファオーバーランですね。
>>891
訂正します。
�A1 http://codepad.org/pwzuPVEc
�A2 http://codepad.org/7sJyfE1y
0935デフォルトの名無しさん
2011/06/22(水) 02:50:04.56お前本当にやる気あんのか?
�A
Error 00001. 0x130600 (Thread 0x0870):
Access overrun: Attempt to access 4 byte(s) at 0x00402220+200, that is at
offset 0+200 in block 0x00402220(=dai14_2.exe:0x02:000220) which is only 200
bytes long.
| dai14_2.c line 7:
|
| int h(int n) { return (n == 0) ? 0 : (n % 10 == 1) ? h(n / 10) + 1 : h(n / 10); }
|>int g(int n) { return (!prime[n]) ? 0 : h(n); }
| int f(int n) { return (n == 0) ? 0 : g(n) + f(n - 1); }
|
Call Tree:
0x00401221(=dai14_2.exe:0x01:000221) dai14_2.c#7
0x0040127F(=dai14_2.exe:0x01:00027F) dai14_2.c#8
0x0040136D(=dai14_2.exe:0x01:00036D) dai14_2.c#28
0x32B9C3BA(=CC32110MT.DLL:0x01:09B3BA)
0936デフォルトの名無しさん
2011/06/22(水) 03:02:30.71重ね重ね感謝。
>>891
すみません、訂正します。
バッファオーバーランが取れていませんでした。
static int prime[50];
に対して、
prime[50] にアクセスしようとしていたために >>935 の指摘のとおりエラーとなったと思われます。
>>891
�A2 http://codepad.org/sxoPMbN8
これで大丈夫だといいのですが。
0937デフォルトの名無しさん
2011/06/22(水) 03:04:21.710938デフォルトの名無しさん
2011/06/22(水) 03:54:10.52> 「朝一に」ってのは「午前中」ってこと
ここだけが悔やまれるな
0939デフォルトの名無しさん
2011/06/22(水) 08:26:04.04ありがとうございます。
わかれば�@の方もよろしくお願いします。
0940デフォルトの名無しさん
2011/06/22(水) 08:38:06.77�A2のほうですが、表示するのは「1000までの素数に
含まれる1の個数」です。説明がわかりづらかったかな。
(�@の改造なので、1000までの素数の表示結果も必要)
0941デフォルトの名無しさん
2011/06/22(水) 08:55:31.92◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0942デフォルトの名無しさん
2011/06/22(水) 08:55:53.94ログみろ
0943デフォルトの名無しさん
2011/06/22(水) 09:07:52.63ログってどうやって見るんですか?
0944デフォルトの名無しさん
2011/06/22(水) 10:34:44.650945デフォルトの名無しさん
2011/06/22(水) 10:39:13.75[2] 問題文(含コード&リンク):
strcmp()を利用し、imput.txtを読み込み、キーボードから英単語を1つ入力し、その単語が、input.txtに何個含まれるかを出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:6/24まで
0946デフォルトの名無しさん
2011/06/22(水) 12:11:46.380947デフォルトの名無しさん
2011/06/22(水) 12:23:30.40#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE * fp;
char word[1000], word2[1000];
int counter = 0;
if (!(fp = fopen("input.txt", "r"))) {
return 1;
}
scanf("%s", word);
while (fscanf(fp, "%s", word2) != EOF) {
if (!strcmp(word, word2))
counter++;
}
printf("%dこ\n", counter);
}
0948デフォルトの名無しさん
2011/06/22(水) 12:29:18.29>>936 3行目
#define N 50
を
#define N 1000
に替えてください。
0949デフォルトの名無しさん
2011/06/22(水) 12:31:33.58>>947に一歩遅れをとったが。。。
http://codepad.org/FbzJn4nu
0950887
2011/06/22(水) 13:02:34.51http://codepad.org/2GmwI7vr
>>907のコードに追加してみた。
0951デフォルトの名無しさん
2011/06/22(水) 13:54:50.48ありがとうございます
0952デフォルトの名無しさん
2011/06/22(水) 14:05:44.67【2】少数点以下第三位を四捨五入し第二位まで求める関数を作成してください
実行結果
入力してください
数値:1.2356
1.235600は1.24に四捨五入されました
0953デフォルトの名無しさん
2011/06/22(水) 14:33:35.70小出しになってしまって申し訳ないのですがもう1つお願いします
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
長いのでろだにうpしました
http://www.dotup.org/uploda/www.dotup.org1726929.txt
file03.txt
http://www.dotup.org/uploda/www.dotup.org1726932.txt
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:本日中
[5] その他の制限:
ポインタと関数を習っているところです
>>950様のような形、もしくは出来るだけ簡単に書いてもらえると助かります
0954デフォルトの名無しさん
2011/06/22(水) 15:37:49.160955デフォルトの名無しさん
2011/06/22(水) 16:14:55.30File not found.
0956デフォルトの名無しさん
2011/06/22(水) 16:44:42.97http://codepad.org/KzascMbB
erase_string関数の仕様が違ったから直した。
あとmain関数の中は適当だから間違ってたら自分で修正してくれ。
0957887
2011/06/22(水) 16:56:03.91http://codepad.org/hE5zExP3
>>956はreplace_lines関数が間違ってたから修正した。
まあ、呼び出されてないんだけど。
0958デフォルトの名無しさん
2011/06/22(水) 18:21:16.72ありがとうございます
スレチなのかもしれませんが>>907,950,956-957をコンパイルは通るのですが実行してみても
bash: ./ is a directoryというエラーメッセージが出てきて実行出来ないのですが原因として何が考えられますかね?
0959デフォルトの名無しさん
2011/06/22(水) 18:30:42.21./の後にスペースでも入れちゃってるんだろう。
0960デフォルトの名無しさん
2011/06/22(水) 18:34:35.06ありがとうございます
ご迷惑をおかけしました
0961デフォルトの名無しさん
2011/06/22(水) 19:46:55.65ほんとに何も理解せず作業としてやってるんだろうな
プログラミングやめればいいのに
0962デフォルトの名無しさん
2011/06/22(水) 19:47:13.55[2] 問題文(含コード&リンク):
読み込むファイルはinput.txtに固定されていたが、それを拡張する。
プログラム実行時に、ファイル名を入力させ、ファイルが読み込み出来ない場合には、ファイル名を繰り返し再入力させるように改良しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:6/24まで
0963デフォルトの名無しさん
2011/06/22(水) 20:09:27.95少なくとも、自分のPCで通ったものをちゃんと提供してる。
0964デフォルトの名無しさん
2011/06/22(水) 20:12:07.400965デフォルトの名無しさん
2011/06/22(水) 20:53:02.14ここで回答してる人がみんなそうならいいんだけどね
0966デフォルトの名無しさん
2011/06/22(水) 21:25:33.90例:QZ
0967デフォルトの名無しさん
2011/06/22(水) 22:26:24.490968デフォルトの名無しさん
2011/06/22(水) 22:26:45.490969デフォルトの名無しさん
2011/06/22(水) 22:27:33.62C/C++の宿題片付けます 150代目
http://hibari.2ch.net/test/read.cgi/tech/1308749241/
0970デフォルトの名無しさん
2011/06/22(水) 22:35:17.550971デフォルトの名無しさん
2011/06/22(水) 22:50:59.490972デフォルトの名無しさん
2011/06/22(水) 23:18:43.77でも俺のCodeGuardに掛けると「ゴルァ!どこをアクセスしとるんじゃ!」と怒られるけどな
0973デフォルトの名無しさん
2011/06/22(水) 23:23:30.35光っておせーなー ってホント思うわ
0974デフォルトの名無しさん
2011/06/22(水) 23:37:09.79[2] 問題文(含コード&リンク):
次の要件を満たすTCP/IP通信型辞書検索プログラム(サーバ・クライアント両方)を作成せよ
なおプログラムを作成するに当たっては次の条件を満たすものとする→http://codepad.org/rkW7TObI
●サーバ:クライアントから送信された英単語に対し,その単語に対応する日本語を探索して返す
●クライアント:キーボードから英単語を入力
入力された文字列をサーバに送信
サーバから送信された文字列を画面に出力
サーバ側のプログラムサンプル→http://codepad.org/iLztxxJ4
クライアント側のプログラムサンプル→http://codepad.org/21cdalTi
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2011年6月23日12時まで
[5] サンプルプログラムは大文字小文字変換のプログラムとなっています
それをもとに作ってもらえると助かります。
0975デフォルトの名無しさん
2011/06/23(木) 00:09:31.96◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ
◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ
◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ◆QZaw55cn4cは優秀なCプログラマ
0976デフォルトの名無しさん
2011/06/23(木) 02:43:43.25[2]配列クラスAryから派生した、以下に示すスタッククラスAstackを作成。
http://codepad.org/yuznimYp
[3]環境
[3.1]OS:WindowsXP
[3.2]コンパイラ:VC6.0
[3.3]C++
[4]2011年6月23日中
0977デフォルトの名無しさん
2011/06/23(木) 03:16:49.523フレぐらい。
ヒット確認ができなくなるので、対戦は厳しい
0978デフォルトの名無しさん
2011/06/23(木) 03:22:22.96サーバー
ttp://ideone.com/btEcn
クライアント
ttp://ideone.com/0HmtQ
linux マシンを出すのが面倒なので windows で書いたら #ifdef の嵐になってグチャグチャになってもうた
#define USE_WINSOCK を外せば動くと思うけどこのまま提出する訳にはいかんだろうなぁ....まぁ参考程度にしてくれ
0979デフォルトの名無しさん
2011/06/23(木) 12:42:31.31Aryがどう見てもおかしいんだがこれマジで問題文にあったクラスなの?
手打ちでコピペしたとかじゃなくて?
0980デフォルトの名無しさん
2011/06/23(木) 12:58:46.95http://codepad.org/zbHK3vt8
VC6持ってないから大丈夫かわかんね
0981デフォルトの名無しさん
2011/06/23(木) 21:53:58.14[2] 問題文(含コード&リンク):
キーボードから入力した数だけのロッカーを割り付け、各ロッカーにキーボードから入力したデータを保存し、最後に保存した内容を表示するプログラムkadai10-1.cを次のステップにしたがって作成せよ。
但し、各ロッカーには次のロッカーへのポインター(次のロッカーの鍵と思えばわかりやすい)も荷物に相当するデータといっしょに保存するものとする。
1-1 データ構造として次の構造体を用意する。
struct rocker {
int data; //保存するデータ
struct rocker *next; //次のボックスのアドレス(鍵)
};
1-2 最初の鍵として次のポインターを大域変数として用意する。
struct rocker *head;
1-3 1個のロッカーを割り当てて、最後に割り当てたロッカーlast_rockerのlast_locker->nextに新しく割り当てたロッカーのアドレス(鍵)を保存する関数 struct rocker *new_rocker(struct rocker *last_rocker)を定義しなさい。
ただし引数 last_rockerは最後に作ったボックスのポインターとする。
この間数は新しく割り当てたロッカーのアドレスを返すものとする。
1-4 全てのロッカーに保存したデータを最初のロッカーから順番に表示していく関数 void display_rockers(struct rocker *pt)を定義しなさい。
ただし、実行結果が次のようになるように定義しなさい。
gcc kadai10-1.c
./a.out
3 説明:ロッカーの数を入力
1 3 4 データ入力
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限: ([2011年6月24日18:00まで
[5] その他の制限:動的割り付け、構造体、ポインターを使う
0982""
2011/06/23(木) 22:02:13.06[2] 問題文(含コード&リンク):
読み込むファイルはinput.txtに固定されていたが、それを拡張する。
プログラム実行時に、ファイル名を入力させ、ファイルが読み込み出来ない場合には、ファイル名を繰り返し再入力させるように改良しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:今すぐ頼む!
0983デフォルトの名無しさん
2011/06/23(木) 22:34:23.680984デフォルトの名無しさん
2011/06/23(木) 22:40:14.970985デフォルトの名無しさん
2011/06/23(木) 22:41:56.000986デフォルトの名無しさん
2011/06/23(木) 22:48:01.99ttp://ideone.com/X1CNl
0987デフォルトの名無しさん
2011/06/23(木) 22:52:30.49[2] 問題文(含コード&リンク):
「空白を挟まず、何か入力してください。」と表示した後、入力された先頭文字が英字大文字、英字小文字、数字かを判定し、
「先頭文字は○○です。」という表示を行うプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows7
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C
[4] 期限:明日の12時まで
0988デフォルトの名無しさん
2011/06/23(木) 22:54:55.49そもそも改良しなさいって問題なら元のコードを示さないと回答不可能な訳だが...
0989デフォルトの名無しさん
2011/06/24(金) 00:50:42.35#include <stdio.h>
#include <ctype.h>
int main(void)
{
char buf[64];
printf("何か入力しろや。空白はらめやで : ");
gets(buf);
if ( isdigit(buf[0]) ){ puts("す・・・数字やぁ!"); }
else if ( islower(buf[0]) ){ puts("まさか・・・小文字やぁ!"); }
else if ( isupper(buf[0]) ){ puts("大文字・・・だと?"); }
return 0;
}
単純にコピペだけで終わられたくないんで、表示を変な感じにしてたり
0990デフォルトの名無しさん
2011/06/24(金) 00:54:21.75ついでに・・・
ここではgets()を使っているけど、基本的にはgets()は使わないようにすべし。
懐かしのバッファオーバーランでの命令置き換えとか、面白いことが簡単に行われる「可能性もある」から
0991デフォルトの名無しさん
2011/06/24(金) 01:01:16.30ありがとうございます
あと、俺も鰤好き
0992デフォルトの名無しさん
2011/06/24(金) 01:39:26.680993デフォルトの名無しさん
2011/06/24(金) 03:51:29.99QZ の mygetline() がおすすめ
0994デフォルトの名無しさん
2011/06/24(金) 07:30:30.410995デフォルトの名無しさん
2011/06/24(金) 07:33:30.800996デフォルトの名無しさん
2011/06/24(金) 07:33:42.980997デフォルトの名無しさん
2011/06/24(金) 07:35:10.550998デフォルトの名無しさん
2011/06/24(金) 07:35:54.300999デフォルトの名無しさん
2011/06/24(金) 07:36:11.691000デフォルトの名無しさん
2011/06/24(金) 07:42:23.5610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。