C/C++の宿題を片付けます 83代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/02/07(水) 15:41:38【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
0002デフォルトの名無しさん
2007/02/07(水) 15:44:10C/C++の宿題を片付けます 82代目
http://pc10.2ch.net/test/read.cgi/tech/1169575464/
【重要】
・課題に動作で必要なファイルがある場合にはロダにUPする事、回答者に作らせてはならない
なければ質問者が作る
・回答の督促は禁止
但し、スレ中の全未回答問題レス番号を張る場合のみ許可とする
【質問テンプレ】 サンプル
[1] 授業単元:配列 ポインタ ファイルアクセス
[2] 問題文(含コード&リンク):
問題文全文リンクhttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/xxxx.txt
必要ファイル:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/yyyy.zip
起動時にリダイレクトにて読込ませるデータファイルです
[3] 環境 Windows Xp SP2
[3.3] 言語: Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
[4] 期限: ([200x年02月07日13:00まで] (24時表示ガ望ましい)
0003デフォルトの名無しさん
2007/02/07(水) 16:05:23自分が 判らない・作れない・動かない等は、たいてい何か条件を見逃している為です
課題全文を掲載する事によって、質問者が見落としている事も回答者に知らせる事が出来ます
・課題全文をテンプレの様に書き別途ファイルをロダにUPすれば回答を得やすくなります
作りかけであっても「途中までやりました」「ここまで作成しまた」としてUPすると
クラス名・変数名 コーディンスタイルなど追従するため理解が楽になります
0004デフォルトの名無しさん
2007/02/07(水) 16:16:310005デフォルトの名無しさん
2007/02/07(水) 17:19:14・マルチ
別のスレッドに同一の質問がある
・レポート
考察を述べよ・原因理由を述べよ 等 記述が主旨の宿題はスルーされてます
・督促
【重要】のルールを守らず同課題が張られると回答者の気力が萎えます
・重複質問
直近に 同じ/似た 質問があったかも知れません・前スレぐらいまでは検索してみましょう
別人が新規の質問として投稿しても督促とみなされスルーされます
・動作に必要なファイルがない
読込みデータを回答者が作ると、課題と別のフォーマットになる可能がある
(回答を得ても動かない場合はほとんどこのケース)
・作りこんだソースの一部しかUPされない
回答者が仮のmainを作らないと起動する事が出来ないものはスルーされます
・課題掲載がなく作りかけのソースのみUPされてる
仕様(課題)が判らないと答えようがない
・環境構築が大変
別ミドルウェァをインストールしなければならないようなものはスルーされます
・言語仕様かミドルウェアの仕様か判別できない
もはや宿題のレベルではないような・・・
0006デフォルトの名無しさん
2007/02/07(水) 17:38:560007デフォルトの名無しさん
2007/02/07(水) 17:45:34要点を三行半でまとめてくれないか?
0008デフォルトの名無しさん
2007/02/07(水) 17:51:430009デフォルトの名無しさん
2007/02/07(水) 18:02:090010デフォルトの名無しさん
2007/02/07(水) 18:14:08読まないでいいんじゃね?
回答欲しい奴はは読むだろうしw
0011デフォルトの名無しさん
2007/02/07(水) 18:21:04未回答の理由がリンク1つ >4 で済むから楽だな
0012デフォルトの名無しさん
2007/02/07(水) 18:22:120013デフォルトの名無しさん
2007/02/08(木) 02:06:450014デフォルトの名無しさん
2007/02/08(木) 02:22:370015デフォルトの名無しさん
2007/02/08(木) 02:59:44001615
2007/02/08(木) 03:01:170017デフォルトの名無しさん
2007/02/08(木) 04:19:35http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3625.zip
0018デフォルトの名無しさん
2007/02/08(木) 05:58:06x(10)が分からん。もとい、刻み幅が出せん。教えてくれ。
前スレでテンプレにそう形なのはhttp://pc10.2ch.net/test/read.cgi/tech/1169575464/956とかかな。
crypt.hが分かる人よろ。
0019デフォルトの名無しさん
2007/02/08(木) 10:06:16驚きました
0020デフォルトの名無しさん
2007/02/08(木) 11:57:480021デフォルトの名無しさん
2007/02/08(木) 14:08:18倍精度整数型の配列a[100]にキーボードから入力された整数を順に格納する、ただし、今までに
入力された数を掛け合わせたものが1000万を超えれば、そこで終了し、結果と
そこまでの配列aの内容を逆順に出力するプログラムをC言語で作れ。
この問題解いていただけませんか?お願いします
0022デフォルトの名無しさん
2007/02/08(木) 14:14:520023デフォルトの名無しさん
2007/02/08(木) 14:31:210024デフォルトの名無しさん
2007/02/08(木) 14:40:47環境に依存する
倍長精度整数型の表せる範囲は言語や処理系によって違う
>1のテンプレ使え
0025デフォルトの名無しさん
2007/02/08(木) 14:47:13倍精度浮動小数点数 double
char short int long (long long)
単精度整数? 倍精度整数? 対応する日本語訳が難しいな。
0026デフォルトの名無しさん
2007/02/08(木) 14:57:27文字列型 char *:
単精度整数型 short: 2 byte
整数型 int: 4 byte
倍精度整数型 long: 4 byte (環境依存)
単精度浮動小数点型 float: 4 byte
倍精度浮動小数点型 double: 8 byte
最大1000万だから32bit変数で十分だね
0027デフォルトの名無しさん
2007/02/08(木) 15:01:580028デフォルトの名無しさん
2007/02/08(木) 15:03:560029デフォルトの名無しさん
2007/02/08(木) 15:05:430030デフォルトの名無しさん
2007/02/08(木) 15:07:210031デフォルトの名無しさん
2007/02/08(木) 15:19:25長精度整数とか倍長精度整数とかは見たことがある
だが整数に精度は会わないと思う
短整数型、長整数型でいい
0032デフォルトの名無しさん
2007/02/08(木) 15:25:090033デフォルトの名無しさん
2007/02/08(木) 15:26:44どれをウソと言っているの?
0034デフォルトの名無しさん
2007/02/08(木) 15:32:56これで好きなように改造しろ
#include <stdio.h>
void main(void){
long a[100],b=1,i;
for (i=0;i<100&&b<10000000;i++ ) { scanf("%ld",&a[i]); b *= a[i]; } while ( i-- ) printf( "%ld ", a[i] );
}
0035デフォルトの名無しさん
2007/02/08(木) 15:44:25>文字列型 char *:
これのことかな?
0036デフォルトの名無しさん
2007/02/08(木) 15:47:13サイトの内容をコピペしたのでいらんもんまでくっついてきただけ
それは消し忘れた
0037デフォルトの名無しさん
2007/02/08(木) 15:54:17int幅が64の時代になるのかなぁ
昭和は遠くになりにけり
0038デフォルトの名無しさん
2007/02/08(木) 16:05:270039デフォルトの名無しさん
2007/02/08(木) 16:12:50ありぁそなの?メモリのアドレッシング幅=intだと思ってた
雑談スマソ>All
宿題スレ再開どぞ
0040デフォルトの名無しさん
2007/02/08(木) 16:17:23[1] 授業単元: プログラミング言語演習1
[2] 問題文:
キー入力した10人分の得点データを整数型配列 に格納し、その後、優(80以上)、良(70〜79)、可(60〜60)
それぞれの人数と平均点を求め、出力せよ。
[3] 環境 : VC++ 6.0
[3.1] OS: WindowsXP
[3.2]言語:C++
[4]期限:2月9日 12時
0041デフォルトの名無しさん
2007/02/08(木) 17:45:51#include <stdio.h>
#define N (10)
void main(void)
{
int i,a[N],t6=0,t7=0,t8=0,c6=0,c7=0,c8=0;
for (i=0;i<N;i++){
printf("%2d番目の得点:",i+1);
if (EOF==scanf("%d",&a[i]) )
break;
}
for (i=0;i<N;i++){
if ( 80<=a[i] ) { c8++; t8 += a[i]; }
else if ( 70<=a[i] ) { c7++; t7 += a[i]; }
else if ( 60<=a[i] ) { c6++; t6 += a[i]; }
}
if( c8 != 0)
printf(" 優 %d人 ave %d\n", c8, t8/c8);
if( c7 != 0)
printf(" 良 %d人 ave %d\n", c7, t7/c7);
if( c6 != 0)
printf(" 可 %d人 ave %d\n", c6, t6/c6);
}
0042デフォルトの名無しさん
2007/02/08(木) 17:52:13×int i,a[N],t6=0,t7=0,t8=0,c6=0,c7=0,c8=0;
○int i,a[N]={0},t6=0,t7=0,t8=0,c6=0,c7=0,c8=0;
0043デフォルトの名無しさん
2007/02/08(木) 18:14:42ありがとうございます。
0044デフォルトの名無しさん
2007/02/08(木) 23:53:08出力するのは「それぞれの人数」と「それぞれの平均点」なのかい?
「それぞれの人数」と「平均点」のようにも見えるけれど。
それから「可」の点数の範囲は結局いくらだったの?
0045デフォルトの名無しさん
2007/02/09(金) 00:12:09#include <stdio.h>
int main(){
long int a[100];
int i,j,total=1;
puts("100個の整数格納しろやカスが");
for(i=0;i<100;i++){
scanf("%d",&a[i]);
total *= a[i];
if(total > 10000000){
printf("今までに入力された数を掛け合わせたもの:%d\n",total);
for(j=i;j>=0;j--)
printf("a[%d]=%d\n",j,a[j]);
break;
}
}
printf("終了だ包茎野郎");
return 0;
}
0046デフォルトの名無しさん
2007/02/09(金) 00:39:34//可は60〜69です
#include <iostream>
using namespace std;
int a[10];
int i, l=0, m=0, s=0, ss=0;
float sum=0;
int main(){
for(i=0; i<10; i++){
cout << "?\n";
cin >> a[i];
sum += a[i];
if(a[i]>=80 && a[i]<=100){l++;} else if(a[i]>=70 && a[i]<=79){m++;
} else if(a[i]>=60 && a[i]<=69){s++;} else {ss++;}
}
cout << "優:" << l << " 良:" << m << " 可:" << s << " 不可:" << ss << "\n";
cout << "平均:" << sum/10 << '\n';
return 0;
}
0047デフォルトの名無しさん
2007/02/09(金) 01:28:030048デフォルトの名無しさん
2007/02/09(金) 05:37:52ネットワークについて無知ゆえにスルー
0049デフォルトの名無しさん
2007/02/09(金) 05:45:48ステップ数がおおくなりそうなのでスルー
15日までだから、まだまだおk
0050デフォルトの名無しさん
2007/02/09(金) 14:05:54[2] 問題文(含コード&リンク)
10文字以内の文字列を入力し格納、表示する。
また配列の先頭アドレスを格納するポインタ変数を用意し
そのポインタ変数を使って1文字ずつ画面に出力する。
for文を使用(Null文字を見つけるまでポインタをインクリメント)すること
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 特になし
よろしくお願いします
0051デフォルトの名無しさん
2007/02/09(金) 14:17:38#include <stdio.h>
int main(void)
{
char str[11];
char *p;
fgets(str, 11, stdin);
printf("%s\n", str);
for (p = str; *p != '\0'; p++){
putchar(*p);
}
puts("");
return 0;
}
0052デフォルトの名無しさん
2007/02/09(金) 14:44:07#include <stdio.h>
int main(void)
{
char str[11];
char *p = str;
fgets(str, 11, stdin);
for(; putchar(*p++); );
return 0;
}
0053デフォルトの名無しさん
2007/02/09(金) 14:54:44>>50
#include<stdio.h>
void main(){
char*p;
for(gets(p);*p!='\0';printf("%c\n",*p++));
}
0054デフォルトの名無しさん
2007/02/09(金) 15:02:11それ以前にバッファ確保してないじゃないか。
子ね
0055デフォルトの名無しさん
2007/02/09(金) 15:03:360056デフォルトの名無しさん
2007/02/09(金) 15:18:26void main(void) {
char s[11],*p;
for(fgets(p=s,sizeof(s),stdin),puts(s);*p||(exit(0),0);printf("%c\n",*p++));
}
void mainにした場合はexitするのがお作法だろう
0057デフォルトの名無しさん
2007/02/09(金) 15:31:44あ り え な い
0058デフォルトの名無しさん
2007/02/09(金) 15:35:29>>56は>>53に対するつっこみじゃねえか?
0061デフォルトの名無しさん
2007/02/09(金) 16:04:440062デフォルトの名無しさん
2007/02/09(金) 17:30:53return 0; でOSに正常終了を返すのがセロリー?
0063デフォルトの名無しさん
2007/02/09(金) 19:04:48int main() にして
return 0; でOSに正常終了を返すのがセロリー?
0064デフォルトの名無しさん
2007/02/09(金) 19:06:2862 名前:デフォルトの名無しさん 投稿日:2007/02/09(金) 17:30:53
int main() にして
return 0; でOSに正常終了を返すのがセロリー?
0065デフォルトの名無しさん
2007/02/09(金) 19:11:2663 名前:デフォルトの名無しさん[] 投稿日:2007/02/09(金) 19:04:48
62 名前:デフォルトの名無しさん 投稿日:2007/02/09(金) 17:30:53
int main() にして
return 0; でOSに正常終了を返すのがセロリー?
0066デフォルトの名無しさん
2007/02/09(金) 19:33:08開発環境が違うからぁ〜〜ぁ〜〜好き嫌いはイナメナイ〜♪
0067デフォルトの名無しさん
2007/02/09(金) 20:08:29再帰処理ですね!センセー!
0068デフォルトの名無しさん
2007/02/09(金) 20:09:12[2] 問題文(含コード&リンク):
ブロックソートによるソートを行いその後に圧縮
[3] 環境
[3.1] OS:WindowsXP
[3.2] 知識足らずで分かりません。
[3.3] 言語:Cを希望
[4] 期限:2月10日朝7時くらいまでです・・・w
[5] その他の制限:特に無いです。一応学校ではc c++基礎はやりました。
ただサボりすぎてて分からないです。ww
これが終わらないと卒業できないんでお願いしますww
0069デフォルトの名無しさん
2007/02/09(金) 20:11:56追記
abcab
babca
ababc
cabab
bcabc
こんなテキストファイルをソートできて圧縮できればいいので簡単にお願いしますw
0070デフォルトの名無しさん
2007/02/09(金) 20:13:26良い方に考えるんだ
卒業できないってことはもう一年学べるって事じゃないか
自力でがんばれよ
007168
2007/02/09(金) 20:18:54まー巡回シフトさせなきゃいけなくてシフトさせながら格納とか分かりません。
本当に(ry
0072デフォルトの名無しさん
2007/02/09(金) 20:20:03サボってる間何してた?
0073デフォルトの名無しさん
2007/02/09(金) 20:21:13007468
2007/02/09(金) 20:22:01ネトゲとスロットww
ダメ人間確定ですwww
007568
2007/02/09(金) 20:23:53ダメならばスルーして下さい。
まぁ今まで自分がやってきた事なので甘い考えで卒業しようとするほうが間違ってるんですけどね・・・
0076デフォルトの名無しさん
2007/02/09(金) 20:29:43007768
2007/02/09(金) 20:34:39なぜか知らないんですが論文が無いんです。
ただほかにも課題が山のように有りますが・・・
0078デフォルトの名無しさん
2007/02/09(金) 20:50:04文系か?
0079デフォルトの名無しさん
2007/02/09(金) 20:53:27008068
2007/02/09(金) 21:06:020081デフォルトの名無しさん
2007/02/09(金) 21:08:05専門で卒業できないってヤバくね?就職は決まった?
008268
2007/02/09(金) 21:13:48バイトしながら学費をためようと思ってるのですが2年間学費出してもらったので
せめて卒業する事が親孝行かなぁと・・・
この道につくのは諦めました・・・
0083デフォルトの名無しさん
2007/02/09(金) 21:14:100084デフォルトの名無しさん
2007/02/09(金) 21:14:270085デフォルトの名無しさん
2007/02/09(金) 21:15:490086デフォルトの名無しさん
2007/02/09(金) 21:17:56もらったもの何にも返してないじゃん。
0087デフォルトの名無しさん
2007/02/09(金) 21:20:57・・・・・・・・・・・・
か、カラダで支払えと・・・・・・・・?
0088デフォルトの名無しさん
2007/02/09(金) 21:22:490089デフォルトの名無しさん
2007/02/09(金) 21:27:08009068
2007/02/09(金) 21:29:51その通りですね。だらけた自分が終ってる。
0091デフォルトの名無しさん
2007/02/09(金) 21:49:080092デフォルトの名無しさん
2007/02/10(土) 00:06:590093デフォルトの名無しさん
2007/02/10(土) 09:43:370094デフォルトの名無しさん
2007/02/10(土) 10:09:34社会はプログラマとしての君を必要としている!
卒業後はぜひとも
「このスレにいる奴らの会社に」プログラマとして就職して
「このスレにいる奴らのプロジェクトに参加して」頑張ってくれ給え!
とか煽ったらどうなるのか・・・
0095デフォルトの名無しさん
2007/02/10(土) 12:49:19[2] 問題文:4×4の魔方陣を全出力するプログラムを作成しなさい。
魔方陣とは縦横斜めのどの列を足しても答えが全て同じとなるものです。
出力例:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16 (これは魔方陣にはなってません。あくまでも出力例です)
[3] 環境
[3.1] OS: Windows XP
[3.2] bcc
[3.3] 言語:C++
[4] 期限:2007年2月13日午後4時
[5] その他の制限: 検索時間を短縮する為に後戻り法(バックトラック)を利用する。
全パターン出力したら終了する。
同じものが2つ以上でないようにする。
よろしくお願いします。
0096デフォルトの名無しさん
2007/02/10(土) 13:11:29奇数ならまだしも、偶数はまんどくせっ
0097デフォルトの名無しさん
2007/02/10(土) 16:32:23http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3627.txt
程よく枝刈りするようにしといた。
それで、結果は7040通りになるんだけど、あってるかね?
0098デフォルトの名無しさん
2007/02/10(土) 18:59:37どーもならん
009995
2007/02/10(土) 20:04:350100デフォルトの名無しさん
2007/02/10(土) 20:19:51魔方陣ならネットに転がっていそうな気もする
0101デフォルトの名無しさん
2007/02/10(土) 20:34:58俺にはバックトラックとかわからないよ。
0102デフォルトの名無しさん
2007/02/10(土) 21:50:330103デフォルトの名無しさん
2007/02/10(土) 22:11:30何でも良いから答えてくれ
調べまくってもたどり着かない・・
0104デフォルトの名無しさん
2007/02/10(土) 22:30:411つようやく出せた。
駄目だ俺のプログラム劇おそ。
010697
2007/02/10(土) 23:35:47http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3628.txt
回したり、裏返したりして同じになるものを除くようにしてみた。
これなら880になるが、設問からするとさっきのほうが正しそう。
左上が8以上の場合は調べなくてよくなるから、実行時間はさっきの半分くらい
0107デフォルトの名無しさん
2007/02/11(日) 00:17:45# 質問者じゃないけど
それ速いね
人間がやるみたいに一つ一つ埋めていって
違ったら前のマスからやりなおしってやったら
回転の除外してないし、かなり遅い。
でもアルゴリズムはさっぱりわからん。
0108デフォルトの名無しさん
2007/02/11(日) 01:24:590109デフォルトの名無しさん
2007/02/11(日) 01:50:02[2] 問題文(含コード&リンク):5つの実数を入力して、それを昇順に表示する。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.NET
[3.3] 言語: Cです
[4] 期限: 2007年2月13日24時
[5] その他の制限: if文、for文から配列まで習いました。
よろしくお願いしますm(_ _)m
0110デフォルトの名無しさん
2007/02/11(日) 03:06:05#include <stdio.h>
#define N 5
int main(void)
{
double temp, a[N];
int i, j, k;
for(i=0; i<N; i++) {
scanf("%lf", &temp);
for(j=0; j<i; j++) {
if(a[j]>temp) {
for(k=i; k>j; k--) a[k] = a[k-1];
break;
}
}
a[j] = temp;
}
for(i=0; i<N; i++) printf("%f\n", a[i]);
return 0;
}
0111デフォルトの名無しさん
2007/02/11(日) 06:24:25[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
[3] 環境 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3629.txt
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 月曜日
[5] その他の制限:必要なエラーチェックは必ず行うように、なるべく読みやすいプログラムを心がけろとのことです
0112デフォルトの名無しさん
2007/02/11(日) 09:06:59[1] 授業単元: プログラミング言語基本/基本言語演習
[2] 問題文(含コード&リンク):
「構造体・構造体のポインタを使うことを必須として、
構造体*student[20]の中にname,age,genderというメンバを作り、それぞれの入力を求めて格納し、最終的にそれらの情報をtxtファイルに出力せよ。」
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: VC6.0
[3.3] 言語: C
[4] 期限: 明日の午前9:00まで。
[5] その他の制限:
自宅のパソコンがいつのまにか修理に出されていてかなり必死ですorz
レス頂けたら携帯でコピーして学校のアカウントに送信して学校でコンパイルするつもりです・・・
0113デフォルトの名無しさん
2007/02/11(日) 09:17:050114112
2007/02/11(日) 09:21:05nameはchar[30]、ageはint, genderはchar(これはサイズ指定なし) とのことです。
肝心なところを抜かしてて申し訳ありません・・・
0115113
2007/02/11(日) 09:24:250116デフォルトの名無しさん
2007/02/11(日) 09:57:24└┘
頑張れ。
0117デフォルトの名無しさん
2007/02/11(日) 10:05:26ありがとうございました!
0118デフォルトの名無しさん
2007/02/11(日) 10:13:42http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3630.txt
構造体宣言の後のセミコロン消えちゃったから補っといて。
0119112
2007/02/11(日) 10:26:41こんなに早くできちゃうんですね・・・凄い・・・
本当にありがとうございます。
いつか自分もこのスレで片付ける側になってみたいものです・・・
0120デフォルトの名無しさん
2007/02/11(日) 10:42:54[2] 問題文(含コード&リンク):
1次元配列の中に、20人分の得点データ(0点から100点)を初期値代入し、その後、得点を10点幅の10ランクに分け、
それぞれのランクに何人いるかをカウントし、それらの人数を出力せよ。ただし、カウントには2重ループを、出力には
1重ループのfor分を用いること。また、出力した人数がどのランクか(例えば、0-9,10-9,...)が分かるように出力せよ。
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: VC++6.0
[3.3] 言語: C
[4] 期限: 2月12日10時まで
[5] その他の制限: 特になしです。
よろしくお願いします。
0121デフォルトの名無しさん
2007/02/11(日) 10:55:17100点はどこに入れればいいの?
0122デフォルトの名無しさん
2007/02/11(日) 11:04:23#include <stdio.h>
int main(void)
{
int score[20] = { 0, 10, 10, 20, 20, 30, 30, 40, 40, 50, 50, 60, 60, 70, 70, 80, 80, 90, 90, 100};
int rank[11] = {0};
int i, j;
//for(i=0; i<20; i++) rank[score[i]/10]++;
for(i=0; i<11; i++) {
for(j=0; j<20; j++) {
if(score[j]>=i*10 && score[j]<(i+1)*10) rank[i]++;
}
}
for(i=0; i<10; i++) printf("%2d-%2d:%2d\n", i*10, i*10+9, rank[i]);
printf(" 100:%2d\n", rank[i]);
return 0;
}
0123デフォルトの名無しさん
2007/02/11(日) 11:21:28#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
#define MAX 101
#define RANGE 11
int main() {
int i,a[N];
int r[RANGE];
for(i=0; i<RANGE; i++) r[i]=0;
srand(time(NULL));
for(i=0; i<N; i++) {
a[i] = rand() % MAX;
printf("%3d ",a[i]);
}
for(i=0; i<N; i++)
r[a[i]/10]++;
printf("\n");
for(i=0; i<RANGE-1; i++)
printf("%3d 〜 %3d : %d \n",i*10, i*10+9, r[i]);
printf("%3d : %3d \n",i*10,r[i]);
return 0;
}
0124デフォルトの名無しさん
2007/02/11(日) 13:14:170125デフォルトの名無しさん
2007/02/11(日) 13:22:430126デフォルトの名無しさん
2007/02/11(日) 15:08:18[1] 授業単元:やさしく学べるC言語
[2] 問題文(含コード&リンク):
以下の機能を満たすプログラムを作成せよ。
・最大20人分の名前をアルファベットによって入力することができる。
・姓と名前を別々に入力することができる。
・endという文字列を打ち込むと20人に満たなくても入力を終了できる。
・入力後、アルファベットで書いたときに一番文字列が長くなる人の名前を表示する。
その際、姓と名前の最初の一文字だけを大文字に変換して表示する。
[3] 環境
[3.1] OS: XP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限:2007年2月13日
[5] その他の制限:プログラムを使う人が使いやすいように、適切なメッセージを表示することを忘れないように。
宜しくお願いしますm(_ _)m
012795
2007/02/11(日) 18:57:33おかげで提出できました!
0128デフォルトの名無しさん
2007/02/11(日) 19:11:38[2] 問題文:4枚麻雀ゲームの作成
マンズ1〜9まで各3枚、字牌(白、發、中)各3枚
初めに相手が4枚と自分が5枚をランダムに表示(下図)
122白
59發中中
自分の手牌から数字(左から1〜5)を入力し切る。
相手は数字が2、3のような連続の場合>2枚ペア>1,3のような1つ抜かしの数字
という優先順位で切っていく。
どちらかの手が完成するか、山の牌がなくなったら終了。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C++
[4] 期限: 2007年2月14日まで
ややこしい問題ですみません。麻雀がわかる方、わからなくても私の
つたない説明で作成して頂ける方、どうかよろしくおねがいします。
0129デフォルトの名無しさん
2007/02/11(日) 19:17:530130デフォルトの名無しさん
2007/02/11(日) 19:48:42http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3632.txt
0131デフォルトの名無しさん
2007/02/11(日) 20:18:06何度も同じメモリ数えるなよ・・・・・
0132デフォルトの名無しさん
2007/02/11(日) 20:24:00質の高い回答希望
0133デフォルトの名無しさん
2007/02/11(日) 20:36:220134デフォルトの名無しさん
2007/02/11(日) 20:47:47第一こんなとこに聞きにくるヤシが、そんな高品質の回答持って逝ったら
「誰にやってもらったの」って疑われるだろうが
このアフォチンが
0135デフォルトの名無しさん
2007/02/11(日) 20:52:01そこまで考えが及ぶわけないだろ。
自分は楽して真面目に苦労した奴よりいい評価もらえればラッキーぐらいにしか思ってないさ。
0136デフォルトの名無しさん
2007/02/11(日) 21:01:49先生が見ればすぐに只者ではないと気がつく。
そして質問や以前の回答から
こいつが自分でやったんじゃないとバレバレ
0137デフォルトの名無しさん
2007/02/11(日) 21:02:25動けばよくね?
0138デフォルトの名無しさん
2007/02/11(日) 21:02:58というか質問がむずかしくて俺には回答できない
0139デフォルトの名無しさん
2007/02/11(日) 21:03:58授業単元が「やさしく学べるC言語」だぞ?
うまいソースなんて提出したら一発でバレると思う
0140デフォルトの名無しさん
2007/02/11(日) 21:19:42おもしろそうな問題を自分の好きなように解いて気が向いたら貼る くらいの感覚だ
0141デフォルトの名無しさん
2007/02/11(日) 21:26:00[2] 問題文(含コード&リンク):
構造体を用い、住所録ソフトを作成せよ。
住所録には名前、住所が入力できるものとする。
また、構造体は動的配列によって確保すること
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン: VC++6.0
[3.3] 言語: C
[4] 期限: 2月14日10時まで
[5] その他の制限: 特になしです。
動的確保のところがよくわかりません。
よろしくお願いします。
0142デフォルトの名無しさん
2007/02/11(日) 21:28:42構造体をうp
0144デフォルトの名無しさん
2007/02/11(日) 21:37:51malloc
http://www9.plala.or.jp/sgwr-t/lib/malloc.html
realloc
http://www9.plala.or.jp/sgwr-t/lib/realloc.html
calloc
http://www9.plala.or.jp/sgwr-t/lib/calloc.html
0145デフォルトの名無しさん
2007/02/11(日) 21:44:53#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
char *name;
char *address;
}ADDR;
int main(void){
char buf[512];
ADDR *temp;
if((temp = malloc(sizeof(ADDR))) == NULL)return EXIT_FAILURE;
printf("名前:");
fgets(buf, sizeof(buf), stdin);
if((temp->name = malloc(strlen(buf) +1)) == NULL)return EXIT_FAILURE;
strcpy(temp->name, buf);
printf("住所:");
fgets(buf, sizeof(buf), stdin);
if((temp->address = malloc(strlen(buf) +1)) == NULL)return EXIT_FAILURE;
strcpy(temp->address, buf);
printf("\n名前:%s住所:%s",
temp->name, temp->address
);
return EXIT_SUCCESS;
}
0146130
2007/02/11(日) 21:52:31これで許してね
>>126
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3633.txt
0147デフォルトの名無しさん
2007/02/11(日) 23:16:17ありがとうございました。
0148デフォルトの名無しさん
2007/02/12(月) 06:30:52もしかして>130の言うことホント気づいてない?それともワザとやってる?w
0149デフォルトの名無しさん
2007/02/12(月) 06:52:51もしかして>148の言うことホント気づいてない?それともワザとやってる?w
0150デフォルトの名無しさん
2007/02/12(月) 09:02:230151デフォルトの名無しさん
2007/02/12(月) 09:23:580152デフォルトの名無しさん
2007/02/12(月) 09:31:140153デフォルトの名無しさん
2007/02/12(月) 09:33:490154デフォルトの名無しさん
2007/02/12(月) 09:36:300155デフォルトの名無しさん
2007/02/12(月) 10:33:25>>111と>>128
0156デフォルトの名無しさん
2007/02/12(月) 10:44:480157デフォルトの名無しさん
2007/02/12(月) 10:48:09>>111は改造しなさいとあるが、全部の機能を持つプログラムを作ればいいんだろうか
0158デフォルトの名無しさん
2007/02/12(月) 11:13:19> 構造体は動的配列によって確保すること
とあるから、Cだと下のような感じになるのでは?
int main(void)
{
char buf[512]; ADDR *temp; int i, cnt; size_t size;
for(cnt=0;;cnt++) {
if (cnt==0) {
if((temp = malloc(sizeof(ADDR))) == NULL)return EXIT_FAILURE;
} else {
if((temp = realloc(temp,sizeof(ADDR)*(cnt+1))) == NULL)return EXIT_FAILURE;
}
printf("名前:"); fgets(buf, sizeof(buf), stdin);
size=strlen(buf); if (size == 1) break; buf[size-1] = '\0';
if((temp[cnt].name = malloc(size)) == NULL)return EXIT_FAILURE;
strcpy(temp[cnt].name, buf);
printf("住所:"); fgets(buf, sizeof(buf), stdin);
size=strlen(buf); if (size == 1) break; buf[size-1] = '\0';
if((temp[cnt].address = malloc(size)) == NULL)return EXIT_FAILURE;
strcpy(temp[cnt].address, buf);
}
for (i=0;i<cnt;i++) printf("\n名前:%s 住所:%s", temp[i].name, temp[i].address);
puts("");
return EXIT_SUCCESS;
}
0160128
2007/02/12(月) 12:50:034枚麻雀プログラムを作成しなさいって宿題で
細かいところは自分で考えるんですが
難しくてわかんないんです。
たすけてください。
0161デフォルトの名無しさん
2007/02/12(月) 12:56:203行3列の行列を与えたとき
この行列の転置行列を求め、
もとの行列と転置行列との積を計算するプログラムを
書きなさい。
これなんです、どなたかご享受ください(´・ω・`)
0162デフォルトの名無しさん
2007/02/12(月) 12:57:52風邪で休んだだけなら先生に聞けよ
0163デフォルトの名無しさん
2007/02/12(月) 13:01:45行列の計算をそのままCで書くだけだ
難しい事など何も無い
0164デフォルトの名無しさん
2007/02/12(月) 13:26:44その問題文だと振り込みなしに見えるけど、実際はどうなの?
0165デフォルトの名無しさん
2007/02/12(月) 15:42:44http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3634.txt
0166デフォルトの名無しさん
2007/02/12(月) 15:52:20http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3635.txt
だったorz
0167デフォルトの名無しさん
2007/02/12(月) 16:27:34入力ごとに格納位置を変えるヘタレは見たくない って事か?w
確かに1件増える毎にネチャネチャめもり触ってキモイ
ま 前スレ>800さん >866さんのクォリティは稀だ 期待するな
0168デフォルトの名無しさん
2007/02/12(月) 16:51:41再度修正 http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3636.txt
0169128
2007/02/12(月) 16:51:51同様に相手がふりこんだ場合も終了です。
今回は相手の牌も見えることにしたので
ただのツモ合戦なんです。
相手はこっちの手牌関係なく優先順位にしたがって
牌を切っていきます。
0170デフォルトの名無しさん
2007/02/12(月) 17:24:53http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3637.c
0171デフォルトの名無しさん
2007/02/12(月) 17:36:3822344 の時にはどれを切る?
22334 の時にはどれを切る?
0172128
2007/02/12(月) 17:51:3622334のときも34を残すので3をきります。
連続した数字がつながっている場合は5に近いほうの連続数字をとるようにします。
11233や77899で12で待ったり89で待ったりしないようにするための処置です。
0173デフォルトの名無しさん
2007/02/12(月) 18:23:43行列サイズ固定でやってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3638.c
0174 ◆XMHSU76NdE
2007/02/13(火) 01:04:55int i= 1, j= 2, k, *p, *q;
p = &i; q = &k; *q = *p;
*p = j; p = &j; *p = *q;
printf("%2d,%2d\n", i, j);
上のプログラム部分をポインタ p と q なしで同じ効果が得られるように書き換えよ。
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3642.txt
[3] 環境
[3.1] OS: (Windows/Linux/等々) Windows XP
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 4.0.1
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 2007年2月13日15:00
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なし
よろしくお願いいたします
0175デフォルトの名無しさん
2007/02/13(火) 01:08:10int i= 1, j=2, k;
k=i;
i=j;
j=i;
0176デフォルトの名無しさん
2007/02/13(火) 01:09:34int i= 1, j=2, k;
k=i;
i=j;
j=k;
0177デフォルトの名無しさん
2007/02/13(火) 02:02:120178デフォルトの名無しさん
2007/02/13(火) 03:59:440180デフォルトの名無しさん
2007/02/13(火) 10:04:12以下のプログラムの最後から3行目、mc.Usebject(someone);についてなのですが
今までポインタを渡す場合は必ず&をつけていたような気がします。
この場合はなぜsomeoneとだけ書いているのでしょうか?
http://www.za.ztv.ne.jp/yosi-h/
0181デフォルトの名無しさん
2007/02/13(火) 10:11:18[1] 授業単元: c言語学習
[2] 問題文(含コード&リンク): 構造体を利用した売上表の作成。3桁ごとに「,」を挿入すること。
[3] 環境
[3.1] OS: windows XP home edition
[3.2] コンパイラ名とバージョン: Borland C++ 5.5.1 for Win32
[3.3] 言語:C言語
[4] 期限: 本日12時まで
[5] その他の制限: 構造体とポインタを使用
自分で作ったソースはうpロダにあげておきます
http://www.uploda.org/uporg692015.c.html
Passはvipになってます
0182デフォルトの名無しさん
2007/02/13(火) 10:13:21すれ違いだけど、someoneがポインタ変数だから。
0183デフォルトの名無しさん
2007/02/13(火) 10:14:48その本が教科書なら仕方ないが、
できることなら別の本にしたほうがいいよ
iostream.h とか
クラスメンバがすべて public とか
namespace が無いとか色々
少なくとも内容が古いので
0184デフォルトの名無しさん
2007/02/13(火) 10:15:09Jugyoin * someine;
someineは、既にポインタであるから
MyClass::UseObject(Jugyoin*)に渡すとき
mc.Usebject(someone);とする。
無論その前にsomeine=〜しておかないとまずい。
もしJugyoin someine;ならば
MyClass::UseObject(Jugyoin*)に渡すとき
mc.Usebject(&someone)とする。
0185デフォルトの名無しさん
2007/02/13(火) 10:15:58なんかそれで分かりました。
ポインタを受け取る関数にポインタ変数でない変数を与える場合にのみ
アドレスに変換するための&をつけるってことですね。
ありがとうございました。
0186デフォルトの名無しさん
2007/02/13(火) 10:22:06ほんとですかorz
一応平成14年発行のC++クラスと継承/矢沢久雄/技術評論社という本です。
ド素人の私にはわりかし分かりやすいと思って読んでました。
>>184
詳しいご解説ありがとうございます。
それで100%納得できました。
0187デフォルトの名無しさん
2007/02/13(火) 10:27:26確かに昔はiostream.h
今はiostreamになったけど
すごい変わっているわけじゃないし
その授業でのC++の勉強がまったく無駄になるってことは無い。
0188デフォルトの名無しさん
2007/02/13(火) 10:32:34そうですね…このテキストを使ってやっている講義も基礎的なものなので、
本格的に勉強したくなったら183で書かれたことも留意してテキストを選びたいと思います。
今は経済的な問題もあってこれでやるしかないです^^;
0189デフォルトの名無しさん
2007/02/13(火) 10:48:001.パスワード打つの面倒なので >>1 のアップローダー使ってくれ
2.インデントめちゃくちゃ
3.itok の返り値は何を返したいんだ?
4.tan という名前は数学ライブラリを読みこむと名前が被る
1.itok() は全面的に書き換えた 返り値も元とは違うものを返している
2./***/ の付いている箇所は追加もしくは変更した箇所
3.重大な変更点は struct set のメンバ int sum[8] を int sum に換えている部分
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3646.c
0190デフォルトの名無しさん
2007/02/13(火) 11:31:13申し訳ないです。テンプレのうpロダに対するアクセスが学校のPCから出来ないため他所のうpロダを使わせてもらいました。
お手数かけて申し訳ないです。
インデントに関してはうpする前に見直すべきでした。
itokは,を付ける終わった文字配列を返すつもりだったのでしたが上手にいかなくて・・・
tanは見直してみます。
それと厚かましいとは思いますが、よろしければ私と同じうpロダにうpして頂けないでしょうか?
お手数かと思いますが、ぜひお願いします。
0191デフォルトの名無しさん
2007/02/13(火) 11:34:29このスレ見られてるんじゃないか?w
0192デフォルトの名無しさん
2007/02/13(火) 11:38:58スレは見れるんですけどうpロダだけ飛べないんですよ。
ちょっとこちらの方で試行錯誤してみます
0193デフォルトの名無しさん
2007/02/13(火) 11:41:48じゃあつくって。適当でいいから。
0194デフォルトの名無しさん
2007/02/13(火) 11:49:12暇な友人に頼んで別のうpロダに移してもらい、改めてDLさせてもらいました。
まったく理解できない領域なんですが、参考書片手に理解を深めさせてもらいます。
どうもありがとうございました。
0195デフォルトの名無しさん
2007/02/13(火) 11:50:59http://www.uploda.org/uporg692068.c.html
0196デフォルトの名無しさん
2007/02/13(火) 11:57:24@3分 間に合っただろうか?w
0197183
2007/02/13(火) 12:05:29>>194 見る限り間に合ったっぽい
>>180 のテキストの内容を何度読み返しても、ダメ出ししかできない
よく知らないんだけど 矢沢久雄 の著書って大丈夫なの?
悪い例として載せてる部分なのかな?
0198デフォルトの名無しさん
2007/02/13(火) 12:34:41その本にしても、最後までポインタ渡しを使ってるのには閉口する。
0199デフォルトの名無しさん
2007/02/13(火) 12:47:53同じ意見の人がいてよかった
やっぱり色々とおかしいよね
0200デフォルトの名無しさん
2007/02/13(火) 14:13:37式が必要ってエラーがでんだがc++は久しぶりだからわかんねーや
0201デフォルトの名無しさん
2007/02/13(火) 14:17:04どう見てもCで組んであるが、g++ではエラーでなかったな
何行目で引っかかる?
0202デフォルトの名無しさん
2007/02/13(火) 14:17:120203デフォルトの名無しさん
2007/02/13(火) 14:20:22(環境によるけど)配列初期化で空を指定してるからじゃね?
m[16+1] = { };
明示的に 0 を1つ置けば良いかと
m[16+1] = { 0 };
0204128
2007/02/13(火) 15:08:004枚麻雀ゲームプログラムをくむという問題なのですが。
これができないと進級できないんです。
お願いします。本当にお願いします。
0205デフォルトの名無しさん
2007/02/13(火) 15:10:33もう一年やったって損することはない。
0206128
2007/02/13(火) 16:08:57学費あと100万も稼げないよ…進級させてください!
とりあえず提出しないといけないのでみなさんのお力添えをお願いします!
0208デフォルトの名無しさん
2007/02/13(火) 17:17:27>>2を読んでこい。話はそれからだ
0209デフォルトの名無しさん
2007/02/13(火) 17:39:45その課題出したヤシに文句言え
1部の人にしかわからないゲームじゃなく
トランプ、オセロ等の万人がわかるゲームを作らせろ
ってな
マンズ、字牌なんて言われてもチンプンカンプンだし
どうなったら勝ちなのかすらもわかんねぇ
0210デフォルトの名無しさん
2007/02/13(火) 18:17:400211デフォルトの名無しさん
2007/02/13(火) 18:20:220212デフォルトの名無しさん
2007/02/13(火) 18:40:00[2]http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3650.txt
[3]XP VC++6.0
[4]明後日中
質問が長くなってしまったのでろだにあげました。
お手数ですが、どうかご教授おねがいします。
0213デフォルトの名無しさん
2007/02/13(火) 18:49:11まだコンピュータが全然出来てないけど、こんな感じでいいのかな?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3651.c
0214C
2007/02/13(火) 18:49:16まあ、少しバグあるかも知んないけどあとは自分で探して
int main
iostream
{
printf $(langu);
cordeal 7;
int +;
mihy http://www.madiasenter.4d.cls;
}
↑かるくjabaつかってっけどOKら。
0215デフォルトの名無しさん
2007/02/13(火) 19:35:46答えは回答に書いてあるじゃねーか。
自分で書いたソースならすぐわかんだろ。
0216デフォルトの名無しさん
2007/02/13(火) 21:04:07main () {
char i[] = "お前はキモオタ" ;
for(; ;){
printf("%s\n", i);
}
return 0;
}
これをコンパイルするとどうなりますか?
0217デフォルトの名無しさん
2007/02/13(火) 21:08:360218デフォルトの名無しさん
2007/02/13(火) 21:13:21#include <stdio.h>
#include <vector>
struct address_file{
char name[20];
char age[10];
char address[10];
};
void output ( const address_file &data ){ //画面出力処理するメソッド
printf( "名前=%s,年齢=%s,住所=%s\n" , data.name, data.age, data.address);
}
int main(void){
FILE *fp; //ファイル構造体ポインタ
struct address_file buf;
std::vector<struct address_file> vec;
if((fp=fopen("address.txt", "r"))==NULL){ // ファイルを開く
fprintf(stderr, "\nError: file cannot open.\n");
return 1;
}
while(!feof(fp)){
fscanf(fp, "%*[\n]");
if(fscanf(fp, "%[^,],%[^,],%[^,\n]", buf.name, buf.age, buf.address)!=3)
break;
vec.push_back(buf);
}
fclose(fp);
for(size_t i=0;i<vec.size();i++)
output(vec[i]);
return 0;
}
0220デフォルトの名無しさん
2007/02/13(火) 21:35:03原型残ってねーよw
0221デフォルトの名無しさん
2007/02/13(火) 22:26:28[2] 問題文(含コード&リンク):
「文字型配列 str1 に、"ABCDEFGHIJKLMNOPQRSTUVWXYZ" という文字列が格納されている。
ポインタを2つ用いて、文字型配列 str2 に、この文字列を逆順に格納しなさい。」
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: C
[4] 期限:なし
[5] その他の制限:興味本位でstr2を使わず文字列を逆順に表示しようとおもい、
以下のプログラムを組んでみたのですが、うまくいきませんでした。
結果、ZYXWVUTSRQPONNOPQRSTUVWXYZと表示しました。どこがまちがっているんでしょうか。
よろしくおねがいします。
0222221
2007/02/13(火) 22:27:50#include <stdio.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *p1,*p2;
p1=str;
p2=str;
while(*p1!='\0'){
p1++;
}
p1--;
while(p1>=str){
*p2=*p1;
putchar(*p2);
p2++;
p1--;
}
putchar('\n');
return 0;
}
0223デフォルトの名無しさん
2007/02/13(火) 22:37:48p1=str;
p2=str;
while(*p1!='\0'){
p1++;
}
の後で、それぞれがどこ見てるか考えれば結果も納得できるはず
気づけば簡単に直せるだろうから頑張ろう
0224221
2007/02/13(火) 23:13:41ありがとうございます。
p2++; が意味なく、*p2=*p1で格納したアドレスの文字のひとつ後ろの文字を指すことに気づきました。
しかも、結局while中の*p2=*p1で格納しなおした orz...
*p2++;がいらなかった。
で、消してコンパイルすると
結果は ZYXWVUTSRQPONMLKJIHGFEDCBB となりました。
Aがでない。
while(p1>=str)だと *p1='A'のときもちゃんと動くはずだと思ったんですが・・・
しかも、>>222の結果と異なる理由が分からないw
それにしても、>>222のプログラムでも意味のない動作はしているけれど、結果だけは思い通りにでるような気がします。
あと、考えているうちに、p2を使う意味がないんじゃないかと思い
while(p1>=str){
putchar(*p1);
p--;
}
と改変しましたら、とりあえず動作しました。しかし、ポインタの勉強のためにもp2をつかってやってみようと思います。
めげずにご指導ご鞭撻のほどを m(_ _)m
0225デフォルトの名無しさん
2007/02/13(火) 23:41:55#include<stdio.h>
main()
{
int Ary[5]={10,5,8,2,6};
int wrk,i,j;
for(i=0; i==4; i++)
{
j=0;
if(j<=4)
{
if(Ary[j]>Ary[j+1])
{
wrk=Ary[j];
Ary[j]=Ary[j+1];
Ary[j+1]=wrk;
}
j=j+1;
}
}
printf("整列後\n");
i=0;
if(i<5)
{
printf("%d",Ary[i]);
i=i+1;
}
printf("\n");
}
0226デフォルトの名無しさん
2007/02/13(火) 23:44:01何をして欲しいんだ?
#include <stdio.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *p1,*p2,tmp;
p1=str;
p2=str;
while(*p1!='\0'){
p1++;
}
p1--;
while(p1>p2){
tmp=*p2;
*p2=*p1;
*p1=tmp;
p2++;
p1--;
}
puts(str);
return 0;
}
0227デフォルトの名無しさん
2007/02/13(火) 23:46:34先生起こらないから正直に言いなさい。
自分で弄った?
0228デフォルトの名無しさん
2007/02/13(火) 23:47:14んー。文字型配列 str2にって問題文にあるから別の配列を用意して
ポインタ使って格納していくのがいいのかな
最初のがこんな感じ
p2-> <-p1
abc・・・・・・・・・・xyz これはstr1
で、たぶん目的のは
<-p1
abc・・・・・・・・・・xyz これはstr1
p2->
xyz・・・・・・・・・・cba これはstr2
みたいな
分かりづらいな…綺麗に配列書いてるのを見たことある気がするけど
どんなだったかなぁ
0229デフォルトの名無しさん
2007/02/13(火) 23:53:23まずi はどこで使ってるんだ?
それと for(i=0; i==4; i++) これじゃループしない i<=4 じゃなきゃだめだ
つか、いろいろへん
とりあえず昇順で↓
int main()
{
int Ary[5]={10,5,8,2,6};
int i,j;
for(i=0;i<4;i++)
{
for(j=i+1;j<5;j++)
{
if(Ary[j]<Ary[i])
{
wrk=Ary[j];
Ary[j]=Ary[i];
Ary[i]=wrk;
}
}
}
0230221
2007/02/13(火) 23:54:20一言で言えば、>>222のプログラムの出力結果がなぜ
ZYXWVUTSRQPONNOPQRSTUVWXYZ
になるのか、理由を教えてもらえるとありがたいです。
0231デフォルトの名無しさん
2007/02/14(水) 00:01:10Z〜NはちゃんとコピーしてるがA〜Mを退避してない為
自分でコピーした文字を上書きしてるから
0232デフォルトの名無しさん
2007/02/14(水) 00:02:00元はバブルソートのプログラムだったんだろうと予想
#include<stdio.h>
#define ARRAY_SIZE 5
int main(void)
{
int Ary[ARRAY_SIZE]={10,5,8,2,6};
int wrk,i,j;
for(i=0;i<ARRAY_SIZE-1;i++)
{
for(j=0;j<ARRAY_SIZE-1-i;j++)
{
if(Ary[j]>Ary[j+1])
{
wrk=Ary[j];
Ary[j]=Ary[j+1];
Ary[j+1]=wrk;
}
}
}
printf("整列後\n");
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d\t",Ary[i]);
}
printf("\n");
return 0;
}
0233デフォルトの名無しさん
2007/02/14(水) 00:03:00やってること
#include <stdio.h>
#include <string.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i1, i2;
i1=strlen(str) - 1;
i2=0;
while(i1>=0){
str[i2]=str[i1];
putchar(str[i2]);
i2++;
i1--;
}
putchar('\n');
return 0;
}
0234デフォルトの名無しさん
2007/02/14(水) 00:04:050235221
2007/02/14(水) 00:07:31ありがとうございます。
す ご く よ く わ か り ま し た。納得!
だから、str2を逃げ場所として用意してたんですね・・・
0236デフォルトの名無しさん
2007/02/14(水) 00:08:00これの出力結果をじっくり眺めてみるよろし
#include <stdio.h>
int main(void){
char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *p1,*p2;
p1=str;
p2=str;
while(*p1!='\0'){
p1++;
}
p1--;
while(p1>=str){
puts(str);
*p2=*p1;
p2++;
p1--;
}
puts(str);
return 0;
}
0237221
2007/02/14(水) 00:11:16ABCD・・・WXYZ
ZBCD・・・WXYZ
ZYCD・・・
となる!(と思う)
わざわざ理解させるために、改変してもらってありがとうございます m(_ _)m
0238128
2007/02/14(水) 00:33:27自分で操作する部分は完璧です!
あとはコンピュータと対戦という形にできれば完成です!
敵は連続数字(34、78といった連続した数字)>2枚組(22、66など)>一枚抜かし(13、57など)
といった優先順位で自動で切るというようにしたいのですが、可能でしょうか?
0239225
2007/02/14(水) 00:47:350240デフォルトの名無しさん
2007/02/14(水) 00:55:56> 何をして欲しいんだ?
童貞な俺でも愛してもらいたい
0241デフォルトの名無しさん
2007/02/14(水) 06:52:480242デフォルトの名無しさん
2007/02/14(水) 08:09:450243デフォルトの名無しさん
2007/02/14(水) 08:58:510244デフォルトの名無しさん
2007/02/14(水) 09:21:180245デフォルトの名無しさん
2007/02/14(水) 09:24:180246デフォルトの名無しさん
2007/02/14(水) 09:28:270247デフォルトの名無しさん
2007/02/14(水) 10:06:33以下のC++の問題の回答について教えていただけませんでしょうか?
一応自分でもやってみましたがコピーコンストラクタなんかがどうも自信がなく…orz
http://www.za.ztv.ne.jp/yosi-h/vfsh0003faf0e6.jpg
0248デフォルトの名無しさん
2007/02/14(水) 10:31:40チョンボの判定は無し
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3652.c
0249デフォルトの名無しさん
2007/02/14(水) 11:06:56ソースコードがすべてあるんだから
実行してみれば良い
試験中なのかもしれんがw
0251デフォルトの名無しさん
2007/02/14(水) 15:37:20[2] 問題文:
平面上の3点(x1,y1),(x2,y2),(x3,y3)の座標値を与えて、その3点を通る二次関数 y=ax^2+bx+c
あるいはy=a(x-b)^2+cの3つの係数a,b,cを計算し、極点(xp,yp)を計算するプログラムを作れ。
ただし、平面上の3点を与えたときに二次曲線にならない場合はエラーとして返す事。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ(バージョン):gcc
[3.3] 言語:C
[4] 期限:2/15 18:00まで
[5] その他の制限:特にありません。
どうか、よろしくお願いします
0252デフォルトの名無しさん
2007/02/14(水) 16:23:47[2] 問題文(含コード&リンク):
入力ファイル in.txt に、英文が格納されている。英文は、1行が末尾の改行も含めて40字以下、全体で20行以内とする。
英文には、英字、単語の区切りの空白、語句の区切りのコンマ、文末のピリオドのみが使われている。
入力ファイルの改行を取り除き、1行に1文の形式で出力する。すなわち、ピリオドの後のみで改行し直す。
コンマでは改行せず、単語の区切りの空白は残す。文末に空白が残っていてもよい。
出力は、ファイル out.txt に書き出す。
● 実行例
入力 inp.txt
This is a pen.But I don't have eraser.
出力 out.txt
This is a pen.
But I don't have eraser.
なお、入力ファイルと出力ファイルをオープンする。
行単位の読込みより、書式付の方が処理しやすい。
入力ファイルを字句単位で読み込み、空白を入れて出力ファイルに書き込む。
字句の最後にピリオドがあれば、改行を書き込む。
ファイル終端 EOF で終了する。
字句の最後のピリオドの有無は、文字列の長さを求めたり、文字の出現位置を返す関数で調べる。
[3] 環境
[3.1] OS: windows xp
[3.2] コンパイラ名とバージョン: bcc32
[3.3] 言語: C
[4] 期限: 本日中までです。
[5] その他の制限: 早いうちだと助かります。
0253デフォルトの名無しさん
2007/02/14(水) 16:51:14#include <stdio.h>
#include <string.h>
void setup()
{
if (!freopen("in.txt", "r", stdin)) {
perror("in.txt");
exit(1);
}
if (!freopen("out.txt", "w", stdout)) {
perror("out.txt");
exit(1);
}
}
int main()
{
char buff[64], *p, *q;
setup();
while (scanf("%63s", buff) != EOF) {
for (p = buff; q = strchr(p, '.'); p = q + 1)
printf("%.*s\n", q - p + 1, p);
if (*p)
printf("%s ", p);
}
putchar('\n');
return 0;
}
0254252
2007/02/14(水) 17:06:49警告が何個か出てますがきにしないでいいんですかね?
0255デフォルトの名無しさん
2007/02/14(水) 17:09:33無視しても問題はないけど、
#include <stdlib.h>
は追加しといてくれ。
代入式をforループの条件に使っていることに関する警告は無視しても構わない
0256デフォルトの名無しさん
2007/02/14(水) 17:14:020257252
2007/02/14(水) 17:14:55ありがとうございました。
0258デフォルトの名無しさん
2007/02/14(水) 17:19:13http://ex17.2ch.net/test/read.cgi/news4vip/1171440924/
0259デフォルトの名無しさん
2007/02/14(水) 17:48:00[2] 問題文(含コード&リンク):
typedef struct _Student Student;
struct _Student {
char name[10]; // 氏名
int p1; // 数学の得点
int p2; // 英語の得点
int p0; // 合計点
}
上記のような構造体で、学生の成績を格納し、構造体の配列で成績表を管理する。
最初に、データ数 num を入力する。データ数は4以上とする。
以降で、1行単位で、氏名 数学の得点 英語の得点 を入力する。
氏名と合計点を、合計点の低い方から3人だけ出力する。
同点の場合は、先に入力された方を優先する。
[3] 環境
[3.1] OS: windows xp
[3.2] コンパイラ名とバージョン: bcc32
[3.3] 言語: C
[4] 期限: 19時まで
[5] その他の制限:
0260デフォルトの名無しさん
2007/02/14(水) 18:50:49[1] 授業単元: 情報処理
[2] 問題文:
toupper,strcmp,strlen を用いずにそれらと同等の動作をする自作関数を作成せよ
[3] 環境 : Borland C++ 5.5
[3.1] OS: WindowsXP
[3.2]言語:C
[4]期限:2月15日 12時
0261デフォルトの名無しさん
2007/02/14(水) 19:22:00ほい。
#include<string.h>
int mystrlen(const char*a){return strchr(a,0)-a;}
int mystrcmp(const char*a,const char*b){return strncmp(a,b,-1);}
int mytoupper(int c){return c-97<26u?c^32:c;}
0262デフォルトの名無しさん
2007/02/14(水) 19:42:51int toupper( int ch ) { return ( ch += (('a'<=ch && ch <='z') ? 'A'-'a' :0) );}
int strcmp( char *a, char *b){
while( *a !=NULL && *b !=NULL && *a++ == *b++ ) ;
return ( *a - *b );}
int strlen(char *p){int cnt=0;
while ( *p++ !=NULL) cnt++;
return( cnt);
}
0263デフォルトの名無しさん
2007/02/14(水) 21:12:47*p++ !=NULLはないわ
0264デフォルトの名無しさん
2007/02/14(水) 21:26:11ch+=もないわ
0265デフォルトの名無しさん
2007/02/14(水) 21:52:14>264はウソ
0266デフォルトの名無しさん
2007/02/14(水) 22:01:550267デフォルトの名無しさん
2007/02/14(水) 22:10:530269デフォルトの名無しさん
2007/02/14(水) 22:50:110270デフォルトの名無しさん
2007/02/14(水) 23:09:39ch +='A'-'a'
小文字なら'A'-'a' を足す
0271デフォルトの名無しさん
2007/02/14(水) 23:11:410272デフォルトの名無しさん
2007/02/14(水) 23:12:16それなら代入する必要ないじゃん
0273デフォルトの名無しさん
2007/02/14(水) 23:14:41よくみりゃそーだな
0274デフォルトの名無しさん
2007/02/14(水) 23:16:26ch = ch + ('A'-'a' );
0275デフォルトの名無しさん
2007/02/14(水) 23:18:15これなら読みやすい
0276デフォルトの名無しさん
2007/02/14(水) 23:18:32return してるから代入する意味無いと言っている件
0277デフォルトの名無しさん
2007/02/14(水) 23:28:051つの問題に固執するんだ?
0278デフォルトの名無しさん
2007/02/14(水) 23:39:22debugerで返値を見てると予想
0279デフォルトの名無しさん
2007/02/14(水) 23:43:59ここは回答者が腕試しをするスレだもん。
0280デフォルトの名無しさん
2007/02/15(木) 01:22:37期限がよく分かんね
過ぎちゃったかな?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3653.c
0281デフォルトの名無しさん
2007/02/15(木) 08:13:33どこもそうでしょ
アイドルの話をする掲示板でも何かの話題で盛り上がると
埋もれて流れてしまう書き込みがあるし。
誰も答えていない面倒な依頼を探すより
指摘など即答できるものに盛り上がってしまう。
0282デフォルトの名無しさん
2007/02/15(木) 11:16:05どっかの誰かの宿題を解く義務はない。
0283デフォルトの名無しさん
2007/02/15(木) 14:12:11やってみた。
こういう計算初めてやったから自信ないけど……
bcc5.5で確認。
gccもLinuxもさわったことないので適切に修正お願い
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3657.txt
0284デフォルトの名無しさん
2007/02/15(木) 15:32:29[2] 問題文(含コード&リンク):
プロンプト”input moji = ”に続けてgetchar()関数によりキーボードから文字を読み込み、
putchar()関数で入力された文字を画面に出力し、これをEOFが読み込まれるまで続ける。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 明日AM9時
[5] その他の制限:よろしくおねがいします┏oペコリ
0285助けて・・・
2007/02/15(木) 16:12:293つの整数を入力し,その内の最小値を出力するプログラムを作成せよ.
但し,最小値を算出する関数,"min3"を自分で作成し用いなさい.
また,最小値の出力はメイン文で行うこと.
-------------------------------------------
"表示結果の例"
3つの整数を入力してください。
整数1:5
整数2:-4
整数3:0
最も小さい整数は-4
-------------------------------------------
<条件>
0.各自の課題であり,それぞれが自力でソースプログラムを作ること.
1.プログラム冒頭にプログラムの説明を入れる.
(どうやって作ったかの説明を記述下さい.)
2.各ポイントにコメントを挿入し,内容が分かるようにしておく.
3.ソースが綺麗になるようにVCのタブ機能を使うこと.
お助けください!!!!!まじできない・・・
0286デフォルトの名無しさん
2007/02/15(木) 16:17:27tempalte <typename T>
T min3(T a0, T a1, T a2)
{
return std::min(std::min(a0, a1), a2);
}
0287デフォルトの名無しさん
2007/02/15(木) 16:26:25課題:サイズnの配列をランダムでソートする場合、何回ソートを行うのが最適か、考えなさい。
一応作ってみたソースはこんな感じ
int a[size]をこれでシャッフル
void Shuffle(int a[],int size)
{
for(int i=0;i<size;i++)
{
int r=rand()%size;
int temp=a[i];
a[i]=a[r];
a[r]=temp;
}
}
よろしくお願いしますお( ^ω^ )
0288デフォルトの名無しさん
2007/02/15(木) 16:37:54#include <stdio.h>
int main(void) {
int c;
printf("input moji = ");
while((c=getchar())!=EOF) putchar(c);
}
0289デフォルトの名無しさん
2007/02/15(木) 16:41:57CっぽくないどころかCとは無関係だろ。
0290デフォルトの名無しさん
2007/02/15(木) 16:42:59#include <stdio.h>
int main(void)
{
int ch=0;
while ( EOF!=ch ) {
printf("input moji = ");
while ( EOF!=(ch=getchar()) ){
putc(ch,stdout);
if( ch=='\n')
break;
}
}
return 0;
}
0291デフォルトの名無しさん
2007/02/15(木) 16:53:58マルチだったのか
0292デフォルトの名無しさん
2007/02/15(木) 18:30:31この質問の意味が分からないのは俺だけ?
シャッフルしてるうちにいつかは整列される…って意味なら
配列の要素数をn、同じ要素の数をa#1, a#2・・・a#v としたら
n! / (a#1 * a#2 *・・・* a#v)
じゃね?
0293デフォルトの名無しさん
2007/02/15(木) 18:35:50俺もよう分からんが、
「サイズnの配列をランダムでソートする場合、何回ソートを行うのが最適か、考えなさい。」
たとえば
「a[5]={1,2,3,4,5} を 1回ソートしても、
0294デフォルトの名無しさん
2007/02/15(木) 18:37:35「a[5]={1,2,3,4,5} を 1回ソートしても、{3,2,1,4,5} みたいにランダムにはならない」
「つまり、何回くらい入れ替えればランダムっぽくなるか?」
的な問題かとオモタ
ていうか、「ランダムでソートする場合」って何?
0295デフォルトの名無しさん
2007/02/15(木) 18:41:090296デフォルトの名無しさん
2007/02/15(木) 18:42:280297デフォルトの名無しさん
2007/02/15(木) 18:42:50単純選択ソート......
0298デフォルトの名無しさん
2007/02/15(木) 18:46:16ソートって言葉を間違って使ってるからわかりにくいけど。
0299デフォルトの名無しさん
2007/02/15(木) 18:48:41よく気がついたな…。ム板はエスパー大杉。
0300デフォルトの名無しさん
2007/02/15(木) 19:00:02>>295
タメニナルナー
0301デフォルトの名無しさん
2007/02/15(木) 19:17:27ランダム := 無作為な交換
でソートする場合、何回
ソート := 交換
を行うのが最適か、考えなさい。
こういうことか
0302デフォルトの名無しさん
2007/02/15(木) 19:37:040303デフォルトの名無しさん
2007/02/16(金) 00:37:59「自分自身との入れ替え(つまり、実質入れ替わり無し)を含む」
やり方で n-1回 入れ替える
ってのが最小・均等なのかな?
0304デフォルトの名無しさん
2007/02/16(金) 01:42:23INT I=ATOI(STR);
みたいな事できないの?
0305デフォルトの名無しさん
2007/02/16(金) 01:48:520307お願いしますm(_ _)m
2007/02/16(金) 02:15:49[2] 問題文(含コード&リンク):1から5000までの素数をすべて計算せよ。
計算した素数のうち、双子素数となっている組を出力せよ。
双子素数とは、連続した奇数が素数になっているものの組である。
[3] 環境 windowsXP
[3.2] コンパイラ名とバージョン:VC 6.0 win32
[3.3] 言語: visualC++
[4] 期限: 2007年2月20日13:00まで
[5] その他の制限: プログラム中でC++の掛け算、割り算*,/を使ってはいけない。
0308デフォルトの名無しさん
2007/02/16(金) 02:52:47#include<stdio.h>
int main(void){
int i, j;
int prev_prime=1;
for(i=2;i<=5000;i++){
for(j=2;j<i;j++)
if(i%j==0) break;
if(j>=i){
if(i-prev_prime==2)
printf("%d %d\n", prev_prime, i);
prev_prime=i;
}
}
return 0;
}
0309デフォルトの名無しさん
2007/02/16(金) 03:02:32#include<iostream>
int main(void){
int i, j;
int prev_prime=1;
for(i=2;i<=5000;i++){
for(j=2;j<i;j++)
if(i%j==0) break;
if(j>=i){
if(i-prev_prime==2)
std::cout << prev_prime << " " << i << std::endl;
prev_prime=i;
}
}
return 0;
}
0310デフォルトの名無しさん
2007/02/16(金) 03:57:16[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3658.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Studio 2005
[3.3] 言語: C++
[4] 期限: 2月16日
よろしくお願いします。
0311デフォルトの名無しさん
2007/02/16(金) 04:05:11[2] 問題文(含コード&リンク):
キーボードからgets()関数によりchar型配列a[5]に整数を文字列として読み込み、
atoi()関数を用いて文字列を整数に変換し、出力する。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio
[3.3] 言語: C
[4] 期限: 本日12時
[5] その他の制限:
0312デフォルトの名無しさん
2007/02/16(金) 04:30:05bcc5.5で動作確認。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[5];
puts("整数を入力 ※4桁以内");
gets(a);
printf("%d\n", atoi(a) );
return 0;
}
0313デフォルトの名無しさん
2007/02/16(金) 04:40:570314デフォルトの名無しさん
2007/02/16(金) 05:08:05いくらなんでもひどすぎだろ…
0315デフォルトの名無しさん
2007/02/16(金) 07:57:04>>310
自信ないけどやってみた
C++ってあるけど、明らかに元ソースがCなので.cで作成。
誰かツッコミよろ (汗
0316デフォルトの名無しさん
2007/02/16(金) 08:47:57ひどくない解答plz
0317デフォルトの名無しさん
2007/02/16(金) 10:02:25助かりました。ありがとうございました。
0318デフォルトの名無しさん
2007/02/16(金) 10:57:06[2] 問題文(含コード&リンク):
http://3rd.geocities.yahoo.co.jp/as_rmter/mondai.txt
[3] 環境
[3.1] OS: WindowsXP SP2
[3.2] コンパイラ名とバージョン: bcc55\bcc32.exe
[3.3] 言語: C
[4] 期限: できれば今日中
どなたかお願いします
0319デフォルトの名無しさん
2007/02/16(金) 10:58:47問題文見れない
0320デフォルトの名無しさん
2007/02/16(金) 11:19:55すいませんでした
こっちのアドレスです
0321デフォルトの名無しさん
2007/02/16(金) 11:29:050322デフォルトの名無しさん
2007/02/16(金) 11:57:240323デフォルトの名無しさん
2007/02/16(金) 12:00:590324デフォルトの名無しさん
2007/02/16(金) 12:08:25lastday[1] += ((ty%4==0 && ty%100!=0) || ty%400==0);
式の評価で2月の日数に加算をしているんだろうけど、きんもぉ〜〜☆
0325デフォルトの名無しさん
2007/02/16(金) 12:27:56if ((ty%4==0 && ty%100!=0) || ty%400==0)
lastday[1] ++;
ならいいのか
0326デフォルトの名無しさん
2007/02/16(金) 13:13:22http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3664.c
0327デフォルトの名無しさん
2007/02/16(金) 13:26:59ありがとうございました
0328デフォルトの名無しさん
2007/02/16(金) 13:28:16> この公式を使用する際は西暦1582年10月15日金曜日
> (グレゴリオ暦施行日)から有効になりますので注意
> この公式では1月、2月は前年の13月、14月として計算する事になっています。
念のために補足しとくっす。
0329デフォルトの名無しさん
2007/02/16(金) 13:38:39すまん、return 1; で終了させる条件の指定をミスったっす。面倒だから
if(year<=1582 && month<=10) return 1;
これを && month<=10 の部分は消しておいて。
1583年以降から適応ってことで if(year<=1582) にしといてちょっ。
0330デフォルトの名無しさん
2007/02/16(金) 20:25:07[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):4行5列の行列の要素(整数)の最小値を求め表示する。。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: Visual Studio.NET
[3.3] 言語: C
[4] 期限: 2月17日12時
[5] その他の制限: if文、for文から配列まで習いました。
0331デフォルトの名無しさん
2007/02/16(金) 20:57:53こういう意味で良いの?
全角スペースは痴漢してちょ
#include <stdio.h>
a[4][5] = { // 超適当
{ 4, 2, -3, 3, 5 },
{ -1, 4, 0, 8, 23 },
{ 18, 2, 7, 9, 0 },
{ 22, -8, 9, 1, 18 }
};
int main(void)
{
int i, j;
int min;
min = a[0][0];
for (i=0; i<4; i++) {
for (j=0; j<5; j++) {
min = (a[i][j] < min) ? a[i][j] : min;
}
}
printf("最小値: %d\n", min);
return 0;
}
0332デフォルトの名無しさん
2007/02/16(金) 21:14:07「a[4][5] = { 」の部分って、mainの外に出しててもいいの?
0333デフォルトの名無しさん
2007/02/16(金) 21:17:36いいの
スコープの違いです
0334デフォルトの名無しさん
2007/02/16(金) 21:20:45>>332は、スコープと言われてもわかんないと思う
0335330
2007/02/16(金) 21:23:29ありがとうございます。しかし
min = (a[i][j] < min) ? a[i][j] : min;
の文の ? 以降がよく分りません。多分まだ教わってないと思います
0336デフォルトの名無しさん
2007/02/16(金) 21:31:21グローバルな名前空間を汚染するのはどうかと思うが。
宿題だから構わないか
0337デフォルトの名無しさん
2007/02/16(金) 21:32:01if(a[i][j] < min) min = a[i][j];
0338デフォルトの名無しさん
2007/02/16(金) 21:35:47そうですね
>>332
*まず初期が行われるタイミングが違います
・関数内(この場合mainの中)で宣言された変数はその関数が呼ばれたときに初めて初期化されます(static宣言を除く)
関数が呼ばれるたびに初期化が行われるということになります
・関数の外で宣言された変数はコンパイル時に初期化されます
プログラムの開始時にその値になっているということです.その後は初期化されません
*その変数を扱うことが出来る範囲が違います(スコープ)
・関数内(この場合mainの中)で宣言された変数はその関数内のみで使うことが出来ます
・関数の外で宣言された変数はすべての関数から使うことが出来ます(ファイルをまたぐときはexternを使います)
・関数外で宣言された変数と関数内で宣言された変数が同じ名前の場合は関数内の変数が有効になります
0340デフォルトの名無しさん
2007/02/16(金) 21:49:28実際はこうですよ
if(a[i][j] < min) min = a[i][j];
else min=min;
0341デフォルトの名無しさん
2007/02/16(金) 21:51:37分かりやすくあんがとうございました (´・ω・`)
0342デフォルトの名無しさん
2007/02/17(土) 00:08:56[2] 問題文(含コード&リンク):
ローテート関数 rotate_left() rotate_right()を実装しなさい。
戻り値:無し
第一引数:(void *)操作対象となる記憶領域を指すポインタ
第二引数:(unsigned int)ローテートするビット数
第三引数:(unsigned int)操作対象となる記憶領域の大きさ(バイト数)
[3] 環境
[3.1] OS: 指定無し
[3.2] コンパイラ名とバージョン: gcc VisualC++等
[3.3] 言語: C
[4] 期限: 2月17日午前9時
[5] その他の制限:
ビッグエンディアン、リトルエンディアンどちらに対応したか
ソースファイル中にコメントで明記すること。
0343デフォルトの名無しさん
2007/02/17(土) 00:12:521000ビットとかローテートできなきゃいけないのかな。
大きいワークエリアが必要だな。
0344デフォルトの名無しさん
2007/02/17(土) 01:17:00/* リトルエンディアン用 */
# include <limits.h>
void set_bit(unsigned char *data, unsigned which, int bit) {
int pos = which / CHAR_BIT, shift = which % CHAR_BIT;
unsigned char old = data[pos];
data[pos] = old & ~(1 << shift) | bit << shift;
}
int get_bit(unsigned char *data, unsigned which) {
return data[which / CHAR_BIT] >> which % CHAR_BIT & 1;
}
void rotate_left(void *p, unsigned amount, unsigned size) {
unsigned char *data = p;
int i, loop = 0, pos = 0;
int nbit = CHAR_BIT * size;
int save = get_bit(data, 0);
for(i = 0; i < nbit; i++) {
int next = (pos + amount) % nbit;
if(next == loop) {
set_bit(data, pos, save);
pos = ++loop;
save = get_bit(data, pos);
}
else {
set_bit(data, pos, get_bit(data, next));
pos = next;
}
}
}
void rotate_right(void *data, unsigned amount, unsigned size) {
rotate_left(data, size * CHAR_BIT - amount, size);
}
0345大学生です。
2007/02/17(土) 09:11:20先日、プログラミング質問スレッドにて質問させていただきましたが、
板違いということで、ここを紹介してくださいました。
大学のレポートで出された問題ですが、どうしても解けません。
ソフトはウインドウズのビジュアルソフトというのを使ってます。
問題
キーボードから1を入力するとあなたの名前、
2を入力するとあなたの年齢、
3を入力すると、その両方を表示することができるプログラムを作成せよ。
というものです。
よろしくお願いします。
0346デフォルトの名無しさん
2007/02/17(土) 09:25:55>>1嫁。表示する名前、年齢ってどこから参照するん?w
0347デフォルトの名無しさん
2007/02/17(土) 09:34:41#include <stdio.h>
int main(void)
{
int c;
char *name = "あなたの名前", *age = "あなたの年齢";
c = getchar();
if(c=='1' || c=='3') puts(name);
if(c=='2' || c=='3') puts(age);
return 0;
}
0348デフォルトの名無しさん
2007/02/17(土) 10:08:340349デフォルトの名無しさん
2007/02/17(土) 12:17:28そうだな。フォトショップだな。
0350デフォルトの名無しさん
2007/02/17(土) 12:59:250351345
2007/02/17(土) 16:20:22ウインドウズ ビジュアル スタディオです。
0352345
2007/02/17(土) 16:30:55ありがとうございます。
実行してみて、感激しました。
0353デフォルトの名無しさん
2007/02/17(土) 21:07:080354デフォルトの名無しさん
2007/02/17(土) 21:23:28[2] 問題文(含コード&リンク):
<C/C++ソースコード整形ツール>
1.インデントができること
中括弧のない if for なども、インデントをつけて文を次の行に出力すること(; だけでも)
switch 文の case の深さは switch と同じか一段下げること
インデントは タブ文字 or 2文字スペース or 4文字スペースのいずれかで統一すること
2.コメント部分は残し、なるべく変更しないこと
3.一行コメント // にも対応すること
4.関数と関数の間には空行を2ついれること
5.入力ファイルは標準入力(リダイレクト)から与えられるものとし、標準出力に出力すること
6.後は自分が見やすいと判断する基準でよろしく。(中括弧を行末にいれるか、次行に中括弧だけの行を作るか等)
7.入力されるファイルは正しい構文であると仮定して良い
[3] 環境
[3.1] OS: Windows and Linux
[3.2] コンパイラ名とバージョン: gcc,g++
[3.3] 言語: どちらでも可
[4] 期限: [無期限]
[5] その他の制限: 他の宿題を優先すること
0355デフォルトの名無しさん
2007/02/17(土) 21:28:09ワラタw
いい奴だなw
0356デフォルトの名無しさん
2007/02/17(土) 22:02:180357デフォルトの名無しさん
2007/02/17(土) 22:18:510358デフォルトの名無しさん
2007/02/17(土) 22:24:200359デフォルトの名無しさん
2007/02/17(土) 22:43:45#include <stdlib.h>
#include <string.h>
int main(int c,char**v){return c>1&&(*v=malloc(35+strlen(v[1])))?**v='\0',strc\
at(*v,"perl -ne \"/#include/&&print;\" \""),strcat(*v,v[1]),strcat(*v,"\""),sy\
stem(*v),free(*v),0:1;}
0360デフォルトの名無しさん
2007/02/17(土) 22:46:14K&Rスタイルは嫌いですか?
あれの正統スタイルはインデント幅5なんだよ・・・
0361デフォルトの名無しさん
2007/02/17(土) 23:19:20[2] 問題文(含コード&リンク):2行3列の号列maと3行2列の行列mbの積を、
2行2列の行列mcに格納する関数
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0362デフォルトの名無しさん
2007/02/17(土) 23:24:20言語はCです、以下自分で書いたコード
#include <stdio.h>
void mul(const int ma[2][3],const int mb[3][2], int mc[2][2]) /* 配列maとmbの積をmcに格納*/
{
int i,j,k;
int tmp;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
tmp=0;
for(k=0;k<3;k++)
tmp+=ma[j][k]*mb[k][j];
mc[i][j]=tmp;
}
}
}
0363デフォルトの名無しさん
2007/02/17(土) 23:28:22tmp+=ma[j][k]*mb[k][j];
↓
tmp+=ma[i][k]*mb[k][j];
0364デフォルトの名無しさん
2007/02/17(土) 23:29:47期限は無期限で良いのか?w
環境はWin/VS7or8 と勝手に予測
0365デフォルトの名無しさん
2007/02/17(土) 23:32:01[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
この部分が未入力だけど
0366デフォルトの名無しさん
2007/02/17(土) 23:40:22int i, k, h;
for(i=0; i<2; i++){
for(k=0; k<2; k++) mc[i][k] = 0;
}
for(i=0; i<2; i++){
for(k=0; k<3; k++){
for(h=0; h<2; h++){
mc[i][h] += ma[i][k] * mb[k][h];
}
}
}
}
0367デフォルトの名無しさん
2007/02/17(土) 23:41:53間違って送信されてしまってパニくってました
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++2005Express
[3.3] 言語: C
[4] 期限: 来週中
[5] その他の制限: 特になし
です。
>>363
その部分を書き換えてみましたが結果は同じでした。
0368デフォルトの名無しさん
2007/02/18(日) 00:01:07何故困るのかが分からない。
>>363で完成。
>結果は同じ
何の結果だよ。
main()晒せ
0369デフォルトの名無しさん
2007/02/18(日) 00:06:32関数があってるか確認するサンプルプログラムの方に間違いがありまして
そこを訂正したら正しい答えが出るようになりました。
>>366
こちらのほうがすっきりしていて読みやすいですね。
訂正された場所が間違っているのは分かったのですが
どうしてそうなるのか分からないのでこれから熟考してみます
ありがとうございました。
0370デフォルトの名無しさん
2007/02/18(日) 00:11:05mc[i][j] = Σ{ma[i][k] * mb[k][j]}
熟考も何も公式だろ。
0371361
2007/02/18(日) 00:12:38main()の部分です
/*-------以下--------*/
int main(void)
{
int i,j;
int ma [2][3] = { {1,2,3},{4,5,6} };
int mb [3][2] = { {1,2},{3,4},{5,6} };
int mc [2][2]= {0};
mul(ma,mb,mc);
for (i=0;i<2;i++)
{
for(j=0;j<2;j++)
printf("%3d",mc[i][j]); // ここがprintf("%3d",i,mc[i][j])
putchar('\n');
}
return(0);
}
自分でも何でこんな間違いしてたのかサッパリ分からない
0372デフォルトの名無しさん
2007/02/18(日) 00:17:57俺の試したソース↓
int ma[N][M] = {
{ 1, 2, 3 },
{ 4, 5 ,6 }
};
int mb[M][N] = {
{ 1, 2 },
{ 3, 4 },
{ 5, 6 }
};
int mc[N][N] = { 0 };
0373361
2007/02/18(日) 02:27:38ついでにもう一つ気づいたこと
void mul(const int ma[2][3],const int mb[3][2], int mc[2][2]) /* 配列maとmbの積をmcに格納*/
{
int i,j,k;
//-----ここから-----
for(k=0;k<3;k++){
for(j=0;j<2;j++){
for(i=0;i<2;i++){
//-----ここまで-----
//この3行はどのように入れ替えても同じ結果が出る
//個人的には大発見だ
//今後役に立つかはさっぱりだがw
mc[i][j]+=ma[i][k]*mb[k][j];
}}}}
puts("もう寝る");
0374デフォルトの名無しさん
2007/02/18(日) 13:17:26[1] 授業単元:プログラミング�U
[2] 問題文(含コード&リンク):下
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:BCC
[3.3] 言語:C
[4] 期限:友達に聞かれてるのですぐにでも
[5] その他の制限:特に無し
下のプログラムは最小公倍数を求めるプログラムである。
プログラム内の�@〜�Fに適当な命令を入れてプログラムを完成せよ。
#include<stdio.h>
int main(void)
{
int a,b,i;
printf("2つの数の最小公倍数を求めます。数値を入力:。\n");
scanf("%d",�@);
scanf("%d",�A);
for(i=�B;i<=�C;�D)
{
if(�E&&�F)
{
printf("最小公倍数は%dです。\n",i);
break;
}
}
return(0);
}
0375デフォルトの名無しさん
2007/02/18(日) 13:32:39もしかしてこれ
for(i=a; i<=a*b; ++i)
みたいにiを1づつ増やして
if( (i%a) == 0 && (i%b) == 0)
片っ端から全部aとbでともに割り切れるものを探す
ということなのか。
0376デフォルトの名無しさん
2007/02/18(日) 13:34:250377デフォルトの名無しさん
2007/02/18(日) 13:35:21�@: &a
�A: &b
�B: (a > b)? a: b
�C: a*b
�D: i++
�E: i%a==0
�F: i%b==0
0378デフォルトの名無しさん
2007/02/18(日) 13:37:10ありがとうございます!
�Bはどうしてそうなるのか教えていただけませんか?
0379デフォルトの名無しさん
2007/02/18(日) 13:39:52aとbの最大限公倍数は、aよりもbよりも大きいから。
大きい値から調べた方が効率いいでしょ?
0380デフォルトの名無しさん
2007/02/18(日) 13:42:03よりも→以上
0381デフォルトの名無しさん
2007/02/18(日) 13:42:10問題作成者の数学能力に疑問
0382デフォルトの名無しさん
2007/02/18(日) 13:43:46とりあえず友達には素直に分からないって言うべきだと思う
0383デフォルトの名無しさん
2007/02/18(日) 13:44:03続いてお願いします。
テンプレは>>374と同じ
以下のプログラムはファイル[data_in.txt]から数字(整数)を100個読み出し、[data_out.txt]に読み込んだ数値を10倍にして書き込むプログラムである。
プログラムの空白部分に適切なコードを挿入し、プログラムを完成させよ。なおファイルポインタはそれぞれ[fp1]と[fp2]を使用すること。
なお、それぞれの空白には2行ずつプログラムが入る。
#include<stdio.h>
int main(void)
{
/*ファイルポインタの宣言*/
【空白�@】
int i,k;
printf("これからファイルを開きます。\n");
/*ファイルポインタと実ファイルとを結びつける*/
【空白�A】
if(fp1 == NULL){
printf("ファイルが開けません。\n");
return(-1);
}
printf("ファイルからデータを読み込みます。\n");
for(i=0;i<100;i++){
【空白�B】
printf("%d\n",k);
}
printf("データの読み込みを終了します。\n");
/*ファイルを閉じる*/
【空白�C】
return(0);
}
0384デフォルトの名無しさん
2007/02/18(日) 13:46:34data_in.txtを具体的に
0385デフォルトの名無しさん
2007/02/18(日) 13:47:13�Di += a
�E1
としてみると多分処理速度的には効率化した気がする。
�Eが超冗長だけど。
0386デフォルトの名無しさん
2007/02/18(日) 13:47:33先生にその問題じゃ解けないって抗議してこい
お前の頭が悪いんじゃなくて、先生が悪いよ
0387デフォルトの名無しさん
2007/02/18(日) 13:48:08問題には書いてないのですが、授業から考えると
100
52
98
132
60
55
・
・
・
と一行にひとつずつ数字が書いてあるテキストファイルだと思います
0388デフォルトの名無しさん
2007/02/18(日) 13:53:01【空白�@】
FILE *fp1, *fp2;
(空行)
【空白�A】
fp1 = fopen("data_in.txt", "r");
fp2 = fopen("data_out.txt", "w"); // これが開けないチェックは…?
【空白�B】
fscanf(fp, "%d", &k);
fprintf(fp, "%d\n", k * 100);
【空白�C】
fclose(fp1);
fclose(fp2);
0389デフォルトの名無しさん
2007/02/18(日) 13:55:34未定義のシンボル fp(関数 main() )
となりました
0390デフォルトの名無しさん
2007/02/18(日) 13:59:27【空白�B】
fscanf(fp1, "%d", &k);
fprintf(fp2, "%d\n", k * 100);
0391デフォルトの名無しさん
2007/02/18(日) 14:01:50100倍になってしまいました
fprintf(fp, "%d\n", k * 10); と書き換えればOKでしょうか?
0392デフォルトの名無しさん
2007/02/18(日) 14:05:230393デフォルトの名無しさん
2007/02/18(日) 14:06:22駄目。それだと未定義のシンボル fp(関数 main() )って出るぞ
0394デフォルトの名無しさん
2007/02/18(日) 14:06:45多分次がラストになると思います
テンプレは>>374と同じ
選択法により複数の数値を並び替えることを考える。
1.次に示す5つの数値を昇順に並び替える。並び変わる様子をすべて示せ。
[9,5,3,8,1]
2.数値が3個、4個、5個の場合、それぞれ数値の比較回数は何回になるか答えよ。
3.数値がn個のとき、比較回数が何回になるか答えよ。
4.選択法による数値の比較回数をオーダーで表示するとどのようになるか答えよ。
0395デフォルトの名無しさん
2007/02/18(日) 14:08:020396デフォルトの名無しさん
2007/02/18(日) 14:10:23ソートする手法は?バブル?基本選択?基本挿入?クイック?シェル?
0397396
2007/02/18(日) 14:11:230398デフォルトの名無しさん
2007/02/18(日) 14:11:28選択法って書いてあるっぽいよ?
0399デフォルトの名無しさん
2007/02/18(日) 14:12:07よくわからないので、参考として授業で習った数値の並び替えのプログラムを載せておきますね
#include <stdio.h>
void swap(int *x, int *y); /*入れ替え関数*/
void sort(int *x, int *y, int *z); /*並び替え関数*/
int main(void)
{
int a=100,b=1,c=50;
printf("初期状態\t");
printf("a=%d b=%d c=%d\n",a,b,c);
sort(&a,&b,&c);
printf("sort終了後\t");
printf("a=%d b=%d c=%d\n",a,b,c);
return (0);
}
void sort(int *x, int *y, int *z)
{
if(*x < *y) swap(x,y);
if(*x < *z) swap(x,z);
if(*y < *z) swap(y,z);
}
void swap(int *x, int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
0400デフォルトの名無しさん
2007/02/18(日) 14:30:30大学生か専門学生?
0401デフォルトの名無しさん
2007/02/18(日) 14:32:590402デフォルトの名無しさん
2007/02/18(日) 14:34:19高専です
0403デフォルトの名無しさん
2007/02/18(日) 14:39:27比較回数は要素がnこの場合 n(n-1)/2 だったかと。
並び変わる様子はこんなもんか?
9 5 3 8 1 < 初期状態
1 5 3 8 9
1 3 5 8 9
1 3 5 8 9
1 3 5 8 9
http://ja.wikipedia.org/wiki/%E9%81%B8%E6%8A%9E%E3%82%BD%E3%83%BC%E3%83%88
> 最悪計算時間がO(n2)
オーダーはこれのことか?
0404デフォルトの名無しさん
2007/02/18(日) 14:40:19高専か。高校生なのに難しいのやってるな。(そこまででもないが)
ちなみに何年ですか?
0405デフォルトの名無しさん
2007/02/18(日) 14:43:26二年です
0406デフォルトの名無しさん
2007/02/18(日) 14:44:070407デフォルトの名無しさん
2007/02/18(日) 14:59:17�@�A�B�C�D
9 5 3 8 1 �@と�Aを比較、�@の方が大きいので交換
5 9 3 8 1 �@と�Bを比較、�@の方が大きいので交換
3 9 5 8 1 �@と�Cを比較、�@の方が小さいので何もしない
3 9 5 8 1 �@と�Dを比較、�@の方が大きいので交換
1 9 5 8 3 以下略
1 5 9 8 3
1 5 9 8 3
1 3 9 8 5
1 3 8 9 5
1 3 5 9 8
1 3 5 8 9
0408デフォルトの名無しさん
2007/02/18(日) 15:07:330409デフォルトの名無しさん
2007/02/18(日) 15:10:08あ、選択法って指示されてるのか、よく見てなかったわすまん
0410デフォルトの名無しさん
2007/02/18(日) 16:49:49おまえエンジニアじゃなくて数学者になればよかったのに
0411デフォルトの名無しさん
2007/02/18(日) 17:08:26http://ja.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0
>どちらかが 0 であるときには、最小公倍数は 0 とする
を満たせなくね?
0412デフォルトの名無しさん
2007/02/18(日) 17:16:250413デフォルトの名無しさん
2007/02/18(日) 17:26:15r((___)_((___))、
|ノ'────┐| |
| (r'´ ´'J | | |
ハ|ー-(ヘ)─(ヘ)-‐rヘ
`〈 c、__,.っ 〉ヽ} < あーいとぅいまてぇーん
|: : :、___: : : : ト' by マルさん
_ハ//⌒'''''`: : ::ノ_
,. ─< ./:/、: : : :.,;.イ >─ 、
/ /:::/\_/'"´ ̄_ \
/ ̄、マ> 〈 〉 (::: ヽ }
参照URL↓
ttp://www.fujitv.co.jp/dybastar/chara.html
0414デフォルトの名無しさん
2007/02/18(日) 17:26:21>>377の解答で�Bを0にってことか?
悲惨なことになるんだけど・・・
0415デフォルトの名無しさん
2007/02/18(日) 17:48:04�Bにabのうち小さい方入れればOKかな?
0416デフォルトの名無しさん
2007/02/18(日) 17:53:01>>377の�Bの不等号を逆にして
�Eをi==0||i%a==0にすればOKだった
0417デフォルトの名無しさん
2007/02/18(日) 17:57:35_A
_B
_C
という文字が入っていてそれを1行ずつ違う変数に読みこみたい。
0418デフォルトの名無しさん
2007/02/18(日) 17:59:190419デフォルトの名無しさん
2007/02/18(日) 18:13:57#include <stdio.h>
int main(void)
{
FILE *fp;
char a[10];
char b[10];
char c[10];
if ( NULL!=(fp=fopen("a.txt","r") ) ) {
fgets(a,sizeof(a),fp);
fgets(b,sizeof(b),fp);
fgets(c,sizeof(c),fp);
fclose(fp);
}
printf(" a:%s b:%s c:%s",a,b,c);
return 0;
}
0420デフォルトの名無しさん
2007/02/18(日) 18:58:31お前あった舞いな
そこまで考えなかった世
0421デフォルトの名無しさん
2007/02/18(日) 20:18:34なにから手をつけていいのかちんぷんかんぷんで
みなさん助けてくださいませんでしょうか??;; よろしくお願いします。
[2] 問題文
番号、氏名、フリガナ、住所、電話番号を表示するプログラムを作成せよ。というもので
----------------------------------------------------------------------------
�U学生番号�U 氏名 �U フリガナ �U 年 �U 住所 �U 電話番号 �U
�U 0001 �U山崎浩高�U ヤマザキヒロタカ �U 20 �U 香坂市3丁目 �U 054-227-1468 �U
�U 0002 �U大塚高次�U オツカタカツグ �U 19 �U 笛川市2丁目 �U 055-235-7789 �U
�U 0003 �U長谷部仁�U ハセベジン �U 21 �U 北斗市1丁目 �U 0541-156-7785 �U
�U 0004 �U葛西隆行�U カサイタカユキ �U 20 �U 東百合菜 �U 0556-554-6635 �U
----------------------------------------------------------------------------
※上記のないようにて構造体を作成して、初期値として設定する。
�A以下の入力により、各データをソートして表示を行う。
1 学生番号 2 氏名 3 住所 4 電話番号 5 年齢順
�Bソート方法はバブルソートを用いて行う。
�C使用して良い関数
printf関数 getch関数 は使っていいとあります。
また memcpy memcmp strcpy strcmp 等の関数は自作しろとあります。
[3] 環境
[3.1] OS:Windows [3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: (C/C++/どちらでも可)
[4] 期限: (2007年2月19日まで)
[5] その他の制限: (printf関数 getch関数 は使っていいとあります。
また memcpy memcmp strcpy strcmp 等の関数は自作しろとあります。
最後になりますが、どうかよろしくお願いします;;
0422421です
2007/02/18(日) 20:19:470423デフォルトの名無しさん
2007/02/18(日) 20:38:310424デフォルトの名無しさん
2007/02/18(日) 20:39:440425デフォルトの名無しさん
2007/02/18(日) 20:39:500426デフォルトの名無しさん
2007/02/18(日) 20:42:50言いたいことがあるんだが・・その条件でC言語始めたばかりとかありえないと思うんだが
もしかしてサボってたね?
0427デフォルトの名無しさん
2007/02/18(日) 20:44:15{
{"0001","山崎浩高","ヤマザキヒロタカ","20","香坂市3丁目","054-227-1468"},
{"0002","大塚高次","オツカタカツグ","19","笛川市2丁目","055-235-7789"},
{"0003","長谷部仁","ハセベジン","21","北斗市1丁目","0541-156-7785"},
{"0004","葛西隆行","カサイタカユキ","20","東百合菜","0556-554-6635"},
};
0428デフォルトの名無しさん
2007/02/18(日) 20:45:340429デフォルトの名無しさん
2007/02/18(日) 20:46:12そして、これを昇順に並び替え、表示するプログラムを作る。という課題なのですが、構造体から手で入力するやり方がわかりません。
という課題なのですが、
typedef struct{
char name[50];
int score;
}point;
int main(void){
int i;
char aname,bname,cname,dname,ename;
int ascore, bscore ,cscore ,dscore ,escore;
printf("5人の名前と点数を入力してください\n");
printf("1人目の名前\n"); scanf("%s",&aname);
printf("1人目の点数\n"); scanf("%d",&ascore);
printf("2人目の名前\n"); scanf("%s",&bname);
printf("2人目の点数\n"); scanf("%d",&bscore);
printf("3人目の名前\n"); scanf("%s",&cname);
printf("3人目の点数\n"); scanf("%d",&cscore);
printf("4人目の名前\n"); scanf("%s",&dname);
printf("4人目の点数\n"); scanf("%d",&dscore);
printf("5人目の名前\n"); scanf("%s",&ename);
printf("5人目の点数\n"); scanf("%d",&escore);
point std[] = {
{aname,ascore},
{bname,bscore},
{cname,cscore},
{dname,dscore},
{ename,escore},
};
0430デフォルトの名無しさん
2007/02/18(日) 20:48:03素晴らしいセンスだ >>1 読め
0431429
2007/02/18(日) 20:48:17このソースのpoint std[]のなかに値を入れる方法がわかりません。
このソースのやり方でやると構造体にうまく値が入らないので出力結果が以上になってしまいます。
どのようにすればよいのか教えていただきたいです。
0432デフォルトの名無しさん
2007/02/18(日) 20:52:290433421です
2007/02/18(日) 21:08:28WEB上でC言語の勉強しながらこの課題をやりなさい!といきなり出されたので、サボってたわけではないのです・・・
どのような感じでやったらいいのでしょうか・・・;;
0434デフォルトの名無しさん
2007/02/18(日) 21:17:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3665.txt
苦情は受け付けない
0435デフォルトの名無しさん
2007/02/18(日) 21:29:56在日=竹石圭佑らしいが、熊本の済々黌の弓削達也って奴も朝鮮人だろ
在日って顔が日本人とは全然違うもんな
0436421です
2007/02/18(日) 21:45:54早速ですが拝見させて頂きました。 ちゃんとソートされていてびっくりです。
ありがとうございました。
それで421で説明不足だったのですが
----------------------------------------------------------------------------
�U学生番号�U 氏名 �U フリガナ �U 年 �U 住所 �U 電話番号 �U
�U 0001 �U山崎浩高�U ヤマザキヒロタカ �U 20 �U 香坂市3丁目 �U 054-227-1468 �U
�U 0002 �U大塚高次�U オツカタカツグ �U 19 �U 笛川市2丁目 �U 055-235-7789 �U
�U 0003 �U長谷部仁�U ハセベジン �U 21 �U 北斗市1丁目 �U 0541-156-7785 �U
�U 0004 �U葛西隆行�U カサイタカユキ �U 20 �U 東百合菜 �U 0556-554-6635 �U
----------------------------------------------------------------------------
�@画面内にこのデータを常に出しているにはどうしたら良いでしょうか??
�Aまた 1、2、3、4のKEYを1回押す(ENTERを押さずに)とソートされた画面に切り替わるようにするにははどうやったらいいのでしょうか?
よろしくお願いします;;
0437421です
2007/02/18(日) 21:46:490438デフォルトの名無しさん
2007/02/18(日) 21:54:34まずそんな宿題でないだろ
0439デフォルトの名無しさん
2007/02/18(日) 22:03:53え〜めんどくさーい
while(1){
system("CLS");
for(i=0; i<4; i++){
printf("%s %s %s %s %s %s\n",
stud[i].number,
stud[i].name,
stud[i].kana,
stud[i].age,
stud[i].address,
stud[i].tel
);
}
flag = getch();
if(flag == '1'){
//略
}else if(flag == '2'){
//略
}else if(flag == '3'){
//略
}else if(flag == '4'){
//略
}else if(flag == '5'){
//略
}else break;
}
0440デフォルトの名無しさん
2007/02/18(日) 22:07:34[2] 問題文(含コード&リンク):
以下のアスタリスクのタワーを表示させよ
*
***
*****
*******
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: bcc or VC++
[3.3] 言語: C言語
[4] 期限: 2月19日
[5] その他の制限:
・変数は三個〜五個使用
・for文を三回使用
・if文、配列等は禁止。for文のみ使用
よろしくお願いします。
0441440
2007/02/18(日) 22:11:43http://www.dotup.org/uploda/www.dotup.org0943.txt
こちらのでお願いします
0442デフォルトの名無しさん
2007/02/18(日) 22:12:37#include <stdio.h>
int main(void) {
int a,b,c;
puts("*\n***\n*****\n*******");
for(;0;)for(;;)for(;;);
return 0;
}
0443デフォルトの名無しさん
2007/02/18(日) 22:13:15なんか変だと思った
0444デフォルトの名無しさん
2007/02/18(日) 22:16:26#include <stdio.h>
int main(void) {
static const int n = 4;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++)
printf(" ");
for (j = 0; j < 2 * i + 1; j++)
printf("*");
printf("\n");
}
return 0;
}
0445デフォルトの名無しさん
2007/02/18(日) 22:17:10#include <stdio.h>
int main(void){
int i, k, h;
for(i=0; i<4; i++){
for(k=0; k<3-i; k++) putchar(' ');
for(h=0; h<i*2+1; h++) putchar('*');
puts("");
}
return 0;
}
変数むりやり3つ使った
0446デフォルトの名無しさん
2007/02/18(日) 22:18:05なるほど・・そうゆうことか!
0448デフォルトの名無しさん
2007/02/18(日) 22:44:50[2] 問題文(含コード&リンク): サンプルプログラムfdivideは、割り算関数fdivideの実行速度を確かめるプログラムである。
a=34567 b=10繰り返し回数=1000とすると、実行にかなり時間がかかることが分かる。fdivideを高速化した関数
int fdivider(int a,int b);を作成し、実行速度を確かめるプログラムfdividertimeを実行せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC 6.0 win32
[3.3] 言語: visualC++
[4] 期限: ([2007年2月20日17:00まで] )
[5] その他の制限: プログラム中でC++ の掛け算、割り算 *,/ を使用してはいけない。
0449デフォルトの名無しさん
2007/02/18(日) 22:53:220450デフォルトの名無しさん
2007/02/18(日) 23:00:50fdivideをうp
0451421です
2007/02/18(日) 23:21:13せっかく作っていただいたのですが、434のプログラムのどこに接続したらいいのかわかりません;;
なにとぞよろしくお願いします。;;
0452448
2007/02/18(日) 23:41:42#include <iostream> // 現在時刻を計測するのに使う
#include <time.h>
using namespace std;
int fdivide(int a, int b );
int main ()
{
int a; int b; int c; int iter;
time_t t1, t2; //現在時刻を記憶するのに使う
cout << "Input a ="; cin >> a;
cout <<"Input b ="; cin >> b;
cout <<"繰り返し回数は="; cin >> iter;
cout <<"fdivide start" <<endl;
time(&t1); // t1 に現在時刻を記憶
for( int i = 0; i <iter ; i++ ){
c = fdivide( a, b );
}
time(&t2);// t2 に繰り返し実行後の現在時刻を記憶
cout <<"fdivide end c = "<< c<< " time " <<
difftime(t2,t1)<<"sec." << endl; // 掛かった秒数を表示
return 0;
}
int fdivide( int a, int b )
{
int dv= 0;
while ( a >= b ){
a -= b;
dv++;
}
return dv;
}
です。fdivideは入りきらなかったので次に書き込みます。
0453448
2007/02/18(日) 23:49:09#include<iostream>
#include<iomanip>
using namespace std;
int fdivide(int a, int b);
int main(){ int a; int b;
cout <<"a="; cin >>a; cout <<"b="; cin >>b;
if (b==0) { cerr<<"bには0以外の整数を入力してください";
return 1;
} cout <<a<<"/"<<b<<"="<< fdivide(a,b)<<endl;
return 0;
}int fdivide(int a, int b){
int fdivide(int a,int b){
int count = 0;
if (a>=0){ if(b>0){ while (a >=b){
a-=b; count++; }
return count;
}
if (b<0){ while (a>=-b){
a+=b; count--;
}
return count; } }
if (a<=0){ if (b>0){ while (-a>=b){
a+=b;
count--;
} return count; } if (b<0){
while (-a>=-b){
a-=b;
count++;
}return count; } }}
です。長くなってすみません。どうかよろしくお願いします。
0454デフォルトの名無しさん
2007/02/19(月) 00:06:420455デフォルトの名無しさん
2007/02/19(月) 00:29:23fdivideはサンプルプログラムとして与えられたプログラムです。
0456454
2007/02/19(月) 00:36:35スマソ。
0457デフォルトの名無しさん
2007/02/19(月) 00:39:28#include <climits>
int fdivider(int a, int b) {
int dv=0, i=1;
if(a<0) if(b<0) return fdivider(-a,-b); else return -fdivider(-a,b);
else if(b<0) return -fdivider(a,-b);
while(b<INT_MAX>>1) b<<=1,i<<=1;
do if(a>=b) a-=b,dv|=i; while(b>>=1,i>>=1);
return dv;
}
どれほど速くなってるか計ってないからわからんが。
0458デフォルトの名無しさん
2007/02/19(月) 00:49:120459448
2007/02/19(月) 01:01:060460デフォルトの名無しさん
2007/02/19(月) 01:13:06マクロ使って多重定義とかアホなことやってた・・・orz
0461デフォルトの名無しさん
2007/02/19(月) 01:19:49処理系によっては掛け算で実装されてるかもしれないが、知ったこっちゃない。
0462デフォルトの名無しさん
2007/02/19(月) 04:31:26[1] 授業単元:
[2] 問題文(含コード&リンク): 5.8 Write a program that uses a for statement to find the smallest of several integers.
Assume that the first value read specifies the number of values remaining and that the first number is not one of the integers to compare.
forループを使い、4つ、5つと入力した数字の一番小さい数字をアウトプットするという問題です。
例;9, 8, 12, 10, 16と5つのintegerを入力したとするとアウトプットは8になります。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: (C++
[4] 期限: 2007年02月25日17:00まで]
0463デフォルトの名無しさん
2007/02/19(月) 04:32:580464デフォルトの名無しさん
2007/02/19(月) 05:08:46日本語がお上手ですね
0465デフォルトの名無しさん
2007/02/19(月) 05:14:280466デフォルトの名無しさん
2007/02/19(月) 05:17:020467デフォルトの名無しさん
2007/02/19(月) 05:18:57for (i=0; i<number; i++) でループをはじめるんじゃまいか?
0468デフォルトの名無しさん
2007/02/19(月) 05:30:560469デフォルトの名無しさん
2007/02/19(月) 06:15:16[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
Linux上でfork, execなどのシステムコールを利用して簡単なコマンドインタープリターを作成せよ。
作成するコマンドインタプリターは複数のコマンドを同時に実行できるようにする必要がある。
例えば、
ls; find . ?name aaa ?print; cat abc
のように、複数のコマンドを;で結合する場合はそれらのコマンドを順番に実行できるようにする必要がある。
[3] 環境
[3.1] OS: windowsXP,cygwin
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C言語
[4] 期限: ([2007年02月20日23:59まで]
進級かかってそうです。朝までやってましたがわかりませんでした…
よろしくお願いします
0470デフォルトの名無しさん
2007/02/19(月) 16:50:18あと1日ちょいでやる暇人は少ないと思うぞ
0471デフォルトの名無しさん
2007/02/19(月) 17:38:300472デフォルトの名無しさん
2007/02/19(月) 17:38:34留年すれば?
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char str[0x400], *p;
int i, q;
l:
printf("> ");
fflush(stdout);
if(fgets(str, sizeof(str), stdin)) {
for(i = q = 0, p = str; ; i++) {
switch(str[i]) {
case '\0':
case '\n':
q = 1;
case ';':
str[i] = '\0';
system(p);
p = str + i + 1;
if(q) goto l;
}
}
goto l;
}
}
0473デフォルトの名無しさん
2007/02/19(月) 17:45:450474デフォルトの名無しさん
2007/02/19(月) 18:40:200475デフォルトの名無しさん
2007/02/19(月) 18:43:100476デフォルトの名無しさん
2007/02/19(月) 18:43:120477デフォルトの名無しさん
2007/02/19(月) 18:52:41未回答のやつまとめてくれ
0478デフォルトの名無しさん
2007/02/19(月) 18:53:56↓仕様はお前に頼んだ。
0479デフォルトの名無しさん
2007/02/19(月) 18:55:060480デフォルトの名無しさん
2007/02/19(月) 21:02:45この宿題をおねがいします。
問題文
番号、氏名、フリガナ、住所、電話番号を表示するプログラムを作成せよ。というもので
学生番号 氏名 フリガナ 年 住所 電話番号
0001 山崎浩高 ヤマザキヒロタカ 20 香坂市3丁目 054-227-1468
0002 大塚高次 オツカタカツグ 19 笛川市2丁目 055-235-7789
0003 長谷部仁 ハセベジン 21 北斗市1丁目 0541-156-7785
0004 葛西隆行 カサイタカユキ 20 東百合菜 0556-554-6635
0005 高木修 タカギオサム 19 南高津5丁目 028-557-6682
0006 丹沢紀夫 タンザワノリオ 20 神橋田原 0784-189-6774
0007 北沢国正 キタザワクニマサ 20 大俵2丁目 0783-1152-4658
0008 新谷幸雄 シンタニユキオ 21 八代東野 0657-1215-6353
※上記のないようにて構造体を作成して、初期値として設定する。
�A以下の入力により、各データをソートして表示を行う。
1 学生番号 2 氏名 3 住所 4 電話番号 5 年齢順 0 終了
※なにも押さないと画面には初期のデータが出ていて、1を押すと番号順に並び0を押すと終了するという感じが望ましいそうです。
�Bソート方法はバブルソートを用いて行う。
�C使用して良い関数
printf関数 getch関数 は使っていいとあります。
また memcpy memcmp strcpy strcmp 等の関数は自作しろとあります。
[3] 環境
[3.1] OS:Windows [3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: (C/C++/どちらでも可)
[4] 期限: (2007年2月20日まで)
[5] その他の制限: (printf関数 getch関数 は使っていいとあります。
また memcpy memcmp strcpy strcmp 等の関数は自作しろとあります。
どうかよろしくお願いします;;
0481デフォルトの名無しさん
2007/02/19(月) 21:03:57出題者も回答者も常連ばっかりなのか?
0482デフォルトの名無しさん
2007/02/19(月) 21:04:280483デフォルトの名無しさん
2007/02/19(月) 21:05:13何度やっても、「よくわからなかったのでもう一度お願いします」とやるのか?
どこが分からないのかを書けよ
0484デフォルトの名無しさん
2007/02/19(月) 21:10:24http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3666.txt
0485デフォルトの名無しさん
2007/02/19(月) 21:34:50struct member *createMember();
これが構造体の関数なのはわかるんですが
関数における * ってどんな存在ですか?
0486デフォルトの名無しさん
2007/02/19(月) 21:37:170487デフォルトの名無しさん
2007/02/19(月) 21:37:350488デフォルトの名無しさん
2007/02/19(月) 21:38:460489デフォルトの名無しさん
2007/02/19(月) 21:40:020490480
2007/02/19(月) 21:50:39学生番号 氏名 フリガナ 年 住所 電話番号
0001 山崎浩高 ヤマザキヒロタカ 20 香坂市3丁目 054-227-1468
0002 大塚高次 オツカタカツグ 19 笛川市2丁目 055-235-7789
0003 長谷部仁 ハセベジン 21 北斗市1丁目 0541-156-7785
0004 葛西隆行 カサイタカユキ 20 東百合菜 0556-554-6635
0005 高木修 タカギオサム 19 南高津5丁目 028-557-6682
0006 丹沢紀夫 タンザワノリオ 20 神橋田原 0784-189-6774
0007 北沢国正 キタザワクニマサ 20 大俵2丁目 0783-1152-4658
0008 新谷幸雄 シンタニユキオ 21 八代東野 0657-1215-6353
この↑のデータと 1、番号 2、氏名 3、住所 4、電話番号 5、年齢順 0、終了
といった感じに画面上に常に出し続けて各KEYを押すとソートされるという風にやりたいのです・・・。
この仕方がわかりません;;
0491デフォルトの名無しさん
2007/02/20(火) 00:09:210492デフォルトの名無しさん
2007/02/20(火) 00:25:04アンダースコアで始まる識別子は規格で予約されてるから使っちゃダメだぞ
0493デフォルトの名無しさん
2007/02/20(火) 00:30:18[1] 授業単元: C言語演習1
[2] 問題文:
1個のfloat型のデータを、小数点を境に2つにわけよ。
分けた値は、それぞれfloat型の変数に格納せよ。
[3] 環境 : VC 6.0
[3.1] OS: WindowsXP
[3.2]言語:C
[4]期限:2月21日 14時
0494デフォルトの名無しさん
2007/02/20(火) 00:33:09そんなのも出来ずにC言語の授業を受けるんでつか?(・∀・)ニヤニヤ
0495デフォルトの名無しさん
2007/02/20(火) 00:39:43f1 = (int) f;
f2 = f - f1;
printf("%f = %f + %f\n", f, f1, f2);
0496493
2007/02/20(火) 00:42:29[1] 授業単元: C言語演習1
[2] 問題文:
1個のfloat型のデータを、小数点を境に2つにわけよ。
分けた値は、それぞれfloat型の変数に格納せよ。
[3] 環境 : VC 6.0
[3.1] OS: WindowsXP
[3.2]言語:C
[4]期限:2月21日 14時
[5]キャスト禁止
0498デフォルトの名無しさん
2007/02/20(火) 00:54:26int i;
// 負数無視
for (i=0; f>=1.0; i++) {
f -= 1.0;
}
f1 = (float) i;
f2 = f;
printf("%f = %f + %f\n", f, f1, f2);
0499デフォルトの名無しさん
2007/02/20(火) 01:01:15フローチャートは面倒くさかったら省いてもらって構いません
[1] 授業単元: 情報処理
[2] 問題文:
配布データ、kadai3.datを使用して以下のプログラムを作成し、フローチャートを書け
kadai3.datの中には学生番号、英語、数学、理科のデータが入っている。
また、データの改造は行わないこと。
kadai3.dat:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3668.lzh
各自の3科目の合計点を求めよ。
英語、数学、理科、及び3科目合計について、最高点と最低点を求めよ。
各自の学生番号、英語、数学、理科、3科目合計及び合否判定(合格不合格)を学生番号順に表示せよ。
合否判定は3科目すべての点が60点以上を合格の基準とする。合計点が180点以上でも60点未満の科目があれば不合格とせよ。
各自の学生番号、英語、数学、理科、3科目合計を合計点の大きい順に表示せよ。
ファイル名は
入力ファイル kadai3.dat
出力ファイル h23-o.dat
ソースファイル h23.cpp
フローチャート h23.doc
[3] 環境 :Microsoft Visual Studio 2003
[3.1] OS: WindowsXP
[3.2]言語:C++
[4]期限:2月22日 10時
0500デフォルトの名無しさん
2007/02/20(火) 01:11:19いやさ、標準関数も調べられない奴は氏ぬべきだと思うよ
#include <math.h>
float f, f1, f2;
f1 = modff(f, &f2);
0501デフォルトの名無しさん
2007/02/20(火) 01:12:30ホントに線形リストの意味分かって言ってんの?
0502デフォルトの名無しさん
2007/02/20(火) 11:43:34ソート方法がバブルソートじゃない
終了は 6 じゃなくて 0
構造体のコピーは無理にstrcpy使わずそのまま代入
構造体の配列サイズをギリギリにするくらいならメンバを全てポインタにしては?
0503デフォルトの名無しさん
2007/02/20(火) 13:13:170504デフォルトの名無しさん
2007/02/20(火) 13:13:33http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3671.c
0506デフォルトの名無しさん
2007/02/20(火) 23:12:46次のプログラムを実行した時 printf関数によって出力される値を 解答群ア〜オから選べ すべてint型
�@
for(sum=1,i=1;i<10;i++)
sum += i;
printf("%d\n",sum);
ア44 イ45 ウ46 エ55 オ56
�A
for(i=1,j=10;i<j;i++,j--)
printf("%d\n",i);
ア1 イ4 ウ5 エ6 オ11
�B
for(i=1,sum=0;i<10;i++)
sum += i%5;
printf("%d\n",sum);
ア20 イ25 ウ30 エ45 オ55
�C〜�Eの続きは次に書きます
0507デフォルトの名無しさん
2007/02/20(火) 23:14:03�C
for(i=1,sum=0;i<20;i++)
if(i>5)
sum++;
else
sum--;
printf("%d\n",sum);
ア9 イ10 ウ12 エ15 オ16
�D
for(i=16,sum=0;i;)
sum += (i/=2);
printf("%d\n",sum);
ア4 イ5 ウ15 エ16 オ31
�E
for(i=10,j=5,sum=0;i>0 && j>0;i--,j-=2)
sum += i;
printf("%d\n",sum);
ア12 イ27 ウ34 エ45 オ55
以上�@〜�E 解答はどうなるでしょうか?
携帯からくだらない質問ですいませんm(_ _)m
0508デフォルトの名無しさん
2007/02/20(火) 23:15:06自分でやってみれば?
0509デフォルトの名無しさん
2007/02/20(火) 23:16:22正解は全部ア、答えてやったからもうくるな
0510デフォルトの名無しさん
2007/02/20(火) 23:53:06できれば こんな馬鹿な自分に正確な解答をお願いしますm(_ _)m
自分の解答は �@から ウエアアエオ
なんですが どうでしょうか...
0511デフォルトの名無しさん
2007/02/21(水) 00:19:580512デフォルトの名無しさん
2007/02/21(水) 00:31:35問題が正確じゃないから答えようが無い。
0513デフォルトの名無しさん
2007/02/21(水) 00:39:06[2] 問題文(含コード&リンク):
プログラム仕様書
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3672.txt
課題で使用する英文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3673.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2月24日
[5] その他の制限:
よろしくお願いします
0514デフォルトの名無しさん
2007/02/21(水) 00:44:06解答を
0515デフォルトの名無しさん
2007/02/21(水) 00:49:23正答率 66.6%
0516デフォルトの名無しさん
2007/02/21(水) 00:49:43お願いだから>>512を無視しないでね
あと携帯だから読んでないと思うけど>>2に催促禁止って書いてあるから
0517499
2007/02/21(水) 01:01:02自宅の環境だと、modffだとコンパイルエラーになる・・・
long型のmodfやmodflだとエラーにならないのに、modffだけエラーになる・・・何故に・・・
0518デフォルトの名無しさん
2007/02/21(水) 01:06:5766.6%
0519デフォルトの名無しさん
2007/02/21(水) 01:08:55もう黙ったほうがお前の為だ。
0520デフォルトの名無しさん
2007/02/21(水) 01:13:38お願いだからセミコロンひとつ抜けてもプログラムの動作が変わってしまうってことを理解してくれ
そして書き込んだ問題と本当の問題を見比べて間違いがないかどうかチェックしてくれ
0521デフォルトの名無しさん
2007/02/21(水) 01:23:162問 どこを間違えたんだろう...
0522デフォルトの名無しさん
2007/02/21(水) 01:24:560523デフォルトの名無しさん
2007/02/21(水) 01:25:030524デフォルトの名無しさん
2007/02/21(水) 01:29:13それぞれ答え分かりますかね
教えてもらえるとありがたいんですが
0525デフォルトの名無しさん
2007/02/21(水) 01:38:180526デフォルトの名無しさん
2007/02/21(水) 01:57:42あー間違えてハッシュテーブルで書いてた。
修正めんどくせえ
0527499 なんですけど…
2007/02/21(水) 03:42:09>>517さんが何故か499を名乗って別の問題の件について書いてたので
閲覧者の方に「質問を破棄した」と思われる可能性があったので書き込みました
トリップつけなかった自分が悪いんですが、>>517さんも何かのミスだと思うので確認してみて下さい
では、スレ汚しすいませんでした
0528デフォルトの名無しさん
2007/02/21(水) 03:48:35>>517は>>493が間違えて名乗っただけだろ
誰も勘違いしてないから安心しろ
0529デフォルトの名無しさん
2007/02/21(水) 09:31:20環境は VC6 じゃない?
math.h 覗いてみたけど、C++ なら inline で modff() 実装されて、
C だと、_M_ALPHA か _M_MRX000 環境のみ modff() が居るみたいね。
# C99 からなのか? modff() 要求されるの
0530デフォルトの名無しさん
2007/02/21(水) 12:33:40[2] 問題文(含コード&リンク):番号(1桁の整数値),氏名(半角英字20文字以内)
血液型を一組とした構造体配列(要素数2人分)を用意する。
キーボードから二人分のデータを入力し、構造体配列へ格納後表示。
また表示部分のみ服関数で行うこと。
表示例
No NAME BloodType
1 kawai takasi A
2 T.imai B
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: [無期限]
[5] その他の制限: 構造体配列、関数、ポインタを用いること
よろしくお願いします。
0531デフォルトの名無しさん
2007/02/21(水) 14:38:270532デフォルトの名無しさん
2007/02/21(水) 14:39:000533デフォルトの名無しさん
2007/02/21(水) 14:47:25か???
0534デフォルトの名無しさん
2007/02/21(水) 16:21:21うむ。modff, modflはC99から標準
0535デフォルトの名無しさん
2007/02/21(水) 18:34:04[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3674.txt
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 2月23日 8時
宜しくお願いします。
0536デフォルトの名無しさん
2007/02/21(水) 18:45:49[3.2]は?
その他の制限は?
0537デフォルトの名無しさん
2007/02/21(水) 18:58:17gb.h
とか
gotoxy()
って何?
0538デフォルトの名無しさん
2007/02/21(水) 19:24:13[5] その他の制限: 関数辺りまで習っています。
gotoxy() はその座標に表示させるという感じの役割で
gb.hはゲームボーイ用のファイルです。
恐らく、、
0539デフォルトの名無しさん
2007/02/21(水) 20:36:48gb.hを提供してくれなきゃ解けないわけだが
0540535
2007/02/21(水) 21:25:46すいません、お願いします。
0541デフォルトの名無しさん
2007/02/21(水) 21:33:060542デフォルトの名無しさん
2007/02/21(水) 21:37:12#include <gb/sgb.h>
#include <gb/cgb.h>
……
無限ループになりそうだからやめとく。
0543デフォルトの名無しさん
2007/02/21(水) 21:40:18gb.hだけじゃ足りねえし
0544デフォルトの名無しさん
2007/02/21(水) 21:42:41てか、それむか〜し見たことあるけど本見ながらじゃないとわからんと思うよ
0545デフォルトの名無しさん
2007/02/21(水) 21:50:150546デフォルトの名無しさん
2007/02/21(水) 21:55:03delay(70)の上か下に、
if((dir_x>0&&ball_x==19)||(dir_x<0&&ball_x==0) dir_x*=-1;
if((dir_y>0&&ball_y==17)||(dir_y<0&&ball_y==0)) dir_y*=-1;.
を追加
0547デフォルトの名無しさん
2007/02/21(水) 22:13:39C++の練習としてやってみた。
ファイルに何を出力するのか分からなかったので合計点の順位を出力しました。
クラスを使用したのでファイルを分けました。
どうしても一つにまとめたいのであればそちらでお願いします。
フローチャートは作成していません。
コメントを記入してあるので読めば分かるかと。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3677.zip
0548デフォルトの名無しさん
2007/02/21(水) 22:59:22[2] 問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3678.txt
[3] 環境:筆記です。擬似コードが多いので言語の制限は特にありません。
[4] 期限:無期限
よろしくお願いします。
0549デフォルトの名無しさん
2007/02/22(木) 00:29:090550デフォルトの名無しさん
2007/02/22(木) 00:40:40どこがC/C++の宿題なのかと小一時間問い詰めたい
0551548
2007/02/22(木) 00:53:540552499
2007/02/22(木) 01:25:42ありがとうございます、参考にさせていただきます
午後からずっと挑戦してたんですが先ほど何とか完成しました まだフローチャートが残ってるんですが;
>>547さんのと比べると明らかに遠回りしる気がしますが、一応自分のもUPしておきます
多分何の参考にもならないと思います
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3680.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3668.lzh
0553デフォルトの名無しさん
2007/02/22(木) 12:26:04同じ大学くせえええええええ
0554デフォルトの名無しさん
2007/02/22(木) 12:27:290555デフォルトの名無しさん
2007/02/22(木) 12:54:560556デフォルトの名無しさん
2007/02/22(木) 13:06:350557デフォルトの名無しさん
2007/02/22(木) 13:06:47近くに砂丘があるんですけどね…
0558デフォルトの名無しさん
2007/02/22(木) 13:11:100559デフォルトの名無しさん
2007/02/22(木) 13:23:490560デフォルトの名無しさん
2007/02/22(木) 14:57:200561デフォルトの名無しさん
2007/02/22(木) 15:08:500562デフォルトの名無しさん
2007/02/22(木) 15:10:51感官同率× 関関同立○
0563デフォルトの名無しさん
2007/02/22(木) 15:11:210564デフォルトの名無しさん
2007/02/22(木) 15:19:240565デフォルトの名無しさん
2007/02/22(木) 15:29:580566デフォルトの名無しさん
2007/02/22(木) 15:34:11まあ、おかげで暇つぶしができるのだが。
0567デフォルトの名無しさん
2007/02/22(木) 15:46:330568デフォルトの名無しさん
2007/02/22(木) 15:54:16学業を終えて、いざ社会に出てみると・・・そういうことだったのかと気づく。
なんてちっぽけな課題だったんだ、そんなものも出来なきゃ通用しない罠
って言える日が来るさ。だから自力でやっとけ、ってここで言うのはお門違いだがw
0569デフォルトの名無しさん
2007/02/22(木) 15:59:350570デフォルトの名無しさん
2007/02/22(木) 16:06:310571デフォルトの名無しさん
2007/02/22(木) 16:36:24#include<stdio.h>
#include<stdlib.h>
typedef struct{
int no;
char name[20+1];
}Data;
void PrintData(Data data[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d\t%s\n",data[i].no,data[i].name);
}
int main()
{
Data data[2];
int i;
char no_buf[2];
for(i=0;i<2;i++){
printf("%d人目の番号:",i+1);
fgets(no_buf,2,stdin);
data[i].no=atoi(no_buf);
fflush(stdin);
printf("%d人目の氏名:",i+1);
fgets(data[i].name,20+1,stdin);
fflush(stdin);
}
PrintData(data,2);
return 0;
}
0572デフォルトの名無しさん
2007/02/22(木) 18:04:460573デフォルトの名無しさん
2007/02/22(木) 19:06:28[2]問題文:
1.構造体を使ったアドレス帳プログラムをを作成しなさい、下記の仕様を満たすこと。
・「名前」(全角10文字以内)
・「読み(ローマ字)」(半角30文字以内)
・「メールアドレス」(半角30文字以内)
・「電話番号」(半角13文字以内)
2.データの保存、読み込みが出来るように改造しなさい(できるだけ以下の機能を追加すること)
・名前を入力して該当するデータを表示する機能(検索機能)を追加しなさい
・読みのデータが入力されたとき、名字と名前の先頭を大文字に、その他を小文字に変換して保存するように改造しなさい
・データ一覧表示を読みのアルファベット順に表示するように改造しなさい
・文字を入力して、その文字を含むメールアドレスのデータの一覧を表示する機能を追加しなさい
3.メモリーを動的に確保して、メモリーが許す限りのデータを保存できるように改造しなさい
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2007/3/2
よろしくお願いします。
0574デフォルトの名無しさん
2007/02/22(木) 19:14:47[2] 問題文(含コード&リンク):
多項式の計算と()カッコの計算が可能なdentaku3.cを作成しなさい
実行例
1+2-3*4/5 エンター
0.600000
[3] 環境 Windows Xp SP2
[3.2] コンパイラ: Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
[3.3] 言語:C
[4] 期限:[2007年03月01日06:00まで]
[5]特に指定はありません
最終的には関数電卓を作るらしいです。先が思いやられる orz
よろしくお願いします。
0575デフォルトの名無しさん
2007/02/22(木) 19:31:21ほい。
#include<stdio.h>
#include<stdlib.h>
char buf[100],*src=buf;
double atm(void);
double mul(double r){return*src=='*'?++src,mul(r*atm()):*src=='/'?++src,mul(r/atm()):r;}
double add(double r){return*src=='+'?++src,add(r+mul(atm())):*src=='-'?++src,add(r-mul(atm())):r;}
double atm(void){
double r;
while(isspace(*src))++src;
if(*src == '(')++src,r = add(mul(atm())),++src;
else r = strtod(src,&src);
while(isspace(*src))++src;
return r;
}
int main(){gets(src);printf("%f\n",add(mul(atm())));}
0577デフォルトの名無しさん
2007/02/22(木) 19:47:053項演算子使いまくりだし>>575はわざと難読化させてる感じ。
こんなソース書いちゃダメだよ。
0578デフォルトの名無しさん
2007/02/22(木) 20:00:39とてもそうは見えないんだが。
この手のコードを簡潔に書くには参考演算子は必要不可欠だと思う。
0579デフォルトの名無しさん
2007/02/22(木) 20:00:45その問題ちょっと前に見たな
0580デフォルトの名無しさん
2007/02/22(木) 20:04:510581デフォルトの名無しさん
2007/02/22(木) 20:06:52期限延びました
0582デフォルトの名無しさん
2007/02/22(木) 20:09:06getsはダメだろ、常識的に考えて
0583デフォルトの名無しさん
2007/02/22(木) 20:19:24何で?
0584デフォルトの名無しさん
2007/02/22(木) 20:20:46ま、こんなお遊び程度のおちゃらけプログラムならgetsでいいかなーと。
採点するやつがわざわざセキュリティホール突こうとかしねーだろーし。
0585デフォルトの名無しさん
2007/02/22(木) 20:26:34本物のプログラマは理由を問いただしたりしない。オツムの弱い奴らのやることなのだ。
0586デフォルトの名無しさん
2007/02/22(木) 20:31:30本物じゃないので自分は.
今後の参考のために知りたいの
0587デフォルトの名無しさん
2007/02/22(木) 20:40:170588デフォルトの名無しさん
2007/02/22(木) 20:44:00そりゃまぁ、ダンディ坂野は消えていったしな・・・
0589デフォルトの名無しさん
2007/02/22(木) 20:46:02つまらない制約の中で何かを達成して自己満足している視野の狭い奴w
0590デフォルトの名無しさん
2007/02/22(木) 20:47:28ttp://www.genpaku.org/realprogrammerj.html
のネタを知って遊んでるだけだからスルーしろ。
0591デフォルトの名無しさん
2007/02/22(木) 20:48:25じょうーだんだったのか
>>589
え〜とじゃあ別に if を使わないわけじゃないよね
ちょいと本気で考えた
0592デフォルトの名無しさん
2007/02/22(木) 20:49:43七行スレ住人としての意見だけど。
0593デフォルトの名無しさん
2007/02/23(金) 00:04:00[1]授業単元:プログラミング演習
[2]問題文:配列を応用した神経衰弱ゲームの作成
[3]:環境
[3.1]OS:WindowsXP
[3.2]コンパイラ名とバージョン:Cpad for Borland C++Compiler ver 2.31
1998-2001
[3.3]言語:C言語
[4]期限:2007年2月23日
[5]制限:グラフィックスは使用しない
配列を応用する
期限ギリギリですみません…
お願いしますorz
0594デフォルトの名無しさん
2007/02/23(金) 00:33:32今日中かよw
AIとか搭載したりするの?
0595デフォルトの名無しさん
2007/02/23(金) 00:40:42[2]問題文
http://www.uploda.net/cgi/uploader4/index.php?dlpas_id=0000010274.txt
開くPW は c です。
[3]:環境 練習問題なので不明
[3.1]OS:WindowsXP?
[3.2]コンパイラ名とバージョン:特になし
[3.3]言語:C言語
[4]期限:2007年2月23日朝9時までですができるだけ早くお願いします・・・
切羽詰まってます_| ̄|○
[5]制限:特にないです
何とぞよろしくお願いします_| ̄|○
0596593
2007/02/23(金) 00:48:53進級がかかってるとかいないとかw
…orz
ちなみにカキコ携帯でしかできませんw
規制のせいでパソはヲチ専用です(゚Д゚;)
0597デフォルトの名無しさん
2007/02/23(金) 00:52:14笑っていられるようじゃ余裕だな
0598デフォルトの名無しさん
2007/02/23(金) 02:25:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3681.c
AIってどういうものかわからんかったけど、過去に開いた分は憶えるようにした。
0599デフォルトの名無しさん
2007/02/23(金) 02:30:51それぐらいやれよ。
まあやってあげるから30分くらいまってろ。
0600デフォルトの名無しさん
2007/02/23(金) 02:31:00問題文は正確に写してね
0601デフォルトの名無しさん
2007/02/23(金) 02:47:20ちょ AI強くね?w
0602596
2007/02/23(金) 02:59:52ありがとうございます!
でもすいません
一人用でした^^;
もしよろしければお願いしますorz
0603デフォルトの名無しさん
2007/02/23(金) 03:14:42死んでくれ^^;
0604デフォルトの名無しさん
2007/02/23(金) 03:41:56http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3682.zip
0605デフォルトの名無しさん
2007/02/23(金) 03:44:49おれは好きだぜ
0606デフォルトの名無しさん
2007/02/23(金) 04:00:29本当にありがとうございます
0607デフォルトの名無しさん
2007/02/23(金) 04:06:31開けない気がするかもしれないと思わないこともある
0608595
2007/02/23(金) 09:32:050609595
2007/02/23(金) 09:34:22再度UPしました 後1時間くらいしか時間ないですがよろしくお願いします_| ̄|○
0610デフォルトの名無しさん
2007/02/23(金) 10:04:35#include <stdio.h>
void main(){
int nisu,month;
int mdays[]={31,28,31,30,31,30,31,31,30,31,30,31};
struct data{
int day;
int month;
}today,atday;
printf("今日の日付を入力:月/日");
scanf("%d/%d",&today.month,&today.day);
printf("日数を入力");
scanf("%d",&nisu);
atday=today; /* today を atday に代入*/
atday.day+=nisu;
while(atday.day>mdays[atday.month-1]){
atday.day-=mdays[atday.month-1];
atday.month++;
}
printf("%d/%dから%d日後は",today.month,today.day,nisu);
printf("%d/%dです。\n",atday.month,atday.day);
}
0611デフォルトの名無しさん
2007/02/23(金) 10:04:44void main(){
typedef struct{
int year;
int month;
int day;
}DATE;
struct parson{
char name[50];
DATE bday; /*誕生日*/
}man={"yamada tarou",1987,1,1};
DATE today; /*今日*/
int nen,urusu=0;
printf("今日の日付を入力:");
scanf("%d/%d/%d",&today.year,&today.month,&today.day);
for(nen=man.bday.year;nen<=today.year;nen++)
urusu+=(!(nen%4)&&nen%100||!(nen%400)) ? 1 : 0;
printf("%s が誕生した年から今年までうるう年は",man.name);
printf("%d回ありました。\n",urusu);
}
0613595
2007/02/23(金) 12:13:531時からでした_| ̄|○
3 4問目わかる方ご教授願います。
0614デフォルトの名無しさん
2007/02/23(金) 12:18:330615デフォルトの名無しさん
2007/02/23(金) 12:27:20より良い場所に就職するつもりでなく、学生でいられる時間を長くして遊びたいって考えだと
後々の人生ぼろぼろになるぞ。試験に落ちてやり直した方がマシ。
それから宿題のソース、おかしい。仮に推測して穴埋めしてもコンパイル不可能。
0616デフォルトの名無しさん
2007/02/23(金) 12:59:21>atday.month++;
0617デフォルトの名無しさん
2007/02/23(金) 13:20:28日数の合計から曜日を求める課題もどうかと・・・さらっと流して
もっと効率の良い手段を選べばええやん。
0618デフォルトの名無しさん
2007/02/23(金) 14:05:45[2] 問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3683.txt
[3] 環境
[3.1] OS: linux(fedoracore2)
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:2月26日まで
5つの中から3つお願いします。
0619デフォルトの名無しさん
2007/02/23(金) 14:52:37main2, main4, main5のうち一つを必要に応じてmainに改名して使ってくれ。
それから、入力が正しいことを前提にしている。
# include <stdio.h>
int ask(const char *prompt) {
int r = 0;
char buf[100];
printf("%s >> ", prompt);
fflush(stdout);
fgets(buf, sizeof buf, stdin);
sscanf(buf, "%d", &r);
return r;
}
int main2(void) {
int a = ask("いくら");
int tax = a / 21;
printf("%d = %d(定価) + %d(税)\n", a, a - tax, tax);
return 0;
}
int main4(void) {
int day = ask("何日 ");
int hour = ask("何時間");
int minute = ask("何分 ");
int second = ask("何秒 ");
printf("%d日%d時間%d分%d秒: %d秒\n", day, hour, minute, second, (((day * 24) + hour) * 60 + minute) * 60 + second);
return 0;
}
int main5(void) {
int year = ask("西暦何年");
printf("%s年\n", year % 4 == 0 && !(year % 100 == 0 && !(year % 400 == 0)) ? "閏" : "平");
return 0;
}
0620デフォルトの名無しさん
2007/02/23(金) 14:55:42http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3688.txt
実行結果例と同じにはなる。でもそのまま出して怒られてもシラネ
0621デフォルトの名無しさん
2007/02/23(金) 14:59:52#include <stdio.h>
int main(void){
int year;
printf("西暦何年");
scanf("%d",&year);
if((year%4==0) && (year%100==0) && (year%400==0))
printf("閏年");
else
printf("平年");
}
0622デフォルトの名無しさん
2007/02/23(金) 15:02:07#include <stdio.h>
int main(void){
int year;
printf("西暦何年");
scanf("%d",&year);
if((year%4==0) && (year%100==0) && (year%400==0))
printf("閏年");
else
printf("平年");
}
0623デフォルトの名無しさん
2007/02/23(金) 15:04:270625デフォルトの名無しさん
2007/02/23(金) 15:09:40それだと例えば1996年が閏年にならない。
0627デフォルトの名無しさん
2007/02/23(金) 15:23:120628デフォルトの名無しさん
2007/02/23(金) 16:33:00> if((year%4==0) && (year%100==0) && (year%400==0))
&&だけ?やっちまったな!括弧をつける部分も不適切やし
今後C言語を続けるならとりあえずちゃんと勉強してガンガレ!
0629デフォルトの名無しさん
2007/02/23(金) 16:34:50int main(){
int year;
printf("西暦何年");
scanf("%d",&year);
if(!(year%400) || (!(year%4)&&year%100){
printf("閏年");
return;
}
printf("平年");
}
>>628
なんでそんな意気揚々なんだよw
0630デフォルトの名無しさん
2007/02/23(金) 16:37:25>>628
なんでそんな意気揚々なんだよw
>>628
なんでそんな意気揚々なんだよw
>>628
なんでそんな意気揚々なんだよw
>>628
なんでそんな意気揚々なんだよw
>>628
なんでそんな意気揚々なんだよw
0631デフォルトの名無しさん
2007/02/23(金) 16:38:35コンパイルしてから出せよバカ、お調子者こそコケ易いってのがわかりやすいなw
悪いが俺はそんなヘマはしないぞw
0632デフォルトの名無しさん
2007/02/23(金) 16:44:00カッコが一つ足りないな。
>>631
なんでそんな意気揚々なんだよw
0633デフォルトの名無しさん
2007/02/23(金) 16:45:17意気揚々で調子ぶっこいているのは誰がどう見ても>>629だろw
お前こそ何意気揚々なんだよ?w
0634デフォルトの名無しさん
2007/02/23(金) 16:46:11中学のときの数学の教師がさぁ、いつも括弧が足りないとこう言うのよ
かっこがつかない(=かっこ悪い)ってね。
0635デフォルトの名無しさん
2007/02/23(金) 16:48:05誰が上手いこと言えとry
0636デフォルトの名無しさん
2007/02/23(金) 16:57:40[2] 問題文:200X と入力すると、世紀末救世主が現れるプログラムを書け
[3] 環境
[3.1] OS: 核戦争後の荒れた世界
[3.2] コンパイラ名とバージョン: 北斗神拳
[3.3] 言語: 北斗神拳
[4] 期限:ユリアがさらわれるまで
0637デフォルトの名無しさん
2007/02/23(金) 17:18:44俺もその課題がCやり始めた当初あったんだけど
0638デフォルトの名無しさん
2007/02/23(金) 17:20:50ありきたりな課題じゃね?
0639デフォルトの名無しさん
2007/02/23(金) 17:26:35うはっ全部やったわw。やっぱりどこも同じなのか
0640デフォルトの名無しさん
2007/02/23(金) 17:39:060641デフォルトの名無しさん
2007/02/23(金) 17:52:30#include <stdio.h>
int d_con(unsigned n, int k) {
char a[32],d[16] = "0123456789ABCDEF";
int i;
if(n==0) {printf("0"); return 0; }
for(i=0; i<32; i++) a[i] = '0';
for(i=0; n!=0; i++,n/=k) a[i] = d[n%k];
for(i--; i>=0; i--) printf("%c",a[i]);
return 0;
}
int main() {
int x;
printf("整数を1つ入力 >> "); scanf("%d",&x);
if(x<0) { printf("負なのでそのまま表示: %d",x); return 0; }
printf("正なので%dを2倍する: ",x); x*=2;
printf("10進: %d",x);
printf(", 16進: "); d_con(x,16);
printf(", 2進: "); d_con(x,2);
return 0;
}
0642641
2007/02/23(金) 17:54:13↓の配列の英文字部分を小文字にしといてちょっ
d[16] = "0123456789ABCDEF";
0643デフォルトの名無しさん
2007/02/23(金) 18:05:30なんでそんな意気揚々なんだ
>>637
フィボナッチとか階乗とかその辺はプログラムの授業では
王道じゃないかな。
0644デフォルトの名無しさん
2007/02/23(金) 18:07:360645デフォルトの名無しさん
2007/02/23(金) 18:37:460646デフォルトの名無しさん
2007/02/23(金) 19:03:24>>622のコードってどこが間違ってるんだ?
俺には解読不可能だった。
>>629はコンパイル出来なかったし
0647デフォルトの名無しさん
2007/02/23(金) 19:05:02if( (y%4==0 && y%100!=0) || y%400==0 ) これなら
4で割り切れるが100で割り切れない または 400で割り切れるに該当するかと。
0648デフォルトの名無しさん
2007/02/23(金) 19:10:48if((year%4==0) && (year%100==0) && (year%400==0))
を簡単にすると
if(year%400==0)
0649デフォルトの名無しさん
2007/02/23(金) 19:19:59if(year%400==0) is_uruu=1;
else if(year%100==0) is_uruu=0;
else if(year%4==0) is_uruu=1;
else is_uruu=0;
0650デフォルトの名無しさん
2007/02/23(金) 19:23:39うるう年の判定は
4で割り切れる年はうるう年
4で割り切れても100で割り切れる年はうるう年ではない
if((year%4==0) && (year%100==0) && (year%400==0))
これだと
4で割り切れ、かつ100で割り切れ、かつ400で割り切れるもの となってしまう
つまり>>648だから間違い
0653デフォルトの名無しさん
2007/02/23(金) 19:25:170654650
2007/02/23(金) 19:25:24っての忘れてたので追加
0655デフォルトの名無しさん
2007/02/23(金) 19:25:55# 論理関係から 仕様をおこすのは比較的簡単か
0656650
2007/02/23(金) 19:31:20ぶちぶちなのでこうしとく
4で割り切れる年はうるう年 ---(1)
(1)であっても100で割り切れる年はうるう年ではない ---(2)
(2)であっても400で割り切れる年はうるう年 ---(3)
0657デフォルトの名無しさん
2007/02/23(金) 19:37:10400 800 1200 1600 2000 と400年ごと、あと4年で割り切れる4年ごとだけど
↑にあげた以外の400で割れない下2桁が00の年 1100 1500 とかはダメ。って余計わかりづらいか?
ってかもうこの話はやめとくかw
0658デフォルトの名無しさん
2007/02/23(金) 19:43:36経験が浅い自分には、物凄い勢いで勉強になります。
0659デフォルトの名無しさん
2007/02/23(金) 20:24:320660デフォルトの名無しさん
2007/02/23(金) 20:25:430661デフォルトの名無しさん
2007/02/23(金) 20:37:330662デフォルトの名無しさん
2007/02/23(金) 20:39:430663デフォルトの名無しさん
2007/02/23(金) 20:53:28C無理じゃん!
0664デフォルトの名無しさん
2007/02/23(金) 22:32:470665デフォルトの名無しさん
2007/02/23(金) 23:27:18表示するプログラムを教えてください。
よろしくお願いします。
void disp(unsigned short data){
}
0666デフォルトの名無しさん
2007/02/23(金) 23:49:130667650
2007/02/23(金) 23:55:31それを10進に変換しましたよ
void disp(unsigned short data){
printf("%d",data);
}
はいどうぞ
0668デフォルトの名無しさん
2007/02/24(土) 00:34:40それ鼻からなんか出てるよ
printf("%hu",data);
0669デフォルトの名無しさん
2007/02/24(土) 00:34:50プログラムがmain関数だけ(例えばHello Worldと表示のみとか)の場合、
main()
void main()
main(void)
int main(void)
とか色々な書き方がありますが、
どういった感じに使い分けていけばよろしいのでしょうか?
0670デフォルトの名無しさん
2007/02/24(土) 00:44:54int main(){return 0;}
一つだけを使っていけばOK
0671デフォルトの名無しさん
2007/02/24(土) 00:47:57int main(void)派
0672デフォルトの名無しさん
2007/02/24(土) 00:50:49void main() // 動作は未定義
void main(void) // 動作は未定義
main() // int main() に同じ
int main() // 引数の型チェックなし。main(1)のような呼び出しができてしまう
main(void) // int main(void) に同じ
int main(void) // これ推奨
0673デフォルトの名無しさん
2007/02/24(土) 00:52:510675669
2007/02/24(土) 01:00:070677デフォルトの名無しさん
2007/02/24(土) 01:05:39コピって書いたんだけど、他を探したらそれだったみたいw
0678デフォルトの名無しさん
2007/02/24(土) 01:06:15int main(int, char *[]);
int main(int, char **);
0679デフォルトの名無しさん
2007/02/24(土) 03:10:550680デフォルトの名無しさん
2007/02/24(土) 03:56:21俺そのスタイルだわ
0681デフォルトの名無しさん
2007/02/24(土) 04:16:460682デフォルトの名無しさん
2007/02/24(土) 07:24:550683デフォルトの名無しさん
2007/02/24(土) 08:07:11特定の環境でしか動かないものを作ってくることもあるわけで
0684デフォルトの名無しさん
2007/02/24(土) 11:09:120685デフォルトの名無しさん
2007/02/24(土) 11:35:44#include<stdio.h>
int main(int argc, char *argv[], char **argp){
int i;
for(i=0;argp[i]!=NULL;i++)
printf("%s\n", argp[i]);
return 0;
}
0686デフォルトの名無しさん
2007/02/24(土) 13:40:150687デフォルトの名無しさん
2007/02/24(土) 18:14:47「未定義」だと何か問題があるの?
0689デフォルトの名無しさん
2007/02/24(土) 18:25:38何も起きない
↑
(未定義動作)
↓
プロセスが暴走してPC壊す
0690デフォルトの名無しさん
2007/02/24(土) 18:41:43全てのコンパイラが同じ動作にならなくてもいいとかそういう意味と
マジリアルに何が起きるかわかりませんよイヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒヒ
の区別はないのか
0691デフォルトの名無しさん
2007/02/24(土) 18:42:291) 何も起きない
2) プロセスが暴走してPC壊す
3) たまたま普通に動いた
4) エラー吐いて終了
自分の環境でたまたま3というのが最悪
0692デフォルトの名無しさん
2007/02/24(土) 18:44:310693デフォルトの名無しさん
2007/02/24(土) 18:49:37>全てのコンパイラが同じ動作にならなくてもいい
全てのコンパイラが同じ動作にならないかもよ
が適切じゃないかと
>>691
たしかにw>
0694デフォルトの名無しさん
2007/02/24(土) 19:19:44未定義動作から
2) プロセスが暴走してPC壊す
は省くべきだな。
破壊動作と書くべきだ。
0695デフォルトの名無しさん
2007/02/24(土) 19:34:11その理由を1レス以内で述べよ。
0696513
2007/02/24(土) 20:15:550697デフォルトの名無しさん
2007/02/24(土) 22:40:17「エキスパートCプログラミング」のP43のコラム読んでみな。
未定義動作が昔のモニタを発火させる可能性について
書いてあるから。
0698デフォルトの名無しさん
2007/02/24(土) 22:54:45ここ、宿題スレだったんだけど
0699デフォルトの名無しさん
2007/02/24(土) 22:55:47いまでも宿題スレだよ
0700デフォルトの名無しさん
2007/02/24(土) 22:56:51俺の能力ではキビシーな
0701デフォルトの名無しさん
2007/02/24(土) 23:11:240702デフォルトの名無しさん
2007/02/24(土) 23:11:41宿題が来ないんだから別に構わないって。
疎開ってると落ちるし。
0703デフォルトの名無しさん
2007/02/24(土) 23:17:43いまやってるけど、完成までやると日付変わりそうだから
途中だけど、一応うp。
重要単語まわりと最大最小頻度とかは未実装…つかHTML出力はめんどい
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3690.txt
0705デフォルトの名無しさん
2007/02/24(土) 23:21:24それプラプラ?
0707デフォルトの名無しさん
2007/02/24(土) 23:36:320708デフォルトの名無しさん
2007/02/24(土) 23:41:51問題見たけど面倒な機能を実装しなければいけないので俺には無理。
重複単語数数えてHTML作るだけで精一杯。
0710デフォルトの名無しさん
2007/02/24(土) 23:49:06たとえば出現率何%以上とかは?
0711513
2007/02/24(土) 23:51:110712デフォルトの名無しさん
2007/02/24(土) 23:51:23テーブル作るのめどいけど
0713デフォルトの名無しさん
2007/02/25(日) 01:11:100714703
2007/02/25(日) 02:27:58一応出来た。
なんか、計画性なしに書いてたら悲惨なソースになったような気がする。
重要単語は>>710-712を足して割って、一定長さかつ一定以上頻度の単語にしました。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3692.txt
0716デフォルトの名無しさん
2007/02/25(日) 02:58:50すまん
>>714にミスがあった… ↓修正済
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3694.txt
0717デフォルトの名無しさん
2007/02/25(日) 09:22:490718デフォルトの名無しさん
2007/02/25(日) 12:06:110719デフォルトの名無しさん
2007/02/25(日) 14:33:26多少はお金が欲しいもんだな
0720デフォルトの名無しさん
2007/02/25(日) 15:03:56こういう感じの曲面がつくりたくて
ttp://www.rupan.net/uploader/download/1172382882.jpg
自分でこんな感じのソースをつくってみたんですが
ttp://www.rupan.net/uploader/download/1172383142.txt
うまくコンパイラできなくて困っています
環境はWindows2000で、VisualC++を使用しています
自由曲面を製作する課題なので特に条件はありません
期限は今日明日中に提出しなければならない課題で、完成形の画像などを載せてくれると嬉しいです
コンパイルに必要と思われるヘッダファイル
ttp://www.rupan.net/uploader/download/1172382980.zip
0721デフォルトの名無しさん
2007/02/25(日) 15:25:580722デフォルトの名無しさん
2007/02/25(日) 16:21:06ライブラリが「はじめてのアルゴリズム入門」のグラフィックライブラリ…
0723デフォルトの名無しさん
2007/02/25(日) 18:05:23作ってみようと思ったんだけど
>単語数の確認はUNIX コマンドのwc を利用する.
これの意味がわからないんだけど
どういう意味かしら?
0724デフォルトの名無しさん
2007/02/25(日) 18:08:240725デフォルトの名無しさん
2007/02/25(日) 18:32:05[2] 問題文(含コード&リンク):
そのプログラムのソースコードを出力するプログラムを書け。
ただし、実行形式ファイルそれ自体で動作すること。
[3] 環境
[3.1] OS: (Windows/Linux/等々) 特になし
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gccかcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: 2007/03/05
[5] その他の制限:
C言語自体は多分大丈夫です。
追試も点が足りず、教授にお願いに行くと
このレポートができれば単位がくれるとのことでした。
本試も追試も体調不良だった私に救いの手をお願いします。
教授はこれができるならやってもいいよって感じだったので
かなり難しいと思います。私自身考えに考えたのですが
どうしてもうまくいきません。
どなたかお願いできないでしょうか。
0726デフォルトの名無しさん
2007/02/25(日) 18:33:25>このレポートができれば単位がくれる
それすら他人任せで単位を取ろうとするのはおかしい、ってここで言うのもおかしいが
無理だろ。その最後のチャンスの蜘蛛の糸も他人に引っ張ってもらうつもりかw
0727デフォルトの名無しさん
2007/02/25(日) 18:36:32> そのプログラムのソースコードを出力するプログラムを書け。
> ただし、実行形式ファイルそれ自体で動作すること。
意味がわからん。現在実行しているプログラムのソースコードを逆コンパイルして
ソースを推測しろってかぁ?
0728デフォルトの名無しさん
2007/02/25(日) 18:41:56教授、嫌がらせだろw
0729デフォルトの名無しさん
2007/02/25(日) 18:44:310730デフォルトの名無しさん
2007/02/25(日) 18:45:33試験がダメだった理由が体調不良ならここで聞かなくてもいいだろ。
0731デフォルトの名無しさん
2007/02/25(日) 18:47:050732デフォルトの名無しさん
2007/02/25(日) 18:51:08単位取るの無理だから諦めろってことだなw
0733デフォルトの名無しさん
2007/02/25(日) 18:53:060734デフォルトの名無しさん
2007/02/25(日) 18:54:57もはや宿題ってレベルじゃねーぞ・・・
今後の事も考えて自力でやった方がいいと思う
0735デフォルトの名無しさん
2007/02/25(日) 18:57:03あきらめろってことだな
教授もこんな遠回しな言い方しなくてもいいのに…
0736デフォルトの名無しさん
2007/02/25(日) 18:59:57単位なら来年度でも取れるからな
春休みを楽しみたまえ
0737デフォルトの名無しさん
2007/02/25(日) 19:00:20中間言語ならまだしも実行ファイルからソースを予測なんて無理
「単位はやらん」って言ってるようなもんだな
0738デフォルトの名無しさん
2007/02/25(日) 19:02:15教授酷いな、かぐや姫が貴族に出した試練みたいだ
0739デフォルトの名無しさん
2007/02/25(日) 19:02:170740デフォルトの名無しさん
2007/02/25(日) 19:02:29俺が書いた退屈な奴でも良いならどうぞ。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3696.c
0741デフォルトの名無しさん
2007/02/25(日) 19:04:340742デフォルトの名無しさん
2007/02/25(日) 19:05:20まぁ、がんばれ
0743デフォルトの名無しさん
2007/02/25(日) 19:05:46教授にやり方のアプローチの不安な部分を相談
出来ている部分を報告
色々やり方あると思うんだ。
出来た成果物だけで判断するような内容じゃないから、やる気や才能を見せればいいと思うよ。
コミュニケーションスキルも判断材料になるなら、合格あげてもいいと俺が教授なら思う
0744デフォルトの名無しさん
2007/02/25(日) 19:06:010745デフォルトの名無しさん
2007/02/25(日) 19:08:00int main(){
ほにゃらら
}
実行↓
#include<ほにゃらら>
int main(){
ほにゃらら
}
こういうことだろ?
0746デフォルトの名無しさん
2007/02/25(日) 19:08:20自身を解析するんじゃなくて、出力ファイル=ソースファイルになるプログラムを書けってこと
0747デフォルトの名無しさん
2007/02/25(日) 19:09:03すげー。できるもんなんだな
0748デフォルトの名無しさん
2007/02/25(日) 19:09:470749デフォルトの名無しさん
2007/02/25(日) 19:15:09main出力されてないからアウトだろ
0750デフォルトの名無しさん
2007/02/25(日) 19:17:02実行してみた?
0751デフォルトの名無しさん
2007/02/25(日) 19:18:290752725
2007/02/25(日) 19:26:12に答えが載っていましたが、おそらく説明などが求められそうです。
ただ、ソースが見つかったので、これを解析して
考えてみたいと思います。
やっぱり、単位はやらないって意味なんでしょうけど
もぎ取りたいと思います。(そうじゃないと留年か仮所属なので)
いろいろありがとうございました。
ぐぐるワードを教えていただけただけで幸せです。
0753725
2007/02/25(日) 19:27:19解析で断念しました、何これ・・・
こんなに難しいなんて。
0754デフォルトの名無しさん
2007/02/25(日) 19:31:160755デフォルトの名無しさん
2007/02/25(日) 19:31:32そんな鼻から脳みそ出そうなコードじゃなくて、もっと素直なの探せよ
0756デフォルトの名無しさん
2007/02/25(日) 19:33:11教授のコンパイラで走らなくてあぼんしそうな悪寒w
0757デフォルトの名無しさん
2007/02/25(日) 19:34:14この辺はどうじゃろか
一部IOCCCっぽいのも混ざってるけど気にするな
ttp://www.nyx.net/~gthompso/self_c.txt
0758デフォルトの名無しさん
2007/02/25(日) 19:34:10>>740のはHaskellのshowに当たるものを自分で書いているだけで、構造自体はHaskell版と変わらない。
http://www.nyx.net/~gthompso/self_c.txt
この辺から分かり易いのを探してみたらどうよ。
0761デフォルトの名無しさん
2007/02/25(日) 20:18:14なかなか面白いな。こんなの考える人いるんだな
関係ないけど>>758の日時のほうが早いのに>>757が先に表示されてる
こんなことあるんだな
0762デフォルトの名無しさん
2007/02/25(日) 20:54:01ただこの板の人数考えるとレアだな確かに
0763デフォルトの名無しさん
2007/02/25(日) 22:07:440764デフォルトの名無しさん
2007/02/25(日) 22:44:14なんか一種のパズルだろ…
0765デフォルトの名無しさん
2007/02/25(日) 22:47:26お前みたいな考えの甘い低レベルは留年・仮所属で十分。
周囲の足を引っ張るような馬鹿がいるだけで
真面目な同級生に迷惑がかかる。むしろ退学しろ。
0766デフォルトの名無しさん
2007/02/25(日) 22:48:180767デフォルトの名無しさん
2007/02/25(日) 22:57:170768デフォルトの名無しさん
2007/02/25(日) 23:42:150769デフォルトの名無しさん
2007/02/25(日) 23:44:40クワインは考え方さえ知っていれば大抵の言語でなんの工夫もなく書ける。
ので言語の理解度の確認には不向きだと思う。
0770デフォルトの名無しさん
2007/02/25(日) 23:46:080771デフォルトの名無しさん
2007/02/26(月) 01:15:04#defineって最強だな
0772デフォルトの名無しさん
2007/02/26(月) 05:39:11[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
以下に示すようなstudent構造体変数を宣言し、10人分のデータを格納する配列student構造体変数を宣言しなさい。
-----------------------------
typedef struct{
char number[16];
char name[64];
float height;
int tan_i;
char bikou[1024];
} student;
-----------------------------
次にあらかじめ用意されたファイル(student.dat)から10人分のデータを読み込み、キーによってソートし、ソートした結果を画面に表示する。
最後に、ソートした結果をファイル(sort_student.dat)に書き込むプログラムを作成しなさい。
ただし、student.datファイルのデータ形式は以下の通りに個人データがカンマで区切られているものとして、
各自がエディタを用いて作成すること。
キーは学籍番号の下二桁で考えて3で割ったあまりが0の学生は学籍番号、3で割ったあまりが1の学生は身長、
3で割ったあまりが2の学生は単位数をキーとして、ソートすること。
「student.dat」(左から 学籍番号,氏名,身長,単位数,備考)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3699.txt
[3] 環境
[3.1] OS: WindowsXP Home
[3.2] コンパイラ名とバージョン: Visual Studio.NET C++
[3.3] 言語: Cのみ
[4] 期限: 2007年2月28日まで
[5] その他の制限:
よろしくおねがいします。
0773デフォルトの名無しさん
2007/02/26(月) 10:26:550774デフォルトの名無しさん
2007/02/26(月) 19:11:01[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3702.txt
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3703.txt
[3] 環境
[3.1] OS: Linux(fedoracore2)
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日まで
よろしくお願いします
0775デフォルトの名無しさん
2007/02/26(月) 19:30:50仕様が曖昧すぎ
3702.txtの2なんかなんのプログラムを作ればいいかすらわからない
3702.txtの3で入力する値は何なのか?
3703.txtの3〜5の入力した数ってのは何なのか?
string.hは使ってもいいのか?
明日までってのは後4時間半しか無いのか?
0776デフォルトの名無しさん
2007/02/26(月) 21:30:19入力する値っていうのは、自分で適当に考えていいそうです。
3703の3〜5も同じだそうです。
string.hはまだ習ってないので使わない方がいいです。
期限は明日の夕方5時までです。
0777デフォルトの名無しさん
2007/02/26(月) 21:47:343702.txtの2は?日付が存在するかどうか確かめるプログラムを作ればいいの?
それともカレンダーの表示?
0778デフォルトの名無しさん
2007/02/26(月) 21:57:56すまん、どこの在日のための学校だ?教えてくれ。朝鮮と関係がないか調査さえていただきます。
要するに日本語でおkじゃなくて朝鮮語でにd?
0779デフォルトの名無しさん
2007/02/26(月) 22:09:01http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3704.txt
0780デフォルトの名無しさん
2007/02/26(月) 22:36:13http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3705.zip
>>776
>string.hはまだ習ってないので使わない方がいいです。
気にするなアル。
0781デフォルトの名無しさん
2007/02/26(月) 23:03:46[2] 問題文:キーボードからデータを5つ入力する。
次に入力するデータは、
何番目に入力したデータと一致するか表示するプログラム。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:わからないです。
[3.3] 言語: C
[4] 期限:明日
0782デフォルトの名無しさん
2007/02/26(月) 23:04:430783デフォルトの名無しさん
2007/02/26(月) 23:07:43おそらく、本文を読めば何をさせようとしてるかわかるんだろうけど、
これだけだと、曖昧すぎる。
0785デフォルトの名無しさん
2007/02/26(月) 23:17:340786デフォルトの名無しさん
2007/02/26(月) 23:18:39すいません、気付きませんでした…
ありがとうございます!
0787デフォルトの名無しさん
2007/02/26(月) 23:39:58こんなことして単位がくるのか?大学って。
行ったことないから分からんのだが、
プログラミングできれば大卒できるっていうなら
今から行ってやりたいものなんだが。(当方専門卒)
0788デフォルトの名無しさん
2007/02/26(月) 23:48:15その科目一つ分の単位だけなら来るんじゃね。
卒業所要単位数は無理だけど。
0789デフォルトの名無しさん
2007/02/26(月) 23:50:540790デフォルトの名無しさん
2007/02/26(月) 23:51:10日本の大学はまぁ入れたら普通は出れる。
入れるかどうかが問題なわけだが、ピンキリだ。
0791デフォルトの名無しさん
2007/02/26(月) 23:58:33まあ、そんなもんなんだろうな。
こういう輩が上に立って
努力してる自分たちが土方として働かされてる現実が
最近になって本気で悔しくなったことがあって
なんでコーディングできるほうが給料も安いのかと怒ってるからさ。
このスレ自体が堕落の原因じゃね?
そういいながら、暇な時には回答してやってるわけなんだが。
0792デフォルトの名無しさん
2007/02/27(火) 00:02:50学生時代に遊びほうけて後で苦労するか
学生時代に勉強して後で楽するかの違いじゃね
0793デフォルトの名無しさん
2007/02/27(火) 00:05:21仕事があるだけありがたいと思わんとな。
0794デフォルトの名無しさん
2007/02/27(火) 00:08:41(授業に一回も参加しないで)単位くれる先生もいたぞ
そういう先生に限って授業面白いからまじめに受けたが。
0795デフォルトの名無しさん
2007/02/27(火) 01:09:360796デフォルトの名無しさん
2007/02/27(火) 03:03:170797772
2007/02/27(火) 07:13:40ありがとうございます!
0798デフォルトの名無しさん
2007/02/27(火) 11:06:39[2] 問題文:関数atoiと同じ動きをするプログラムを2つ以上作成せよ
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン :Borland C++ 5.5.1
[3.3] 言語: C
[4] 期限:今日中
とりあえず一つは作ってみたんですが、もう一つが浮かびません・・・
お願いします。
#include <stdio.h>
#include <string.h>
int moge_atoi(char *str);
void main(){
char str[256];
int num;
printf("char型で読み込む :"); gets(str);
num = moge_atoi(str);
printf("int型に変換した :%d\n", num);
}
int moge_atoi(char *str){
int cnt,num=0;
//読み込んだ値が0〜9以外を見つけるまでloop
for (cnt = 0; (str[cnt] >= '0') && (str[cnt] <= '9') ; cnt++){
num = 10 * num + (str[cnt] - '0');
}
return num;
}
0799デフォルトの名無しさん
2007/02/27(火) 11:13:08atoiでググったページに同じソースが出てきたんだが。
本当に作ったのか?
0800デフォルトの名無しさん
2007/02/27(火) 11:21:12#include <stdio.h>
#include <string.h>
void main(){
char str[256];
int num;
printf("char:");
scanf("%s",str);
sscanf(str,"%d",&num);
printf("int:%d\n", num);
}
0801デフォルトの名無しさん
2007/02/27(火) 11:24:35どうみてもコピーにしか見えないが。
0803デフォルトの名無しさん
2007/02/27(火) 13:42:19負数は?
0805デフォルトの名無しさん
2007/02/27(火) 14:02:05こうかな。
int atoi1(const char *n)
{
return strtol(n, NULL, 10);
}
int atoi2(const char *n)
{
int r = 0;
sscanf(n, "%d", &r);
return r;
}
0807798
2007/02/27(火) 14:23:59質問なんですが、atoiでは
int atoi1(const char *n)
{
return strtol(n, NULL, 10);
}
と記述するのはわかったのですが、
逆(itoa)などになった場合にはどう記述すればいいのでしょうか?
0808デフォルトの名無しさん
2007/02/27(火) 14:36:54atoiとstrtolはエラーの扱いが違う
0809808
2007/02/27(火) 14:41:47itoaは標準関数じゃないよspritfを使うよ
0811デフォルトの名無しさん
2007/02/27(火) 14:58:070812798
2007/02/27(火) 15:18:36すいません。意味がわかってなかったでした。
printf("int型で読み込む :");scanf("%d",&num);
sprintf(str,"%d", num);
printf("文字列に変換した :%s\n",str);
これで大丈夫でした。ありがとうございます。
また質問で申し訳ないんですが、
sprintf以外でitoaを実現したい場合にはどうすればいいのでしょうか?
0813デフォルトの名無しさん
2007/02/27(火) 15:31:16itoa(num, str, 10); // 10進表記
しかしなぜそこまでitoaにこだわるのか
0814798
2007/02/27(火) 15:44:43sprintf自体の動きはわかったのですが、itoa自体の
構造がよくわかっていなくて、sprintf以外で
作るならばどう記述すればいいのかと思っただけです
0815デフォルトの名無しさん
2007/02/27(火) 15:59:53整数を1桁ずつ取り出して、
文字にしたものをstrに入れていけばいいんじゃないかな
0816798
2007/02/27(火) 16:14:39なるほど。確かにそれならできそうな気がします。
けどint型を分解する方法がよくわからないのですが、
参照できるのは1つの塊のint型なのにどうやって分解
すればいいのでしょうか??
0817デフォルトの名無しさん
2007/02/27(火) 16:17:520818デフォルトの名無しさん
2007/02/27(火) 16:20:51%10 の解を バッファに書き 数を10で割る。
これを数が 0 になるまで繰り返して
最後にバッファをひっくり返す。
はじめから逆方向に書き出すバッファにしてもいいと思います
0819デフォルトの名無しさん
2007/02/27(火) 16:42:06void my_itoa(int num, char* str) {
int i;
for (i = 0; num != 0; i++) {
str[i] = '0' + (num % 10);
num /= 10;
}
str[i] = '\0';
str = strrev(str);
}
0820デフォルトの名無しさん
2007/02/27(火) 17:06:58そもそも宿題なのか?
0822デフォルトの名無しさん
2007/02/27(火) 17:26:22strrevも標準ではない
0823デフォルトの名無しさん
2007/02/27(火) 17:28:03これが課題だとしたら、負数も考慮しなきゃいけないんじゃ?
どうなの?>>798
0825819
2007/02/27(火) 18:36:17お騒がせして申し訳ありません。
>>824
これで解決すると思います。
void my_itoa(int num, char* str) {
int digit, index = 0;
if (num < 0) { str[index++] = '-'; num *= -1; }
for (digit = 1; (num / (int)pow(10, digit)) != 0; digit++);
for (; digit > 0; digit--) {
str[index++] = '0' + (num / (int)pow(10, digit - 1));
num %= (int)pow(10, digit - 1);
}
str[index] = '\0';
}
0826デフォルトの名無しさん
2007/02/27(火) 19:17:24char *itoa_i( int value,char *buffer )
{
char *rtn;
if(value == 0) return buffer;
rtn = itoa_i(value/10,buffer);
*rtn = value % 10 + '0';
return ++rtn;
}
char *my_itoa(int value,char *buffer){
if(value < 0){
*buffer++ = '-';
value = -value;
}
if(buffer == itoa_i(value,buffer) ) *buffer++ = '0';
*buffer = '\0';
return buffer;
}
オーバーヘッド増えて遅くなるし、関数二つに増えるしいいことなし?
0827デフォルトの名無しさん
2007/02/27(火) 19:39:35#include<string.h>
void my_itoa(int value,char *buffer)
{
char *start_point;
int size;
if(value < 0){
*buffer++ = '-';
value = -value;
}
start_point = buffer;
buffer += 5;
if(value == 0){
*--buffer = value % 10 + '0';
value /= 10;
}
size = 5 - (buffer - start_point);
if(size == 0){
*start_point++ = '0'
*start_point = '\0'
} else {
memmove(buffer,start_point,size);
*(start_point + size) = '\0';
}
}
0828デフォルトの名無しさん
2007/02/27(火) 19:54:51char *p = s, c;
if(n < 0) n = -n, *p++ = '-', ++s;
do *p++ = '0' + (n % 10); while(n /= 10);
*p-- = '\0';
do c = *s, *s = *p, *p = c; while(++s < --p);
}
こんなんでよくね?
0829デフォルトの名無しさん
2007/02/27(火) 20:16:30まぁこの手のミスはありがちだから別にいいんだけど
char buf[32];
my_itoa(1<<31,buf);
printf("%s\n",buf);
とすると面白い表示になる件。
0830デフォルトの名無しさん
2007/02/27(火) 20:16:470831デフォルトの名無しさん
2007/02/27(火) 20:17:39細かいことかもしれないが n = 0 で呼び出すと
0 って出ないじゃないかな?
0832デフォルトの名無しさん
2007/02/27(火) 20:20:23それは大丈夫じゃないか?
0833デフォルトの名無しさん
2007/02/27(火) 20:25:55do while 文だから問題なかった…。
自分の勘違い すいません。
0834デフォルトの名無しさん
2007/02/27(火) 20:35:05if(n < 0) *p++ = '-', ++s;
do *p++ = '0' - (n < 0 ? n % 10 : -n % 10); while(n /= 10);
だな
0835デフォルトの名無しさん
2007/02/27(火) 20:50:06if(n < 0) n = -n, *p++ = '-', ++s;
のとこで n は絶対値かされてますから
指摘部分では n>=0 になってます。
0836デフォルトの名無しさん
2007/02/27(火) 20:53:28あのなーおまえ。
視力大丈夫?
0837デフォルトの名無しさん
2007/02/27(火) 20:56:09その考えは間違い。
if(n<0)n=-n;
と書いたからと言ってn>=0は保障されない。
既に>>829で指摘されている。
0838デフォルトの名無しさん
2007/02/27(火) 20:59:17いや、こうしたほうがいいと思うよ。
do *p++ = '0' + (n < 0 ? -(n % 10) : n % 10); while(n /= 10);
0839デフォルトの名無しさん
2007/02/27(火) 20:59:19ごめん、相当悪い
書き込んでから気づいた…自分は馬鹿だ
でも自分は 828 のように 先に絶対値化したほうが
分岐が減るのでいいと思います。
0840デフォルトの名無しさん
2007/02/27(火) 21:00:39ifは元のままで
do *p++ = '0' + (n % 10u); while(n /= 10u);
0841デフォルトの名無しさん
2007/02/27(火) 21:01:40おまえ理解力なさ杉
0842デフォルトの名無しさん
2007/02/27(火) 21:04:28俺の環境だとn=0..9のときしか正しい結果になりませんですた
0843デフォルトの名無しさん
2007/02/27(火) 21:06:24もしBCCならコンパイラのバグだと思うけどもしかしてBCC?
違ってたら俺のミスと思うけど。
0844デフォルトの名無しさん
2007/02/27(火) 21:08:450845デフォルトの名無しさん
2007/02/27(火) 21:11:29エーまじかよ。自分のとこのgcc 3.4.4だとうまく動いてるんだよなー
念のために聞くけどこういうコードだよね?
void my_itoa(int n, char *s) {
char *p = s, c;
if(n < 0) n = -n, *p++ = '-', ++s;
do *p++ = '0' + (n % 10u); while(n /= 10u);
*p-- = '\0';
do c = *s, *s = *p, *p = c; while(++s < --p);
}
0846デフォルトの名無しさん
2007/02/27(火) 21:18:00いつの間にかmy_が落ちてて標準関数使ってた…orz
0847デフォルトの名無しさん
2007/02/27(火) 21:23:42BCCをバカにしないでください
ちゃんと動きましたよ
0848デフォルトの名無しさん
2007/02/27(火) 21:32:28unsignedの変数を宣言して使ったほうがいいと思う
0849デフォルトの名無しさん
2007/02/27(火) 21:36:26すまん、以前に符号無し整数のBCCのバグを踏んだ事があって神経質になりすぎた。
過敏すぎた。悪かった。
0850デフォルトの名無しさん
2007/02/27(火) 21:40:240851デフォルトの名無しさん
2007/02/27(火) 21:50:230852デフォルトの名無しさん
2007/02/27(火) 21:51:400853デフォルトの名無しさん
2007/02/27(火) 21:53:450854デフォルトの名無しさん
2007/02/27(火) 22:24:0108551 << (8*sizeof(int)-1)
2007/02/28(水) 04:20:590856デフォルトの名無しさん
2007/02/28(水) 04:35:140857デフォルトの名無しさん
2007/02/28(水) 04:38:040858デフォルトの名無しさん
2007/02/28(水) 06:19:44っ long long
0859デフォルトの名無しさん
2007/02/28(水) 07:32:340860798
2007/02/28(水) 15:46:57返事が遅くなってすいません。ありがとうございました。
itoaの方は無事に完成しました。
また質問で申し訳ないんですが、そもそもの宿題
(atoi関数を自作する)の話に戻るのですが、char型で
入力された物を変換する時に、16進数で入力した場合に、
(例えばBAと入力したら186を返す)変更するのであれば
現状からどう変更すればいいのでしょうか?
int myatoi(char *str){
int cnt,num=0;
for (cnt = 0; (str[cnt] >= '0') && (str[cnt] <= '9') ; cnt++){
num = num * 10 + (str[cnt] - '0');
}
return num;
}
0861デフォルトの名無しさん
2007/02/28(水) 16:13:05あ と い なんて思っていた時期が懐かしい。
0862デフォルトの名無しさん
2007/02/28(水) 16:23:37int myatoi(char *str){
int cnt,num=0;
for (cnt = 0; ; cnt++){
if((str[cnt] >= '0') && (str[cnt] <= '9'))
num = num * 0x10 + (str[cnt] - '0');
else if((str[cnt] >= 'A') && (str[cnt] <= 'F'))
num = num * 0x10 + (str[cnt] - 'A') + 0xA;
else
break;
}
return num;
}
こんな感じに改造するのが一番楽だと思う
0864デフォルトの名無しさん
2007/02/28(水) 16:50:290865デフォルトの名無しさん
2007/02/28(水) 16:53:310866デフォルトの名無しさん
2007/02/28(水) 16:54:220867デフォルトの名無しさん
2007/02/28(水) 21:24:440868デフォルトの名無しさん
2007/02/28(水) 22:38:240869デフォルトの名無しさん
2007/02/28(水) 23:31:29手間掛けさせんなつってんだよ!ってファビョってみるテスト
0870デフォルトの名無しさん
2007/02/28(水) 23:48:170871デフォルトの名無しさん
2007/02/28(水) 23:52:27if(x<0) { printf("負なのでそのまま表示: %d",x); return 0; }
printf("正なので%dを2倍する: ",x); x*=2;
0872デフォルトの名無しさん
2007/02/28(水) 23:56:14動作確認してないが
1バイトだけなら
unsigned char data = 5;
printf("%02x",data);
こんな感じじゃね。
質問が情報不足です。
0873デフォルトの名無しさん
2007/03/01(木) 00:01:01宿題なら>>1のテンプレに従って書け
そして先生に出された全文を書け
0874デフォルトの名無しさん
2007/03/01(木) 09:09:200875デフォルトの名無しさん
2007/03/01(木) 09:12:160876デフォルトの名無しさん
2007/03/01(木) 09:36:38>>1も読めないおこちゃまは解く必要無いと思うよ
0877デフォルトの名無しさん
2007/03/01(木) 15:16:39[2] 問題文(含コード&リンク):
2分探索木に関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3720.zip
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0878デフォルトの名無しさん
2007/03/01(木) 16:21:35else if (cond < 0)
SrchNode(p->left,w,i+1);
else
SrchNode(p->right,w,i+1);
0879デフォルトの名無しさん
2007/03/01(木) 16:42:18ありがとうございました
0880デフォルトの名無しさん
2007/03/02(金) 14:43:38って今、新学期を迎えるまで休業中か、ちっ。
0881デフォルトの名無しさん
2007/03/02(金) 15:42:000882デフォルトの名無しさん
2007/03/02(金) 16:49:02[2] 問題文(含コード&リンク):
ハッシュ関数に関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3722.zip
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0883デフォルトの名無しさん
2007/03/02(金) 17:11:44[2] 問題文(含コード&リンク):
標準入力から文字列を入力、入力された文字列が整数かどうか判別し、
整数(0〜9)以外なら再入力を促すように、整数の場合、文字列を逆から表示せ
よ。
[3] 環境
[3.1] OS: Windows xp sp2
[3.2] コンパイラ名とバージョン: Borland C
[3.3] 言語: C
[4] 期限: 07年3月9日
C習い始めて早くも挫折しそうです。。。
何卒よろしくお願いします。
0884デフォルトの名無しさん
2007/03/02(金) 17:27:18#include <stdio.h>
#include <string.h>
int main()
{
char buff[0x1000];
char *p;
size_t len;
int i;
while (fgets(buff, sizeof buff, stdin)) {
if (p = strchr(buff, '\n'))
*p = 0;
if (!*buff) continue;
if ((len = strlen(buff)) != strspn(buff, "0123456789")) {
printf("Please input again\n");
continue;
}
for (i = len - 1; i >= 0; --i)
putchar(buff[i]);
putchar('\n');
}
return 0;
}
0885デフォルトの名無しさん
2007/03/02(金) 17:57:12http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3723.txt
しかし、元 hash() 関数が、、、、、
文字数が 2未満の時、鼻から悪魔参照してるぞ。
負の数返すことないか?(未確認)
0886デフォルトの名無しさん
2007/03/02(金) 20:16:09ありがとうございます。
かなりヒントいただけました。なんとか完成しそうです。お世話になりました
0887デフォルトの名無しさん
2007/03/02(金) 21:37:32最大11桁というあたり
これは結構難しい問題だね
0888デフォルトの名無しさん
2007/03/02(金) 21:56:50[2] 問題文(含コード&リンク):下記に記入
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: MSVC
[3.3] 言語: C++
[4] 期限: なるべくはやく
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ttp://www.math.ucla.edu/~yanovsky/Teaching/Math157/hw8_9/graphics8.jpg
これを、MFCとOpenGLでつくななければならないのですが、
Libraryは、ここにあります。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3725.zip
よろしくお願いします。
0889デフォルトの名無しさん
2007/03/02(金) 22:17:041日とか1週間とか1ヶ月とか
0890デフォルトの名無しさん
2007/03/02(金) 22:19:470891デフォルトの名無しさん
2007/03/02(金) 22:19:55ありがとうございます。
できれば、明日の朝までに・・・。
セットアップは、これです。
ttp://www.math.ucla.edu/~yanovsky/Teaching/Math157/hw8_9/hw8_includes.jpg
これが出来そうな人、お願いします。
お礼が必要ならします。
お願いします。
0892デフォルトの名無しさん
2007/03/02(金) 22:22:30漏れには無理ぽ
0893888,891
2007/03/02(金) 22:24:04ttp://www.math.ucla.edu/~anderson/157.1.07w/PowerPointSlides/GraphicsAndDynamicLayout.pdf
0894デフォルトの名無しさん
2007/03/02(金) 22:27:47FF は 255? -15?
0895888,891
2007/03/02(金) 22:34:14多少の遅れは大丈夫なのですが・・・。
アドバイスだけでもお願いします。
前回のプロジェクトは、これで、MFCのみを使ったのですが、
これを改良するやり方ではなくて、
OPENGLを使うということは、Windowを作るのに、OPENGLga必要ということでしょうか。
OPENGLの部分が、いまいち把握できていないのですが。。。
前回のプロジェクト
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3726.zip
0896888,891
2007/03/02(金) 22:39:26ttp://www.math.ucla.edu/~yanovsky/Teaching/Math157/hw8_9/graphics8.jpg
Windowsを作るのに、どうOPENGLが必要か、わかりません。
中のグラフの出し方は分かります。自分でできます。
Inputボックスから読み取って、グラフを出すのは、自分でできます。
外枠が、ちょっといまいち分からないのですが。。。
0897デフォルトの名無しさん
2007/03/02(金) 23:22:44自分で大体出来るようだから、Web上でWindows上でのOpenGLに関する情報を
検索してみると良いのではないかな。
OpenGLに関するサンプル自体は沢山見つかると思うが、Windowsで使う場合、
wglCreateContext(), wglMakeCurrent(),..等のwgl〜関数
(Windows用の、Microsoft独自のOpenGL拡張)を使うことになるので、
そういったキーワードで検索する。
グラフを表示している部分だが、枠で囲まれている部分は素直に
子Windowにして、そこにOpenGLで描画すると良い。
ウィンドウスタイルに、WS_BORDERを指定するとあのサンプルのように
枠が描かれるはずだ。
0898888,891
2007/03/02(金) 23:36:16ありがとうございます。
前回やったプロジェクトでも、グラフの表示はやった(windowsのサイズの変更はなし)のですが、
そのとき、plot.hクラスと教授が与えてくれたを使っただけで、OPENGLは使わなかったのですが・・・。
Windowのサイズを変えるとき、中のグラフの大きさも変えなければなりません。
でも、グラフの外のスペースの比率は、変えないで、中のグラフのサイズだけ変わります。
そこに、OPENGLを使うということでしょうか。。。
0899デフォルトの名無しさん
2007/03/02(金) 23:48:04親ウィンドウのサイズが変わったときには、OpenGL描画用の子ウィンドウ
のサイズも変えてやる。(MoveWindow()を使う)
OpenGL描画用の子ウィンドウのWM_SIZEハンドラでは、glViewPort()を
用いてウィンドウの描画領域(クライアントエリア)のサイズを
再指定してやる。
描画自体はWM_PAINTハンドラで行うが、OpenGLの描画においては、
ウィンドウのサイズを気にする必要はない。-1.0〜1.0の範囲の
相対的な座標系になっているので、ここでは何も考えなくて良い。
0900デフォルトの名無しさん
2007/03/03(土) 00:16:58作ったよ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3727.txt
たぶんsprintfを使っちゃ駄目って先生は言いそうだけどな。
VC8で造ったから一部余計なのがある。
あ!OXつけてなかった。
逆に正の場合にFで始まるときは0を付けてみた。
テストしていない値について正しく動くかどうか知りません。
32ビットのintじゃ11なんて無理なもんでa1,a2に分けたよ。
__int64使っていいなら簡単になるな。
0901デフォルトの名無しさん
2007/03/03(土) 12:03:57[2] 問題文(含コード&リンク):
実数xと整数nを受け取り、ベキ乗(xのn乗)を計算して返す関数を作成せよ。ただし、main関数では適当なデータをキー入力し、
関数を呼び出した後は、ベキ乗の値を出力せよ。ここでは、nが負の値である場合も考慮すること。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: VC++ 6.0
[3.3] 言語: C++
[4] 期限: 3月6日12時
よろしくお願いします。
0902デフォルトの名無しさん
2007/03/03(土) 12:33:48#include<cmath>
#include<iostream>
double mypow(double x,int n){
return ::std::pow(x,static_cast<double>(n));
}
int main(){
double x;
int n;
std::cin >> x >> n;
std::cout << mypow(x,n) << std::endl;
}
0903デフォルトの名無しさん
2007/03/03(土) 12:34:570904デフォルトの名無しさん
2007/03/03(土) 12:42:35いや、普通に pow 使ってんじゃんw
0905デフォルトの名無しさん
2007/03/03(土) 13:09:530906デフォルトの名無しさん
2007/03/03(土) 13:15:10#include<iostream>
using namespace std;
double mypow(double x,int n) {
int i,pw=1;
for(i=0; i<n; i++) pw*=x;
return pw;}
void main(void) {
double x; int n;
cout << "べき乗するプログラム\n";
cout << "基数を入力して下さい。 > "; cin >> x;
cout << "指数を入力して下さい。 > "; cin >> n;
cout << x << "^" << n << " = "<< mypow(x,n) << std::endl; }
0907デフォルトの名無しさん
2007/03/03(土) 13:22:48負数への対策がない件について
0908デフォルトの名無しさん
2007/03/03(土) 13:23:220909デフォルトの名無しさん
2007/03/03(土) 13:29:00フフフフ負
0910デフォルトの名無しさん
2007/03/03(土) 13:32:38それとも小数で表示?にしてもまんどくせっ。pow関数使っちまえw
0911デフォルトの名無しさん
2007/03/03(土) 13:37:27#include<iostream>
using namespace std;
double mypow(double x,int n) {
int i;
double pw=1.0;
for(i=0; i<abs(n); i++) pw*=x;
if(n<0) pw=1.0/pw;
return pw;}
void main(void) {
double x; int n;
cout << "べき乗するプログラム\n";
cout << "基数を入力して下さい。 > "; cin >> x;
cout << "指数を入力して下さい。 > "; cin >> n;
cout << x << "^" << n << " = "<< mypow(x,n) << endl; }
0912デフォルトの名無しさん
2007/03/03(土) 13:43:15が正しく計算できない件について
0913デフォルトの名無しさん
2007/03/03(土) 13:43:470914デフォルトの名無しさん
2007/03/03(土) 13:47:02以下のエラーメッセージが出たぞな。大きい値は勘弁してくれよぉ〜w
pow: OVERFLOW error
+INF
0915デフォルトの名無しさん
2007/03/03(土) 13:48:04double mypow(double x,unsigned int n,double r){
if(n == 0)return r;
if(n % 2)return mypow(x*x,n/2,r*x);
return mypow(x*x,n/2,r);
}
double mypow(double x,int n) {
return n<0?mypow(1/x,-n,1):mypow(x,n,1);
}
0916デフォルトの名無しさん
2007/03/03(土) 13:50:32無駄な引数(・A・)イクナイ
0917デフォルトの名無しさん
2007/03/03(土) 13:53:50いや、あんとのプログラムだと
0^-2147483648 = 1 とかありえない結果が返ってくるから明確に間違い。
まぁこの手のミスはありがちだから別にいいんだけど
0918デフォルトの名無しさん
2007/03/03(土) 13:56:53末尾再帰だから問題なし。
0919デフォルトの名無しさん
2007/03/03(土) 13:58:360なんて最初っから無視すりゃええがなw
0920デフォルトの名無しさん
2007/03/03(土) 14:07:090.53 ^-2147483648 = 1
とかありえんの出るし。
それだけ無視するってので対処は出来んが。
0921デフォルトの名無しさん
2007/03/03(土) 14:08:02#include<iostream>
using namespace std;
double mypow(double x,int n) {
int i; double pw=1.0;
if(x==0.0) return 0.0;
for(i=0; i<abs(n); i++) pw*=x;
if(n<0) pw=1.0/pw; return pw;}
int main(void) {
double x; int n;
cout << "べき乗するプログラム\n";
cout << "基数を入力して下さい。 > "; cin >> x;
cout << "指数を入力して下さい。 > "; cin >> n;
cout << x << "^" << n << " = "<< mypow(x,n) << endl; return 0;}
0922デフォルトの名無しさん
2007/03/03(土) 15:15:52>あ〜〜はいはい、ちうか、まんどくせっ。今日はカノージョとデートがあるから、ではっ ノシ
小学生みたいな書き方で思わず吹いた
0923低学歴で彼女がいなくて妬む厨房の発言
2007/03/03(土) 15:25:50>>921
>あ〜〜はいはい、ちうか、まんどくせっ。今日はカノージョとデートがあるから、ではっ ノシ
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
小学生みたいな書き方で思わず吹いた
0924デフォルトの名無しさん
2007/03/03(土) 16:45:490925デフォルトの名無しさん
2007/03/03(土) 16:46:28低学歴必死だなwwwww
0926デフォルトの名無しさん
2007/03/03(土) 16:47:02お前、彼女もできない顔がブーな奴か?wwwwww
0927デフォルトの名無しさん
2007/03/03(土) 16:50:060928デフォルトの名無しさん
2007/03/03(土) 16:50:34彼女のいないキモヲタデヴピッツァ必死だなw
0929デフォルトの名無しさん
2007/03/03(土) 16:51:25彼女いない奴叩くのが夢だったんですぅー
0930デフォルトの名無しさん
2007/03/03(土) 16:52:17ひどいよ〜〜〜〜〜ん
0931デフォルトの名無しさん
2007/03/03(土) 16:52:200932デフォルトの名無しさん
2007/03/03(土) 17:38:19放置しとけばいいのに
0933デフォルトの名無しさん
2007/03/04(日) 00:10:00リアル低学歴メガネピッツァ or ガリメガネ君。
0934デフォルトの名無しさん
2007/03/04(日) 00:23:250935デフォルトの名無しさん
2007/03/04(日) 00:25:05のあなた。いつかきっと、運命の出会いがあると思うよ。だから、あきらめずに毎日努力してイキロ。
0936デフォルトの名無しさん
2007/03/04(日) 00:51:140937デフォルトの名無しさん
2007/03/04(日) 00:51:580938デフォルトの名無しさん
2007/03/04(日) 01:12:250939デフォルトの名無しさん
2007/03/04(日) 02:45:16[2] 問題文(含コード&リンク): 西暦で入力した年月のカレンダーを表示せよ。
例:年を入力 > 2007
月を入力 > 3
2007/3
日 月 火 水 木 金 土
1 2 3
以下最後まで日付を表示
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: C言語
[4] 期限: 彼女いない歴:生まれて今日まで(現在進行中)の俺に彼女が出来るまで
[5] その他の制限:
ソースはうpろだを使って示すこと。
扱う値の型はすべてint型とする。日数の表示の書式には %2d を用いて整えること。
ありえない年(0以下)、月(1〜12以外)が入力されたら return 1 にてプログラムを終了させること。
以下の条件を満たす関数を独自で定義して、適当に用いること。
・与えられた年をもとに閏年か否かを判別して、閏年なら1、そうでないなら0を返す関数
この関数を用いて、2月の日数を制御すること。
・与えられた年、月をもとに、西暦1年1月1日からその年、月の1日までの合計日数を返す関数。
合計日数を7で割った余り0〜6がそれぞれ日〜土曜日に該当する。
例えば、2007年3月1日までの合計日数は 732736 で、これを割った余りは4になり、
1日が木曜日だとわかるので、それをもとに入力された年、月の1日が何曜日から
始まるかが求められるようにする。
さぁ、やってみたまえ、これが私が与えるエサだ。食いついても美味くないけどなw
0940デフォルトの名無しさん
2007/03/04(日) 02:46:350941デフォルトの名無しさん
2007/03/04(日) 04:07:57だとしたら西暦1年なんてナンセンスなんだが、出題者の意図は?
0942デフォルトの名無しさん
2007/03/04(日) 04:12:01西暦1年1月1日が月曜日、そこからずっと今まで曜日は狂わずに続いている。わかるね?
ナンセンスなんてなんで思ったか知らんが、合計日数から曜日が算出できるからだよ。
0943デフォルトの名無しさん
2007/03/04(日) 04:14:10本当にそう思っているのか…
出題適当だね。
0944デフォルトの名無しさん
2007/03/04(日) 04:18:38おやおや、自分がその課題を解けないからといって八つ当たりですか?w
キモヲタデヴピッツアのくせしてその程度の課題も解けない、もはや生きる価値なし。
どうぞ彼女が出来るまで必死こいてコンパにでも足を運んでください。
くれぐれもヤリマンには注意してくださいね、ヒッヒッヒッ・・・
【芸能】 “援交、堕胎、AV女優…波乱の人生” 飯島愛、体調不良で芸能界引退へ★3
http://news22.2ch.net/test/read.cgi/newsplus/1172924691/
0945デフォルトの名無しさん
2007/03/04(日) 04:25:07(ノ∀`) アチャー
0946デフォルトの名無しさん
2007/03/04(日) 04:27:22まぁ釣りだからどうでもいいだろ。
0947デフォルトの名無しさん
2007/03/04(日) 04:27:46知ったか乙w
0948デフォルトの名無しさん
2007/03/04(日) 04:30:11確かにマズい餌だ罠
0949デフォルトの名無しさん
2007/03/04(日) 04:31:11使われるわけだし、ごちゃごちゃぬかしてね〜でこれくらいサラッと解いてみろや?
メガネデヴヲタピッツァがw こんなものも解けねーで彼女を作ろうなんて、考えが甘いんだよ!
収入もねぇくせに結婚しようと思っているくらい甘いぜwwww
0950デフォルトの名無しさん
2007/03/04(日) 04:36:32だったら有効になる範囲で使えるカレンダーを作れば良いんじゃね?
実際問題、歴史を見ると、確かに>>939の条件で作られるカレンダーは1583年10月15日より前のものを
算出して出てきたものが使われていなかったという事実はあるが、過ぎ去ったことはどうでも良いんだよ。
法則、規則性を使った課題だと思えば。
http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6
>新しい暦は1582年2月24日に発布され、同年10月4日(木曜)の翌日を10月15日(金曜)とすることが決定した。
それ以前のユリウス暦を使っていた社会はあっただろうけど、今後その暦に従った社会はないから安心しろ、な?
0951デフォルトの名無しさん
2007/03/04(日) 04:37:220952デフォルトの名無しさん
2007/03/04(日) 04:41:26問題に誤りがあるなら修正したらー?
0953んじゃ変更、さぁ解いてみたまえ
2007/03/04(日) 04:44:55[2] 問題文(含コード&リンク): 西暦で入力した年月のカレンダーを表示せよ。
例:年を入力 > 2007
月を入力 > 3
2007/3
日 月 火 水 木 金 土
1 2 3
以下最後まで日付を表示
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: C言語
[4] 期限: 彼女いない歴:生まれて今日まで(現在進行中)の俺に彼女が出来るまで
[5] その他の制限:
ソースはうpろだを使って示すこと。
グレゴリオ暦を有効とするため、1582年11月以降のみ有効とし、それ以前の年月を入力したら無効とせよ。
ありえない年(0以下)、月(1〜12以外)が入力されたら return 1 にてプログラムを終了させること。
扱う値の型はすべてint型とする。日数の表示の書式には %2d を用いて整えること。
以下の条件を満たす関数を独自で定義して、適当に用いること。
・与えられた年をもとに閏年か否かを判別して、閏年なら1、そうでないなら0を返す関数
この関数を用いて、2月の日数を制御すること。
・与えられた年、月をもとに、西暦1年1月1日からその年、月の1日までの合計日数を返す関数。
合計日数を7で割った余り0〜6がそれぞれ日〜土曜日に該当する。
例えば、2007年3月1日までの合計日数は 732736 で、これを割った余りは4になり、
1日が木曜日だとわかるので、それをもとに入力された年、月の1日が何曜日から
始まるかが求められるようにする。
0954デフォルトの名無しさん
2007/03/04(日) 04:47:14あれ?ゆとり世代はお前じゃね?ああ、なんだ時代遅れのオッサンかw
オッサンなのに童貞、彼女いない歴生まれて(ryなんて恥ずかしいねw
そんな細かいことを言っているから日頃からモテないんだよw
っつかこれ、釣り の課題だってこと忘れてないか?お前が必死こいて
そういう突っ込みを入れることも想定して作ったのだが、見事に釣れた。
そう、>>938が言ったようにエサを与えたんだが・・・釣れてくれたのは良いんだけど
お前みたいな腐った魚は鯛にもならんのでリリースするよ。頼むからもう釣れないでくれ?
エサがもったいねぇんだよw
0955デフォルトの名無しさん
2007/03/04(日) 04:57:40はい、予想に漏れず不味いエサでしたよ、ゆとりちゃん(^д^)
コンプ丸出しw
0956デフォルトの名無しさん
2007/03/04(日) 04:58:45曜日に適用できる部分はなんら問題ないんだけどね。しっかし、雑魚しか釣れないねぇ。
ズバッと答える大物が釣れなきゃつまんねぇ〜よなぁw
0957デフォルトの名無しさん
2007/03/04(日) 05:03:25釣り宣言が哀れすぎる
0958デフォルトの名無しさん
2007/03/04(日) 05:04:25ほれ、gdgd言ってねーでとっとと答えろよぉ〜〜wwwww
今日にでも俺に彼女が出来たらタイムアウトだ。釣りは俺の勝ちってことでw
0959デフォルトの名無しさん
2007/03/04(日) 05:06:550960デフォルトの名無しさん
2007/03/04(日) 05:12:51それもまたあはれよのう…
0961デフォルトの名無しさん
2007/03/04(日) 05:20:12釣られたことに気づいて顔真っ赤だよ、あんた?w
解けなくて悔しくてたまらない姿も目に浮かぶぜwwwwww
0962デフォルトの名無しさん
2007/03/04(日) 05:23:040963デフォルトの名無しさん
2007/03/04(日) 05:23:080964デフォルトの名無しさん
2007/03/04(日) 05:36:24>>953
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3730.txt
0965デフォルトの名無しさん
2007/03/04(日) 05:38:010966964
2007/03/04(日) 05:41:390967デフォルトの名無しさん
2007/03/04(日) 06:11:230968デフォルトの名無しさん
2007/03/04(日) 06:44:23[2] 問題文(含コード&リンク): 西暦で入力した年月のカレンダーを表示する。
例:
年を入力 > 2007
月を入力 > 3
2007/3
日 月 火 水 木 金 土
1 2 3(以下略
[3] 環境
[3.1] OS: 特に問いません(回答者の環境で
[3.2] コンパイラ名とバージョン: 同上
[3.3] 言語: C言語
[4] 期限: 無し(暇じゃなくなるまでw)
[5] その他の制限:
※ソースはうpろだ推奨です。
・以下の条件を満たす関数を独自で定義して、適当に用いる。
1, 与えられた年をもとに閏年か否かを判別して、閏年なら1、そうでないなら0を返す関数
この関数を用いて、2月の日数を制御すること。
2, 与えられた年・月をもとに、西暦1年1月1日からその年、月の1日までの合計日数を返す関数。
合計日数を7で割った余り0〜6がそれぞれ日〜土曜日に該当する。
例えば、2007年3月1日までの合計日数は 732736 で、これを割った余りは4 → 1日は木曜日となる
それをもとに入力された年・月の1日が何曜日から始まるかが求められるようにする。
・とりあえず閏年判定が妥当であるかの確認の為、『西暦1年1月1日』が存在し 月曜日 であったと仮定する。
・ありえない年(0以下)及び月(1〜12以外)が入力されたら、再入力またはエラーを吐いて終了。
・扱う値の型はすべてint型とする。日数の表示の書式には %2d を用いる。
・次スレ又はまともな質問が来たら終了w
可哀想な>>939のために、ちょっと書き直してみた。
こうすると、多少はまともな問題に見えなくもないような気がしないでもない
まあもう>>964が回答例出しちゃったけど。。。
0969デフォルトの名無しさん
2007/03/04(日) 06:58:18[2] 問題文(含コード&リンク):
簡易ページャ(テキストブラウザ)を実装せよ。
コマンド:
<space>: 1ページ進む
b: 1ページ戻る
<enter>/j: 1行進む
<backspace>/k: 1行戻る
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:
・端末ないしウィンドウのサイズや、入力ファイルサイズに仮定/制限は設けないこと
・巨大なファイルであってもなるべく素早く閲覧可能にすること
・ファイル、または標準入力から読み込めるようにすること
0970デフォルトの名無しさん
2007/03/04(日) 07:09:09[2] 問題文(含コード&リンク):
C++ソースをhtml化するプログラムを書け。
キーワード、文字列、コメントをそれぞれ適当な色でハイライトするようにせよ。
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限: とくになし
0971デフォルトの名無しさん
2007/03/04(日) 07:11:10[2] 問題文(含コード&リンク):
和文を与えられた桁数によって「折りたたむ」(fold)するプログラムを書け。
禁則処理をサポートすること。英単語のhyphenationは行わなくても良い。
文字エンコーディングは適当なものを仮定してよい。
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限: とくになし
0972デフォルトの名無しさん
2007/03/04(日) 07:15:090973デフォルトの名無しさん
2007/03/04(日) 08:46:29[2] 問題文(含コード&リンク):
辞書順にソートされた1行1レコード(非固定長)のテキストファイルがある。
このファイルを検索するプログラムを書け。
(与えられた入力に対して、ヒットしたかしないかを表示する)
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:
・なるべく高速に動作するようにすること。
・なるべく少ないメモリで大きいファイルも扱えるようにすること。
・メモリマッピングは使用してはならない。
0974デフォルトの名無しさん
2007/03/04(日) 08:57:41[2] 問題文(含コード&リンク):
CGI用のアクセスカウンタを書け。標準出力にアクセスカウントを出力する
だけで良い。
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:
・なるべく移植性の高い排他制御を行うこと。
0975デフォルトの名無しさん
2007/03/04(日) 09:11:06[2] 問題文(含コード&リンク):
浮動小数点数の四則演算を実装せよ。
浮動小数点数のフォーマットはIEEE754, サイズは64bit, リトルエンディアンを
仮定してよい。
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:とくになし。
0976デフォルトの名無しさん
2007/03/04(日) 09:16:24[2] 問題文(含コード&リンク):
Base64エンコードを行うstd::ostream/std::streambuf継承クラスを書け。
[3] 環境
[3.1] OS: 制限なし。
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C++
[4] 期限: 無期限
[5] その他の制限:とくになし。
0977デフォルトの名無しさん
2007/03/04(日) 09:55:41[1] 授業単元:プログラミング演習�T
[2] 問題文(含コード&リンク):
整数型配列のデータと、配列の大きさ(要素の数)を受け取り、配列のデータを大きい順に並び替える関数を作成せよ。
但し、main関数では、適当なデータを初期値入力し、関数を呼び出した後は、配列の中のデータを出力せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC++ 6.0
[3.3] 言語: C++
[4] 期限: 3月6日12時
0978デフォルトの名無しさん
2007/03/04(日) 10:09:57[2] 問題文(含コード&リンク):
CSVをTSVに変換するプログラムを書け。
クオート、クオート内のカンマ、クオート内のクオートにも対応すること。
改行を含むカラムには対応しなくても良い。
[3] 環境
[3.1] OS: 制限なし
[3.2] コンパイラ名とバージョン: 制限なし
[3.3] 言語: C/C++
[4] 期限: 無期限
[5] その他の制限:とくになし。
0979デフォルトの名無しさん
2007/03/04(日) 10:55:42空気と直前のレスを嫁
>>977
ttp://homepage3.nifty.com/mmgames/c_guide/a_sort-bubble.html
↑みたいに、そっくりそのまま答えが転がってる
0980デフォルトの名無しさん
2007/03/04(日) 12:43:14誰かやり方おしえて。
0981デフォルトの名無しさん
2007/03/04(日) 12:52:06まず
OSを何にするとか
和文の文字コードだっか?
unicodeかshift jisかeuc-jpか決める必要あるだろ
改行は\r\nなのか
CなのかC++ なのか
プログラムを作るのはそれからだ
0982デフォルトの名無しさん
2007/03/04(日) 12:53:200983デフォルトの名無しさん
2007/03/04(日) 13:14:16C/C++の宿題を片付けます 84代目
http://pc11.2ch.net/test/read.cgi/tech/1172981618/
0984デフォルトの名無しさん
2007/03/04(日) 13:37:14いや、お前かなりひねくれているね・・・釣りネタに向きになって
理論的に突っ込み?そんなんだから一生童貞、モテないんだよw
しかもキモメンデヴピッツァだろ?笑えるwwww
ちなみに、お前の方が墓穴堀まくりだから。
> 『西暦1年1月1日』が存在し 月曜日 であったと仮定する。
つまりそういうことを言っていたまでだが?その後1582年11月以降のみ
曜日を含めて有効とするとなっているわけだが、日本語読めますか?在日の方ですか?
祖国へ帰ったほうがモテますよ?w
0985デフォルトの名無しさん
2007/03/04(日) 13:42:12っつーか、ご苦労。これで提出できるよw
実はネタとしてあげてみたが、実際のところそのプログラムを使う当てがあったのさw
さすが、大物は釣れると美味いぜ!
0986デフォルトの名無しさん
2007/03/04(日) 13:57:41↓また何か必死こいて粗探しのために屁理屈を言って煽ってきます!
0987デフォルトの名無しさん
2007/03/04(日) 14:00:000988デフォルトの名無しさん
2007/03/04(日) 14:00:280989デフォルトの名無しさん
2007/03/04(日) 14:03:270990デフォルトの名無しさん
2007/03/04(日) 14:07:110991デフォルトの名無しさん
2007/03/04(日) 14:39:14屁理屈煽りを隠したくて必死だなwwww age とこうぜ?恥さらしのためにw
誰もあのカレンダーのプログラムで1582年10月15日より前も有効として扱えとは言ってないのよ。
単に曜日を算出するための仕組みの一部に対して妙に必死こいて、自分にはグレゴリオ暦とか
知識があるぞをひけらかしたかったんだよね?そういうことやっているから、周りには相手が
知らなかったから言ったのか?知っているのに・・・って誤解を受けて嫌われるんだよ
引きこもりデヴヲタピッツァはw
0992デフォルトの名無しさん
2007/03/04(日) 14:50:40そもそも、途中からおかしい?閏年を間違えた暦が使われていたのに気づいて直したものが
本来、地球の公転周期に合っていたものだったんで、過去の人間がグレゴリオ暦を
仮に過去に戻した日付、曜日で使っていなかったとしても、それは今後の未来にはどうだって良いこと。
それよりも、これからのカレンダーにも適用されるプログラムとして使えばなんら問題ない。
これにおけるコンピュータの何年問題なんて起こるわけでもなし。屁理屈厨はつまらないことで
つまづいて、前に進めなーい、うわぁ〜〜ん、単位落としたぁ〜って言って生きていくんでしょうねw
もしこれがおかしいと思うなら、そういう課題を出した人に講義して、こんなおかしな課題は
解きませんといって宿題やレポートを提出せずに授業を受けたら?w
完璧などない、そんなものはどこへ行ってもそう。そう、たとえ東大、京大、阪大だろうと・・・
0993デフォルトの名無しさん
2007/03/04(日) 14:51:300994デフォルトの名無しさん
2007/03/04(日) 14:52:290995デフォルトの名無しさん
2007/03/04(日) 14:53:540996デフォルトの名無しさん
2007/03/04(日) 14:54:410997デフォルトの名無しさん
2007/03/04(日) 14:57:220998デフォルトの名無しさん
2007/03/04(日) 15:06:27合計日数から割ってというのもそうだが、今の確かな法則性に則ったものでは
本来そうなるべきだったってことだが、それを間違って使っていた過去の人間が存在するだけ。
まぁ、人間にとってのカレンダー、暦ではあるが、それも宇宙での地球の動きに合わせて
作ったもんだから。もし仮に、地球の公転が著しくズレて閏年なんぞ過去に存在しなかっただの
周期が全く合わなかっただのなんて事実があろうがなかろうか、今後のカレンダーは
今の流れで続く。それを過去に帰属させたとき、こうだったということがわかるカレンダープログラム
があのソースによって作られるってこと。お前の必死さはよーーく、わかった。
ソースコードなんて相手にしてないで、リアル女を相手にしろよ、な?一生独身、童貞だぞ?w
0999デフォルトの名無しさん
2007/03/04(日) 15:07:50どうでも良い。↓が必死こいて>>1000を狙っている姿が惨めで笑えるwwwwwwwwwwww
1000デフォルトの名無しさん
2007/03/04(日) 15:07:5310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。