[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク)
問題1
10個の要素を持つ配列 data を宣言し、先頭の要素から順番に1〜 10 までの整数を代入した後、表示するプログラムを for 文を 使用して作成せよ。
問題2
配列 va を定義して、 10,20,30,40,50 の値で初期 化し、その内容を表示するプログラムを作成しなさい 。
問題3
配列 va と配列 vb を宣言し、配列 va を 1,2,3,4,5 で 初期化し、その値を配列 vb にコピーした後、表示す るプログラムを作成しなさい。
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:c
[4] 期限:12月16日
[5] その他の制限: なし
よろしくお願いします。
>>600 ご指摘ありがとうございます。抜けておりました。
----- ----- ----- ----- -----
(*)例えば、次のようなコードに慣れること。
#include <iostream>
using namespace std;
または、
#include <iostream>
cout << "MyStack object instantiated!"<< endl;
これは、
printf ("%s\n", "MyStack object instantiated!");
と、同じである。
実行結果のみ示しなさい。
606 :
599:2010/12/15(水) 17:19:03
>>599の問題文にて一部文章が抜けていたので再投下失礼。
[1] 授業単元:プログラミングとコンパイラ
[2] 問題文(含コード&リンク):
・問題1
C++のサンプルプログラム
http://codepad.org/BAl4ALCV ついて答えなさい。
MyStackクラスのコンストラクタにメッセージ出力(*)を追加して、MyStackオブジェクトが実体化されたことがわかるようにしなさい。
(*)例えば、次のようなコードに慣れること。
#include <iostream>
using namespace std;
または、
#include <iostream>
cout << "MyStack object instantiated!"<< endl; これは、
printf ("%s\n", "MyStack object instantiated!"); と、同じである。
実行結果のみ示しなさい。
・問題2
問題1の結果を、次のスタイルに書き換えなさい。
stack.h:
http://codepad.org/uEkKWS5W (ファイル名はstack.hhでもOK)
stack.cpp:
http://codepad.org/A0gHDv2g (ファイル名はstack.ccでもOK)
main.cpp:
http://codepad.org/j3bzECYU (ファイル名はmain.ccでもOK) ただし、main.cppの中身は自分なりに変えてみること。
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2010年12月16日08:00まで
607 :
535:2010/12/15(水) 17:30:02
609 :
535:2010/12/15(水) 17:50:29
>>608 using namespace std;
って習いました。
あと、文の一番最後に\nをつけるっていうのも習いました。
>>609 じゃあ、#includeの後にusing namespace stdいれて、関数とかの頭にあるstd::は全部取っちゃって
611 :
デフォルトの名無しさん:2010/12/15(水) 18:07:30
612 :
535:2010/12/15(水) 18:31:12
613 :
535:2010/12/15(水) 18:35:23
>>610 friendとかInnerVector3dって何でしょうか
http://codepad.org/cmk80jWl http://codepad.org/6COq3c53 この2つの文字化け部分がだいたいどのようなことを書いているかわかりませんか?
もともとの課題はこういうものでした。
1.例10.2 の2 を参考にして、以下のようなカレンダープログラムmycalを作成せよ。
◦引数なしで実行されると、今月のカレンダーを出力する
◦引数1個で実行されると、その引数を月とみなし、その年のその月のカレンダーを出力する
◦引数2個で実行されると、第一引数を月、第二引数を年とみなしてカレンダーを出力する。
2.例12.6 の2 に、練習問題12.6 の3 の変更を加え、さらに同様にしてべき乗(関数名power())も計算できるようにせよ。
>>584 >どこにもバッファオーバーランの対策をしろとは書いてない
上流仕様書マンセー乙
>>613 InnerVector3dは中身りゃわかると思うけど内積だろ
出題の通りに直せばいんじゃね?
この場合のfriendはメンバ関数じゃない関数でクラス内部の非公開メンバにアクセスする指定
>>616 元ソースをzipかなんかに圧縮して、どっかのローダに上げてくれんかの。
>>621 それ僕です。笑
課題2がわからない><
>>620 jpeg上げてどうするよ。
もういいから取りあえずサクラエディタとか入れて見てみれば?
>>622 問題の題意とプログラムから printf に書かれている内容を想像するんだ!
(`・ω・´) シャキーン
>>616 取りあえず一番目の2行目はここまでは再現できた。
- 引数なしで実行さ
eucをsjisで開いてるみたい。
サクラエディタ入れてeucで開きなおすと読めんじゃないかな。
[1] 授業単元: プログラミング言語
[2] 問題文:
hドライブのogawaフォルダ配下のkyuuyo.datからデータを入力し、
そのデータを金額とした時の金種の一覧を表示するプログラムを
作成せよ。
但し、kyuuyo.datファイルはint型の複数データが格納されたバイナリファイルとする。
実行例
No| 給与 |一万円|五千円|千 円 |五百円|百 円 |五十円|十 円 |五 円|一 円|
--|----------------------------------------------------------------------------
1 | 419377 | 41| 1| 4| 0| 3| 1| 2| 1| 2|
2 | ・
3 | ・
4 | ・
5 | ・
6 | ・
7 | ・
8 | ・
--|----------------------------------------------------------------------------
|合計 | 737| 15| 49| 8| 42| 10| 32| 8| 49|
[3] 環境
[3.1] Windows XP
[3.2] visual stdio2005
[3.3] 言語: C++
[4] 期限: [2010年12月16日13:00まで]
[5] その他の制限: マス目付、#include <stdio.h>はじめでお願いしますm(_ _)m
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
次のコードのMRand()は31ビットのM系列乱数を生成する関数である。
http://codepad.org/rxOLtNr0 この乱数列を様々な角度から検証して、この乱数列の問題点を見出し、
問題点の内容を提出せよ。
可能であればその解決方法も合わせて提出せよ。
[3] 環境
[3.1] OS: windows,linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
629 :
デフォルトの名無しさん:2010/12/15(水) 21:43:00
630 :
535:2010/12/15(水) 22:17:39
内容:
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):正弦関数y=sinφのグラフを文字列■で描きなさい(31行程で)。グラフは一周期分で真ん中をy軸をlで区切ること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] Visual C
[3.3] 言語: C
[4] 期限: [2010年12月16日09:00まで]
よろしくお願いします
632 :
デフォルトの名無しさん:2010/12/15(水) 22:56:00
内容:
[1] 授業単元:画像処理プログラミング
[2] 問題文(含コード&リンク):任意の画像をRGB空間からからHSV空間に変換し
色彩、彩度、明度の値を表示すプログラムを作成しなさい
[3.1] OS: linux
[3.2] gcc
[3.3] 言語: C言語
[4] 期限: [2010年12月17日12:00まで
よろしくお願いします
>>633 ありがとうございます。
確認してみた所、■は絶対だそうなので
お手数お掛けして申し訳ありませんが、■でお願いしたいです。
637 :
633:2010/12/15(水) 23:58:18
>>635 ・画像の形式は何?
・全ての画素について、HSVの数値を計算するの?
・計算で得られたHSVの数値は、どのように画面表示されればよい?
>>639 問題文がこのような感じで書かれていて
画像の形式なども指定されてませんすいません
数値はターミナル上に表示できればいいと思います
わからない事だらけですいません
643 :
デフォルトの名無しさん:2010/12/16(木) 12:45:43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 正弦関数y=sinφのグラフを文字列■で描きなさい。数値yに対応する■の数はウインドウ各行に表示しきれる範囲内で任意に定めてよい。グラフは一周期でy軸をlで区切りなさい
[3] 環境
[3.1] OS:WindowsXP
[3.2] VC
[3.3] 言語: C++
[4] 期限: 12月16日17:00まで
[5] その他の制限:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
double y[100];
int i, j, k;
for(i = 0; i < 62; i++){
y[i] = 10 * sin(0.1 * i);
}
for(i = 0; i < 31; i++){
for(k = 0; k < 10; k++){
printf(" ");
}
printf("l");
for(j = 0; j < y[i]; j++){
printf("■");
}
printf("\n");
}
この続きからお願いします
>>644 それは考えたんだけど、atan() の立場が無くなるので....
atan() は mathlib じゃないって事はないだろ?
650 :
デフォルトの名無しさん:2010/12/16(木) 16:02:01
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
http://ideone.com/fQdK2 [3] 環境
[3.1] OS:macosx
[3.2] gcc
[3.3] 言語: C
[4] 期限: 12月20日
[5] 動作はするのですが、優先度付きキューを導入した理由、メリット、aスター探索内の意味がいまいち理解できないので説明してもらえないでしょうか
お願いします
651 :
デフォルトの名無しさん:2010/12/16(木) 19:55:07
[1] 授業単元: プログラミング
[2] 問題文:
配列によるスタックを実現する。出来るだけ簡単なアルゴリズムで
ポップとプッシュの操作が可能なプログラムを作れ。正し配列は100要素
程度とする。
[3] 環境
[3.1] OS:Unix Windows
[3.2] gcc
[3.3] 言語: C
[4]期限: 12月17日
[5]:よろしくお願いします。できるだけ簡単にお願いします。
653 :
デフォルトの名無しさん:2010/12/16(木) 20:17:12
654 :
デフォルトの名無しさん:2010/12/17(金) 00:39:47
[1] 授業単元: プログラミング言語演習
[2] 問題文(含コード&リンク):ランダムな整数列を生成し、次の直接基数ソート
プログラムにより並べ替えるプログラムを作れ
直接基数プログラム
int i, j, pass, count[256];
for(pass = 0; pass < 4; pass++){
for(j = 0;j < 256;j++)
count[j] = 0;
for(i = 1;i <= n; i++)
count[bits(a[i],pass*8,8)]++;
for(j = 1;j < 256;j++)
count[j] = count[j-1] + count[j];
for(i = n; i >= 1;i--)
b[count[bits(a[i],pass*8,8)]--] = a[i];
for(i = 1; i <= n; i++)
a[i] = b[i];
}
[3] 環境
[3.1] unix
[3.2] gcc
[3.3] 言語: どちらでもよい
[4] 期限: 12月22日
[5] mainの中身もお願いします。
直接基数ソートとはランダムに出た数字を二進数に直し、順番に並び変える
プログラムです。
>>656 655ですが、glibw32.hはそちらで間違いないです。
お手数かとは思いますが、for文の中の・・・・だけでも、どうかよろしくお願いします。
658 :
654:2010/12/17(金) 03:39:51
>>656 bitsとはたとえばbits([ai],b,1)のときは、配列a[i]のbビット目から
1ビット、という意味です。
できたら書いている直接基数ソートを使ってくれたらうれしいんですが、
必ず使う必要はないです。
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文(含コード&リンク):
クイックソートにより異なる15個の要素を配列するとき、比較回数の最小値と最大値求め、
そのときに与えた要素をそれぞれ答えなさい。
たとえば1、2、3、、、、15を与えると、105回となる。といったかんじです。
プログラムの提出はないです。
[4] 期限: 2010年12月17日13:00まで。
ギリギリで質問かいw
663 :
654:2010/12/17(金) 09:11:01
[1] 授業単元: プログラミング言語演習
[2] 問題文(含コード&リンク):直接基数ソートプログラムで、配列aとbの役割を
交互に替える(コピーをしない)プログラムを作れ。
[3] 環境
[3.1] unix
[3.2] gcc
[3.3] 言語: どちらでもよい
[4] 期限: 12月22日
[5] mainの中身もお願いします。
>>659 同じ要素でもピボットの選び方で比較回数は変わると思うんだけど、指定はない?
>>664 ピボット選択アルゴリズムの中の比較回数を別記するとか?
ウチの大学の課題より難しそうなのに皆すげえわ
プログラミングが苦手でどうしてもできそうにないので大学辞めます
情報工学ともおさらばです
人生に一度きりの最強カードの新卒を捨てるなんてとんでもない
670 :
デフォルトの名無しさん:2010/12/17(金) 11:11:25
[1]授業単元:プログラミング演習T
[2]問題文
料理のデータベースを作成し、複数のデータの中からカロリーが最大と最小の料理の全データを出力するプログラムを作成せよ
[3]
[3.1]Windows
[3.2]Visual Studio 2010
[3.3]C
[4]12/20
[5]各料理のデータは「番号、名前、カロリー」
料理とカロリーの値は適当でも可(ラーメン 10kcalとか)
よろしくお願いします
>>670 データ構造の指定は無し?
struct dish[10] {
int id;
int name;
int cal;
}
みたいなのでもいいのかい
[1] C++
[2]
・マウスを使って描画する
・BMP画像を表示する
・マウスで描画した部分だけ表示する
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限:VC++6.0を使ってます。 問題の上二つまでは出来てます。
ttp://ist.ksc.kwansei.ac.jp/~ibaraki/algo.htmlの 4.整列のアルゴリズムの
第p要素を選ぶSELECTとデータファイルselectdataを
それぞれプログラムソースselect.cとデータファイルselectdata.datとして同じユーザーディレクトリ
に保存して、cygwin上でコンパイル(gcc select.c)してもエラーは出ないですが、実行(a.exe)
とすると
6[main]a 4656_cygtls::handle_exceptionx:Error while dumping state(probably corrupted stack)
Segmentation fault (core dumped)
となります。
どうしたらいいでしょうか?
>>650 前の回答者だが問題変わってねえか?
ヒューリスティック関数を使ってるみたいだけど
前回提示した優先度付きキューは基本的に循環キューだからそのままでは使えないよ
ちなみに前回書いたやつは
開始ノードを優先度「0」でキューに追加
*begin
node←キューから優先度の最も高い(数値の小さい)ものを取り出す
nodeに接続しているノードを探して優先度「nodeの優先度+1」でキューに追加
終了ノードに達するまで*beginから繰り返す
だったと思う
[1] 授業単元:ディジタル回路(プログラミング演習)
[2] 問題文(含コード&リンク):下記
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: cygwinのgcc
[3.3] 言語: c言語
[4] 期限: 12月20日17:00まで
[5] その他の制限:
<基礎課題>
4変数の論理式からカルノーマップと簡略化した論理式を作成しなさい.
入力の論理式は文字列の配列とし,
const char* IN[] = {"Bcd", "Abcd", "aBc", "aB", "abC"}; // グローバル変数
ならば,
Bcd + Abcd + aBc + aB + abC (小文字は大文字の否定を表す)
の論理式のカルノーマップと簡略化した論理式
Acd + aB + aC
を表示する.
カルノーマップは表示方法を工夫しなさい.
<発展課題>
本講義では触れていないが,クワイン・マクラスキー法というものもある.
どのようなものか各自で調査し,同様にプログラムを作成しなさい.
という課題です。
よろしくお願いします
677 :
デフォルトの名無しさん:2010/12/17(金) 18:28:07
改行多すぎて表示されてないように見えるだけじゃね?
大文字入力か小文字入力か選択させて、選択した通りに変換して出力するプログラム
http://codepad.org/4WVt2eoI 起動しますが、↓のようになってしまいます。
文字数を入力:3
小文字変換は's',大文字変換は'd'と入力:1番目の文字を入力:s
2番目の文字を入力:3番目の文字を入力:
どなたか教えてくださいまし!
>>682 scanf( "%d", &n ); に対して 3\n を入力すると、n に 3 が代入されるけど、stdin のバッファには \n が残ってる
その後に scanf( "%c", &moji ) を実行するとバッファの \n がmoji に代入されるから入力を待たずに復帰する
> 小文字変換は's',大文字変換は'd'と入力:1番目の文字を入力:s
この行はこれで説明が付くけど
> 2番目の文字を入力:3番目の文字を入力
こうはならない気がする
scanf は癖が有るので対話的入力を行うなら fgets() で一旦文字列として受け取ってから sscanf() で必要な項目を
抽出した方が良いと思うよ
char tmp[128];
fgets( tmp, 128, stdin );
sscanf( tmp, "%d", &n );
みたいな感じで
蛇足だけど scanf("%s",&str[i]); ではなく scanf( "%c", &str[i] ) じゃないかな、%s だとバッファオーバーランの可能性が生じる
>>685 ありがとうございます。
ただ、何故か大文字変換ができません。↓のように出力されます(小文字はできます)。
文字数を入力:2
小文字変換は's',大文字変換は'd'と入力:d
1番目の文字を入力:d
2番目の文字を入力:s
文字列:ss
変換後:SS
>>686 なぜssになるんだ?bcc だとちゃんと ds -> DS になるよ
張ったコードを確認しようにも codepad が開かない、ハテ?
codepadにわざと重いコードを山ほど貼り付けてフリーズさせてるアホがいるんじゃね?
ガラパゴスの黄色いサルへ
自分たちで黄色いサル用のcodepad作ってください
691 :
デフォルトの名無しさん:2010/12/18(土) 11:28:16
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):キーボードからいくつかの浮動小数点を読み込み、そのうち正の数値だけの
合計を求めて表示するプログラムを作りなさい。数値の個数は事前には分からないものと
し、0が入力されたら、合計すべき数値が尽きたものとする。
[3] 環境
[3.1] OS: MAC OS X
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 12月20日
[5] その他の制限: ifとforを使ってください、よろしくお願いします
#include <stdio.h>
int main(void)
{
double d, sum = 0.0;
printf("正の数値を入力して下さい。\n");
for (; scanf("%lf", &d) != EOF; )
{
if (d == 0.0)
{
break;
}
else if (d > 0.0)
{
sum += d;
}
}
printf("sum: %f\n", sum);
return 0;
}
>>680 double型の変数をループカウンタに使うなカス
>>692 forがifとしてしか機能してないけどいいのか
題意的な意味で
>>691 #include <stdio.h>
int main(void)
{
double indata, total=0.0;
for(; printf("INPUT(end:0) > "), scanf("%lf", &indata) != EOF; )
if(indata == 0.0) break;
if(indata > 0.0) total += indata;
printf("TOTAL = %g\n", total);
}
>>691 #include <stdio.h>
int main(void)
{
double indata, total=0.0;
printf("INPUT(end:0) > ");
for(; scanf("%lf", &indata) != EOF & indata != 0.0; )
if(indata > 0.0) total += indata;
printf("TOTAL = %g\n", total);
}
for()の{}消したの忘れてた!
double に対して == 判定を行うのは良い習慣ではないので改めた方が良い