09/07/17 21:47:15
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
下に示すように,キーボードから二つの文字列を読み込み,どちらの文字列が何文字長いか
を表示するプログラムを作成せよ.なお,二つの文字列が同じ長さならば,「二つの文字列は同
じ長さです.」と表示させること.
文字列A : Good
文字列B : Morning
文字列B の方が3 文字長いです.
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。
176:デフォルトの名無しさん
09/07/17 23:06:06
>>175
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char a[256], b[256];
int diff;
printf("文字列A : ");
scanf("%s", a);
printf("文字列B : ");
scanf("%s", b);
if(diff = strlen(a) - strlen(b))
printf("文字列%c の方が%d 文字長いです.\n", diff>0 ? 'A' : 'B', abs(diff));
else
puts("二つの文字列は同じ長さです.");
return 0;
}
177:デフォルトの名無しさん
09/07/18 00:14:07
>>171
WriteLine関数とReadLine関数の定義はどこ?
178:デフォルトの名無しさん
09/07/18 00:26:57
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: linux
[3.3] 言語: C
[4] 期限: 7/20
[5] その他:特になし
よろしくお願いします。
179:デフォルトの名無しさん
09/07/18 00:39:26
>>178
【1】
stdio.h
【2】
n=0
【3】
Tn2 = Tn3
修正
n<20 を n<28 にする
【4】
2555757
【4】の解の保証
URLリンク(www.research.att.com)
180:デフォルトの名無しさん
09/07/18 00:46:43
>>179
助かりました。ありがとうございます。
181:デフォルトの名無しさん
09/07/18 00:58:23
>>177
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これになります。失礼しました
182: ◆/91kCCQXBo
09/07/18 02:27:15
>>167 星形の座標列
画像は読む事が出来た だれかプログラムしてくれ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
183:デフォルトの名無しさん
09/07/18 02:52:07
>>182
>>167やろうと思ったけど何すればいいんだこれ
問題が意味不なんだが
184: ◆/91kCCQXBo
09/07/18 08:27:43
>>183 要するに線画の3D画像。①にあるように星の大きさ自体は全て同じ。
数値をエクセルでグラフにしたので、朝、目が覚めたら読んでくれ。こっちは解析しただけでやる気が終わった。
URLリンク(www51.tok2.com)
185:デフォルトの名無しさん
09/07/18 14:25:51
1] 授業単元:プログラミング論
[2] 問題文:データベースに対して線形探索を行うプログラムを作成するこのとき探し出す値の項目(キー)は、生徒の名前とする。なお、番兵法を用いて繰り返しの終了判定を少なくする。また、文字列を比較する場合、関数strcmp()を用いる
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名:CPad for Borland C++Compiler
[3.3] 言語:C
[4] 期限: 2009年7月20日
186:デフォルトの名無しさん
09/07/18 14:34:07
>>185
そのデータベースというのはSQLのことかい?
187:デフォルトの名無しさん
09/07/18 14:35:01
あ、番兵って言ってるからちがうか。
188:デフォルトの名無しさん
09/07/18 15:39:08
>>185
こんな感じで。配列を使うとは書いて無いから線形リストにした。
あと、動作は保障しない。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
189:デフォルトの名無しさん
09/07/18 16:13:30
>>188
それ番兵の意味ないでしょ。ノード数Nのときに検索回数が1少なくなるだけで比較回数はN増えるし。
検索文字を番兵にしないと。
<擬似コード>
//リストの最後に番兵を置く
sentinel = new Node("search word");
nodes.addLast(sentinel);
//検索文字を探す(番兵がいるので絶対見つかる)
int i=0;
for(p = nodes.head;p.name != "search word";p=p.next,i++){}
//リストの長さよりも小さければ番兵以外のノードが見つかった
if(i < p.count-1) return p;
else return NULL;
190:デフォルトの名無しさん
09/07/18 16:43:40
>>189
それ、C++ですねぇ。
検索文字列を番兵にするのは予想外でした。確かに比較回数はへりますね。
でも、その擬似コードは末尾にpushとpopしないといけないので、サーチにやっぱり時間かかりませんか?
文字列比較よりも低コストという感じですか?
191:デフォルトの名無しさん
09/07/18 16:47:19
>>188
データベース(人の名前,tomなど9人,txtファイル)から
キーボードから入力したKEY(生徒の名前)を
検索するプログラムを作ってほしいんです><
192:デフォルトの名無しさん
09/07/18 17:02:22
>>190
リストの末尾へのポインタをあらかじめ保持しておけば番兵の追加と削除に検索はいらない。
もちろん構造体を作るコストはかかるけどね。どっちが早いかは環境やリストの長さによる。
Node* head;
Node* tail;
//番兵追加
Node sentinel = new Node("hoge");
tail.next = sentinel;
//
//検索処理
//
//番兵削除
delete(tail.next);
tail.next = NULL;
>>191
初めに書けよ
他に抜けてる条件は無いのか?
193:デフォルトの名無しさん
09/07/18 17:03:35
>>191
ちょ!おま。
情報の後出しは禁止だ!このやろー。
findfirstfileを自作しろってことか?
さらに、その上で全文検索しろってことか?
どの辺のことを言ってるのかよくわからん。
194:デフォルトの名無しさん
09/07/18 17:13:26
>>193
すみません;;
Tom 75 60
Jerry 85 90
Spike 45 30
Rachel 55 85
Monica 75 90
Phoebe 80 75
Chandler 70 65
Joey 85 75
Ross 90 85
こんな感じのtxtファイルを読み込んで
名前をKEYで検索して該当したデータを表示させるプログラムなんですけど
データベースからデータを検索するプログラムが作れなくて困ってたんです;;
195:デフォルトの名無しさん
09/07/18 17:14:20
>>192
tailの管理がちょっと厄介ですなぁ。tailをpopしたら再検索ですし。まぁ、用途によりけりか。
196:デフォルトの名無しさん
09/07/18 18:12:47
1] 授業単元:プログラミング論
[2] 問題文:入力ストリームから読み込んだ文字列を、データベースに格納する前に
スタックに一時的に格納するプログラムを作成する
このときデータをまとめたデータ文字列を一つずつスタックへプッシュしたり
ポップしたりする過程が分かるプログラムを作成する。
なおスタックを実現するライブラリはスタックのための別のヘッダにまとめる
[プログラムの例]
入力ストリームから読み込んだデータ文字列をスタックへプッシュしたり
ポップしたりするたびにデータベースに格納された全データを表示する。
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名:CPad for Borland C++Compiler
[3.3] 言語:C
[4] 期限: 2009年7月20日
参考プログラムを元に完成させてほしいです
[参考プログラム]
URLリンク(kansai2channeler.hp.infoseek.co.jp)
197:デフォルトの名無しさん
09/07/18 18:44:09
>>185
多分あってると思うがほとんどデバッグしてないので何とかしてくれ。動作は保障しない。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
もう、今日は切ったり張ったりしないぞ。疲れた。
198:デフォルトの名無しさん
09/07/18 18:50:20
>>197
めちゃめちゃ高度ですが
すごい助かります
ありがとうございました^^
お疲れ様です;;
199:デフォルトの名無しさん
09/07/18 22:17:40
[1] 授業単元: C言語
[2] 問題文 2進数の指定した場所の0、1を逆転せよ
たとえば 00110という2進数の3番目を反転としたら 2進数が00010となる。1番目の場合10110となる
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VisualC++
[3.3] 言語: C
[4] 期限: 7月20日
[5] その他の制限:
200:デフォルトの名無しさん
09/07/18 22:21:25
>>171
サーバ側 URLリンク(kansai2channeler.hp.infoseek.co.jp)
クライアント側 URLリンク(kansai2channeler.hp.infoseek.co.jp)
ターミナル3つ立ち上げてサーバ、クライアント1、クライアント2を実行
クライアントからの入力はサーバ、他のクライアントにも送れた。
けど、サーバから文字を入力するとクライアント1側に入力文字が無限ループで出てきて
クライアント2には何も表示されなかった。課題どころか元のプログラムすら動かない危機的な状況なので
誰か助けてください。サーバ側に何か問題があると思うのですが全く見当がつきません
201:デフォルトの名無しさん
09/07/18 22:38:30
>>199
URLリンク(kansai2channeler.hp.infoseek.co.jp)
202:デフォルトの名無しさん
09/07/18 23:34:12
>>200
サーバの202行目はj++だよね。
203:デフォルトの名無しさん
09/07/18 23:37:58
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}
return 0;
}
このプログラムは負の数値に対して考慮していない。0未満の整数が入力された時、『負の整数が入力されました』と表示するプログラムを作成せよ
&&と同じ処理を&&を使わず、else ifを使って表現せよ
この2つ分かる方教えてくれませんか
C++です
204:デフォルトの名無しさん
09/07/18 23:45:37
>>202
本当にありがとうございました。頑張ってみます
205:デフォルトの名無しさん
09/07/18 23:47:48
>>203
負の数に対応したやつ
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
if(value < 0) {
cout << "負の整数が入力されました\n";
}
else if(10 <= value && value <= 99) {
cout << "二桁の整数です\n";
}
else if( value <= 9 || value >= 100){
cout << "一桁か三桁以上の整数です.\n";
}
return 0;
}
206:デフォルトの名無しさん
09/07/19 00:04:42
>>203
&&を使わずにelse ifでむりやり版
あとテンプレ使え
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
if(10 <= value) {
if (!(value <= 99))
goto FOO;
else if(1)
cout << "二桁の整数です\n";
}
else if(value <= 9 || value >= 100){
FOO:
cout << "一桁か三桁以上の整数です.\n";
}
return 0;
}
207:デフォルトの名無しさん
09/07/19 01:08:17
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
if(value >= 0){
if(value >= 100) cout << "一桁か三桁以上の整数です.\n";
else if(value >= 10) cout << "二桁の整数です\n";
else if(1) cout << "一桁か三桁以上の整数です.\n";
}else if(1){
cout << "負の整数が入力されました\n";
}
return 0;
}
自分で言うのもなんだがなんだこのクソプログラムはw
&&が使えなければドモルガンの法則使って||にすればいいじゃない、と思った
208: ◆/91kCCQXBo
09/07/19 02:27:51
>>203
//このプログラムは負の数値に対して考慮していない。←仮定
//このプログラムは1000以上の数値に対して考慮していない。←仮定を追加
//&&と同じ処理を&&を使わず、else ifを使って表現せよ
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
/*
if(value < 0) {
cout << "負の整数が入力されました.\n";
}
else
*/ if(value < 10) {
cout << "一桁か三桁以上の整数です.\n";
}
else if(value < 100) {
cout << "二桁の整数です\n";
}
else {
cout << "一桁か三桁以上の整数です.\n";
}
return 0;
}
//これじゃ駄目かね? 質問者も、どれ提出すればいいか困るか。
209: ◆/91kCCQXBo
09/07/19 02:39:52
//ド・モルガン版 >>207
#include<iostream>
using namespace std;
int main() {
int value;
cout << "整数値を入力値を入力してください\n";
cin >> value;
if(value < 0) {
cout << "負の整数が入力されました.\n";
}
else if( value <= 9 || value >= 100) {
cout << "一桁か三桁以上の整数です.\n";
}
else {
cout << "二桁の整数です\n";
}
return 0;
}
210:デフォルトの名無しさん
09/07/19 02:44:04
>>196
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>185と同じ人っぽかったので、データベースはtxtファイルで
「データベースに格納する前にスタックに一時的に格納」ってのは
「入力されたデータをスタックにためておき、スタックが一杯になったら
データベースに書き込む」ということだと解釈したのだけど、合ってる?
211: ◆/91kCCQXBo
09/07/19 03:14:40
>>167 C++ で提出すれば君はヒーローだ。(星形の座標列を生成する)
#include <fstream>
#include <iomanip>
#include <math.h>
#include <stdlib.h>
using namespace std;
#define PI 3.1415926535897932384
void draw_star(ofstream &fout, float x1, int y1) {
int i, dot;
dot = abs(y1) + 4;
for( i = 0; i <= dot; i++ ) {
fout<<setw(6)<< cos(2*PI/dot*i)/2+x1 <<','<<setw(7)<< sin(2*PI/dot*i)/2+y1 <<endl;
if( i < dot )
fout<<setw(6)<< cos(2*PI/dot*(i+0.5))/4+x1 <<','<<setw(7)<< sin(2*PI/dot*(i+0.5))/4+y1 <<endl;
}
fout<<endl;
}
int main() {
float x, xstep; int y;
ofstream fout("polygon_29.csv");
if(!fout) return 1;
fout<<fixed<<setprecision(3);
for( y = -10; y <= 10; y++ ) {
xstep = 2.0 + 0.3 * abs(y);
for( x=0.0; x<40.0; x += xstep ) {
draw_star(fout, x, y);
}
}
fout.close();
}
212:デフォルトの名無しさん
09/07/19 07:33:25
>>183だけど
>>184読んでやっと理解して
defineとか使ってごちゃごちゃ書いて完成したら
>>211が出来てて涙目なので少しすっきり書き直してアップしといた
URLリンク(kansai2channeler.hp.infoseek.co.jp)
213:デフォルトの名無しさん
09/07/19 12:40:03
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
下に示すように,キーボードから文字列を読み込み,その文字列が回文(前から読んでも後
ろから読んでも同じ)かどうかを判定するプログラムを作成せよ.なお,入力する文字列は半
角の英数字および記号のみと仮定してよい.
文字列を入力してください: abcba
回文です.
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C
[4] 期限: 09年07月21日
[5] その他の制限:なし。
214:デフォルトの名無しさん
09/07/19 12:55:27
>>213
前スレに似たようなのがあった。空白を読みとばしたり大文字小文字を区別しない上級バージョンだけど参考まで
スレリンク(tech板:107-111番)
215:デフォルトの名無しさん
09/07/19 12:56:06
#include <stdio.h>
#include <string.h>
int is_kaibun(char* buf,int len){
int i;
for(i = 0;i<len/2;i++){
if(buf[i] != buf[len-i-1]) return 0;
}
return 1;
}
int main(){
char buf[256];
printf("文字を入力してください:");
fgets(buf,sizeof(buf),stdin);
if(is_kaibun(buf,strlen(buf)-1)){
printf("回文アル");
}else{
printf("回文チガウアル");
}
return 0;
}
216:デフォルトの名無しさん
09/07/19 13:26:37
こんな事したいんですけどC言語のソース書いてください
100以下の整数を入力し80以上なら”優”、70以上80未満なら“良”、60以上70未満なら“可”、60未満なら“不可”と表示する。tenに格納された値が不なら終了する。
条件:scanfの前にprintf(”点数を入力してください”);を入れる。whileを使いマイナスの値が入力された場合終了し、100~0の場合ループさせる。ifを使う
217:デフォルトの名無しさん
09/07/19 13:29:51
>>216
入門スレがあっただろ?そっちで聞け
218:デフォルトの名無しさん
09/07/19 13:31:46
>>217
入門スレから誘導した
こっちで受けてやってくれw
219:デフォルトの名無しさん
09/07/19 13:38:00
#include <stdio.h>
int main(){
int ten;
printf("点数を入力してください");
scanf("%d", &ten);
while( ten >= 0 ){
if( ten >= 80 ){
printf( "優\n" );
}else if( ten >= 70 && ten < 80 ){
printf( "良\n" );
}else if( ten >= 60 && ten < 70 ){
printf( "可\n" );
}else{
printf( "不可\n" );
}
printf("点数を入力してください");
scanf("%d", &ten);
}
return 0;
}
220:デフォルトの名無しさん
09/07/19 13:41:01
ありがとうございます。
よろしければあと3つほどお願いしたいです。
①ユークリッドの互除法で最大公約数を求める
②自然対数の底eを求める
条件:実数で行う。eは1+1/1!+1/2!+1/3!+・・・1/n!+・・・
無限級数の打ち切りは1/n!<0.0000001とする
③xの平方根を求める
条件:xには実数値を入れる。a=0、b=cとしてc=(a+b)/2を計算する
cの二乗<xならa=c、そうでなければb=cとして計算を繰り返す
b-aの値が0.0000001以下になったら計算を打ち切り、cの値を表示
221:デフォルトの名無しさん
09/07/19 13:43:09
>>220
常連さんになるなら>>1のテンプレに沿って書き直してくれ
とくにC/C++の違いとか、よく混乱がおきてんだ
222:デフォルトの名無しさん
09/07/19 13:53:47
[1] 授業単元: プログラミングⅠ
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (良く分らないけど学校のUNIXはlcc)
[3.3] 言語: (C言語)
[4] 期限: ([2009年7月--日--:--まで]緊急ではないのですが夏季長期休の課題なので速く終らせたい )
[5] その他の制限: (scanf,printf,if,for,get,put,とか超簡単なところしか習ってない)
223:デフォルトの名無しさん
09/07/19 13:59:26
1] 授業単元:OS演習
[2]
セマフォを使った同期 -共有バッファを用いたプロセス間メッセージ通信
親/子プロセスでメッセージを書き込み、子/親プロセスで読み出す →semprog2.c
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C言語
[4] 期限: 2009年7月22日
[5] その他の制限:特にないです。よろしくお願いします。
224:デフォルトの名無しさん
09/07/19 14:15:54
[1] 授業単元:情報理論
[2] 問題文(含コード&リンク):
生起確率リストのファイルlist.txtの情報源に対するハフマン符号を求めなさい。
簡単なアルゴリズムも記載するように。
list.txtは手元に無いのですが、適当な小数が列挙されているモノです。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 09年07月20日
[5] その他の制限:特にありません。
宜しくお願いします。
225:デフォルトの名無しさん
09/07/19 15:03:43
授業の課題じゃないんですがよろしくお願いします。
[2]
5=1+1+1+1+1
5=1+1+1+2
5=1+1+2+1
5=1+2+1+1
5=2+1+1+1
5=1+1+3
5=1+3+1
5=3+1+1
5=1+4
5=4+1
5=3+2
5=2+3
というように入力された整数xをこのように分解して
表示するプログラムを作ってください。
ただし、 5=3+2 5=2+3
は別々のものとして扱ってください。
表示する順番は問いません。
[3] 環境
[3.1] OS: Windows Xp
[3.2] CPad for Borland C++Compiler
[3.3] C言語
[4] 期限: [無期限]
226:デフォルトの名無しさん
09/07/19 15:23:18
>>225
#include<stdio.h>
#include<stdlib.h>
int disp_whole_pattern(int pattern[], int pattern_num, int n){
int i, sum=0;
if(n<=0){
for(i=0;i<pattern_num;i++) sum+=pattern[i];
printf("%d=", sum);
for(i=0;i<pattern_num-1;i++) printf("%d+", pattern[i]);
printf("%d\n", pattern[i]);
return 0;
}
for(i=1;i<=n;i++){
pattern[pattern_num]=i;
disp_whole_pattern(pattern, pattern_num+1, n-i);
}
return 1;
}
int main(void){
int x=5, *pattern;
scanf("%d", &x);
pattern=malloc(sizeof(int)*x);
if(pattern==NULL) return 1;
disp_whole_pattern(pattern, 0, x);
free(pattern);
return 0;
}
227:デフォルトの名無しさん
09/07/19 16:49:38
#include <stdio.h>
#include <stdlib.h>
void foo(int *a, int n) {
int i, j, *b;
for(i = 0; i < n; ++i)
printf("%d%c", a[i], i==n-1?'\n':'+');
for(i = 0; i < n-1; ++i) {
b = malloc(sizeof(int)*n-1);
for(j = 0; j < i; ++j) b[j] = a[j];
b[i] = a[i] + a[i+1];
for(j = i+1; j < n-1; ++j) b[j] = a[j+1];
foo(b, n-1);
free(b);
}
}
int main(void) {
int a[5] = {1, 1, 1, 1, 1};
foo(a, 5);
return 0;
}
重複が消せない(;ω;)
228:デフォルトの名無しさん
09/07/19 16:56:03
[1] 授業単元:数理物理
[2] 問題文(含コード&リンク):URLリンク(www.mns.kyutech.ac.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:わかりません
[3.3] 言語:どちらでも可
[4] 期限:できれば2009年7月21日までにお願いします。
[5] その他の制限:問題ではプロットせよと書いていりますが問題の計算のプログラムをお願いします。
229:デフォルトの名無しさん
09/07/19 17:15:05
URLリンク(www.sangakuplaza.jp)
230:デフォルトの名無しさん
09/07/19 19:02:35
>>224
小数って実数のことじゃなくて、「小さな整数」の意味でいいのかな
231:デフォルトの名無しさん
09/07/19 19:59:15
>>230
実数と考えて頂いて問題ないです
紛らわしくてごめんなさい
232:デフォルトの名無しさん
09/07/19 20:26:16
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
fopenと fclose ライブラリ関数を使って、
C言語でファイルをコピーするプログラムを作成せよ。
ただしカレントディレクトリを表示せよ
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 09年07月20日
[5] その他の制限:特にありません。
233:デフォルトの名無しさん
09/07/19 20:37:29
>>210
その解釈でも大丈夫だと思いますが、プログラムの例の部分から察するに
プッシュするごとに格納されたデータを表示するんじゃないでしょうか?
あと、>>210さんのプログラムは終了させた場合のみ全データをポップ&表示
していますが、多分プッシュと同様ポップもメニュー?に入れて、
ポップするごとに全データを表示して、プッシュポップの関係を
分かりやすくするというプログラムなんじゃないでしょうか?
長々とすみませんでした。
234:デフォルトの名無しさん
09/07/19 20:56:14
[1] 授業単元:情報工学実験(ヒューマンインタフェース)
[2] 問題文(含コード&リンク):
画面中央にウィンドウを重ねて2つ表示し、
前面をウィンドウ1、後面をウィンドウ2とする。
後ろ側のウィンドウ2を、頭部移動データに合わせて移動させ、
人間の頭の動きをウィンドウ2にトラッキングさせる。
実験環境は机の上にディスプレイが人間の正面に静置されている。
座標原点はディスプレイが置かれている机の、人間から見て右上の角とする。
そこからディスプレイ側をx軸正方向、被験者手前側をy軸正方向、地軸正方向(上向き)をz軸正方向とする。
頭部初期位置x1,y2,z3,は事前に与えられるので、移動距離はセンサデータから与えられる座標との差分によって求められる。
センサデータx,y,zは以下のように与えられる。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
上記に基づき、頭部初期位置のセンサデータがx1=67.11,y1=88.95,z1=24.64として
与えられた時、ウィンドウ2が頭部をトラッキングするようなプログラムを完成させよ。
ウィンドウ1は動かず、常にウィンドウ2の前面にあるものとする。
注:トラッキングはユーザー頭部の上下左右方向のみなので、トラッキングにy軸のセンサデータは用いない。
センサデータの単位はcmなのでichに変換する必要があり、
使用する17インチディスプレイの解像度は72dpiであることから
ウィンドウのディスプレイ上での移動ピクセル数を算出することができる。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C,Win32API
[4] 期限: 7月22日正午
[5] その他の制限:特にありません。
長文で申し訳ありません。よろしくお願い申し上げます。
235:デフォルトの名無しさん
09/07/19 21:03:00
[1] 授業単元:プログラミング論
[2] 問題文:入力ストリームから読み込んだデータ文字列を、
データベースに格納する前にキューに一時的に格納するプログラムを
作成する。このとき、データをまとめたデータ文字列を一つずつ、キューへ
エンキューしたり、デキューしたりする過程が分かるプログラムを作成する。
なお、キューを実現するライブラリは、キューのための別のヘッダにまとめる。
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名:CPad for Borland C++Compiler
[3.3] 言語:C
[4] 期限: 2009年7月21日
[そのほか]
・入力ストリームから読み込んだデータ文字列を、キューにエンキューしたり、
デキューしたりするたびにデータベースに格納された全データを表示する。
・構造体オブジェクトは動的な記憶域に生成する。
・生徒の名前、試験の点数を構造体オブジェクトに格納することとする。
・関数の処理にコメントをつけて、キューをどのように実現しているか、
そのプログラムの処理内容が分かるようにする。
[このプログラムの流れ]
(1)ファイルやキーボードなどの入力ストリームから
データをデータ文字列として読み込む
(2)このデータ文字列をキューに一時的に蓄える
(3)キューからデータ文字列を取り出す
(4)このデータ文字列からそれぞれデータを取り出して
文字列や数値データに変換する
(5)変換したデータをデータベース(構造体の配列など)に格納してまとめて管理する
(6)このデータベースからデータを参照し、ディスプレイに出力する
[生徒、点数データ]
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[参考プログラム]
URLリンク(kansai2channeler.hp.infoseek.co.jp)
236:デフォルトの名無しさん
09/07/19 23:31:01
>>222
URLリンク(kansai2channeler.hp.infoseek.co.jp)
237:デフォルトの名無しさん
09/07/19 23:47:26
>>171のクライアントがハンドル名@マシン名をサーバに送って、そのメッセージを
サーバ側であるバッファに格納する部分はどう書けばいいんでしょうか?
クライアントのどの部分でサーバにWriteLineで送るのかと
サーバ側がいつ送られてきたメッセージを受信するのかが分かりません
238:デフォルトの名無しさん
09/07/19 23:51:49
デバッグエラーが出てしまいます。原因は何でしょうか。お願いします。ちなみに問題は以下です
配列を使って10個のデータを関数に渡します.
下記の平均を返す関数 ave1() を main 関数から呼び出し平均を求めなさい.
なお,main 関数では 配列に10個の値を代入し,ave1() を呼び出し,その結果を表示します.
#define NUM 10
double ave1( int dd[NUM] ){
int i, sum;
for(sum=0, i=0;i<NUM;i++){
sum += dd[i];
}
return (sum/(double)NUM);
}
239:デフォルトの名無しさん
09/07/19 23:54:43
#include<iostream>
using namespace std;
int main(){
int i,j;
for(i=1;i<=2;i++){
for(j=1;j<=3;j++){
cout << i << "X" << j << "は" << i * j<< "です\n"; }
}
}
}
結果
1×1は1です
1×2は2です
1×3は3です
2×1は2です
2×2は4です
2×3は6です
これを参考にして、完全な九九を表示するプログラムを作成せよ
上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ
5を書きました
6を書きました
…
12を書きました
13を書きました
誰かこれ教えてくれませんか
240:デフォルトの名無しさん
09/07/19 23:55:24
配列の中身を0にしてその内容を表示する関数 void hairetsu_zero01(int x[10]) を作成しなさい.
関数の中で受け取った配列の中身をすべて 0 に書き換え,内容を表示して確認しなさい.
main 関数での処理は次の通りです.
まず,配列を宣言し 0~9 を代入しなさい.
次に,内容の確認のため main 関数で配列の内容を表示しなさい.
最後に,hairetsu_zero() を呼び出し,実行後の配列の内容を表示しなさい.
さらに余力があれば,別で配列 y[5] を作成し,1..5 で初期化し, hairetsu_zero(y) を実行しなさい.
241:239
09/07/19 23:56:16
1問忘れてしまいました
100を書きました
99を書きました
…
88を書きました
87を書きました
上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ
242:デフォルトの名無しさん
09/07/20 00:00:26
質問テンプレ使いやがれー
243:デフォルトの名無しさん
09/07/20 00:21:04
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):入力ファイルの各行を単方向連結リストの最後に順次追加し,そのリストの内容を先頭から順に標準出力に
出力するプログラム extra6 を作成せよ.ソースファイルの名前は extra6.c とし,単方向連結リストの最後に1行分の文字列データを
追加する関数を append_data,リストの内容を先頭から順に標準出力に出力する関数を print_list として,これら2つの関数を含む
こと.また,リストの各要素は,以下の構造体を用いて表現するものとする.
struct line {
char *data;
struct line *next;
};
なお,入力ファイル名はコマンドライン引数で指定するものとし,入力ファイルがオープンできなかった場合の処理も含めること.
また,プログラム自身を除く引数の数が0個,もしくは2個以上の場合は,何もせず適切なメッセージを出力して終了するものとする.
入力データ: URLリンク(pai.no.land.to)
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VS2008
[3.3] 言語: C
[4] 期限:2009年7月21日10時まで
[5] その他の制限: 特になし
長文すいません。リストの最後に順次追加する部分が特にわかりません。
よろしくお願いしますm(_ _)m