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