宿題、手伝おっか?
レス数が1000を超えています。これ以上書き込みはできません。
0001えれな
NGNG宿題、判らないところとかがあったら、聞いてね。
怜さんの前スレはこちら、
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
キーワードがわかってるなら、googleで探してね。
http://www.google.co.jp/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGあなたの宿題、お姉さんが答えます
http://piza.2ch.net/tech/kako/972/972032579.html
で登場。
●麻衣
お兄ちゃんの宿題、私が答えるよ
http://pc.2ch.net/tech/kako/982/982853418.html
で初登場。可愛い妹キャラ。ひろゆき(?)を奪われ怜に嫉妬して
いるらしい。
●お兄ちゃん(ひろゆき(?))
宿題見てやるよ
http://pc.2ch.net/tech/kako/1003/10038/1003838158.html
で初登場。しかし、女性がいいという影の圧力により
1以外には登場せず。
●怜
宿題みてあげるっ
http://pc.2ch.net/test/read.cgi/tech/1007902384/l50
で初登場。お兄ちゃん(ひろゆき(?))の恋人。
結構親切に答えてくれる年上キャラ。
0007デフォルトの名無しさん
NGNG先生に>>1の性癖を調べてこいといわれました!
教えてください!
0008sprit
NGNG0009デフォルトの名無しさん
NGNG@a = split(/,/,$b);
0010えれな
NGNGからきたのね。C言語で、ってきちんと言わないと、私も>9さんみたいに
var = "1,12,456"; array = var.split(/,/);
って答えちゃうよ。
そうそう。C言語なら、
・','のあらわれる回数をしらべる
・mallocでポインタの配列を確保する
・forとかで、strtokを使って、その配列にポインタを入れていく。
という方法で、できると思うよ。
0011デフォルトの名無しさん
NGNGif (str[i] == ',') {
prats[pa] = '\0';
} else {
prats[pa] = str[i];
}
}
0012デフォルトの名無しさん
NGNGstrが文字列リテラルだという罠。
0014自慰、手伝おっか?
NGNG00159
NGNGもしかしてその>>8って漏れのこと?いっとくが漏れは>>617じゃないよ。
単純に一番楽に実装できるコードを教えただけ。
>>10で言ってるスレはみてなかったもんで、追い出されてたとは知らんかった。
むかつくのは分かるが、確信もって言ってね。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG麻衣は産休中です。
0018麻衣派
NGNG麻衣ファンの皆様、ごめんなさい。
0019代打名無し
NGNGキーボードから円を入力すると,ドルに変換するプログラムを作成しなさい。
なお,変換レートは本日分の値を使用し,
変換値の表示は小数点第1位までとすること。
角度を−90〜90度まで5度ステップで変化させ,
そのときの正弦関数と余弦関数の値をディスプレイに並べて表示する
プログラムを作成しなさい。
なお,正弦関数と余弦関数の値は,小数点以下3桁で表示しなさい。
下記の指示にしたがって解答しなさい。
1 キーボードから1より大きい整数値nを入力して,
その階乗n!を計算し,結果を表示するプログラムを作りなさい。
その際,nが1以下の時には,
nが1より大きい値となるまで入力を繰り返し求めるようにする。
また,階乗の値は double 型とする。
n!=2×3×4×・・・×(n−1)×n
2 作ったプログラムをコンパイルし,正しく動作することを確認したら,
15!を求め,画面に表示された通りを答えなさい。
0020デフォルトの名無しさん
NGNG最初の問題だけです。
(defun yen$ (x &optional (rate 130))
(format t "~,1F~%" (/ x 130)))
0021デフォルトの名無しさん
NGNGすぐ上で「言語もちゃんと書けよ」って言われた直後にそれかい。
あと、画面に表示する課題がでてるけど、xlib? GTK+? Tcl/TK?
それとも、コンソール画面で * とかを表示して?
0022デフォルトの名無しさん
NGNGグラフで出力するとは書いてないし...
0023麻衣派
NGNGfor(i=-90;i<=90;i+=(90+90)/5){
printf("sin(%d):%.3f\n",i,sin(i));
printf("cos(%d):%.3f\n",i,cos(i));
}
------------------
int p(int n)
{
if(0==n)return 1;
return p(n-1)*n;
}
int main()
{
int n;
do{
scanf("%d",&n);
}while(n<=0);
printf("%d\n",p(n));
return 0;
}
0024デフォルトの名無しさん
NGNG(defun yen$ (x &optional (rate 130))
(format t "~,1F~%" (/ x rate)))
(defun inputyen ()
(yen$ (read)))
0025デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/prog/1003156727/l50
0026デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1009190994/l50
0027デフォルトの名無しさん
NGNG他スレまでチェックしてなくてスマソ。(w
0028デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/unix/1010749468/495-
こりゃアレだな。どのスレがどういう反応を返すか確認するテスト。
0029デフォルトの名無しさん
NGNGなるほど。つまりこの後に本命が来るわけか。
# C言語系のBBSにもポストしてるんだろーな。きっと
0031デフォルトの名無しさん
NGNGこの解答は正しくありません。
0032ひろゆき
NGNG語尾のぁぃぅぇぉ具合が足りない。
誰も怒らない。普段の喋り方でいい。
0033麻衣派
NGNG0034デフォルトの名無しさん
NGNGお姉さんのスレ・・・わざとなのか?
あのお姉さんの頼りなさ・・・。
なんか自作自演っぽい所も含まれてるし・・・。
怜スレ作ったのも同一者なのだろうか。
0035デフォルトの名無しさん
NGNGもともとネタスレだったと思われ
0036デフォルトの名無しさん
NGNGそれだけじゃないよ。
0037えれな
NGNG>>5度ステップで変化させ
>i+=(90+90)/5
は、 i+=5だよっ。
0038デフォルトの名無しさん
NGNGまだ、まだっ!
0039デフォルトの名無しさん
NGNGご教授ください。
プログラムの仕様は以下のとおりです。
-------------------------------------
1、概要
このプログラムは登録、更新、削除、復旧、終了、表示、保存の機能を持った商品管理プログラムです。
各情報は商品コード、価格、商品名、登録日、有効フラグを持っています。
登録データは不定数である為、メモリアロケーションを行います。
削除されたデータは削除テーブルに移動し、商品コードを開放する。
削除テーブルのデータは普及コマンドで普及された場合に新しい商品コードで再登録する。
2 商品のデータテーブル情報
商品コード:一意(10〜100)
価格(100〜1000万)
商品名(半角50文字まで)
登録日
→以上のデータを構造体商品情報として設定する。
3 起動オプション
引数として、データファイルを指定する。
ファイルが指定された場合はファイルの内容をテーブルに展開する。
4 機能
<コマンド>
add (A) : 登録 change (C) : 更新
delete (D) : 削除 undelete (U) : 普及
end (E) : 終了 print (p) : 表示
save (S) : 保存 read (R) : 読出
help (?) : コマンド表示
<
0040デフォルトの名無しさん
NGNG続き
<登録> 商品名、価格を入力
入力された情報が正当化判定する。
商品情報テーブルの領域を確保する。
入力された情報を設定する。
商品コード、日付を取得し、設定する。
<更新> 商品コードを入力し、商品名、価格の入力を行う。
入力されたコードが正当化判断する。
入力されたコードのテーブルを入力された商品名と価格で上書きを行う。
登録日を取得し上書きする。
<削除> 商品コード名を表示する。
入力されたコードのテーブルを削除テーブルに移動する。
入力されたコードのテーブルのフラグを未使用にする。
<復旧>
削除済み情報を表示する。
情報番号の入力を求める
新しいコードを取得設定する。
<終了> プログラムの終了を行う。メモリの開放なども行う。
入力情報を保存するか聞く
保存ファイル名の入力を求める。
<表示>
抽出条件(等しい、以上、以下)を設定し、対象項目を設定
ソート項目の設定、昇順、降順を設定する。25件毎に入力待ちを行う。
入力項目を抽出条件で検索する。
検索結果のソートを行い、25件ごと表示する。
<保存>
ファイル名の入力を求める。
現在のデータを保存する。
<読出>
ファイル名の入力を求める。
ファイルからデータを読み出す
0041デフォルトの名無しさん
NGNG続き
5 画面イメージ
起動後最初に画面をクリアする。
<起動画面>
商品管理システムVer0.01
コマンドを入力してください(HELPは?)
<登録>
登録:商品名を入力してください XXXX
登録:価格を入力してください(半角) xxx
<更新>
更新:更新する商品コードを入力してください(半角) xxxx
更新:商品名を入力してください。 XXX
更新:価格を入力してください(半角) xxx
<削除>
削除:削除する商品コードを入力してください XXXX
<復旧>
番号 商品名 価格
---------------------------------
XXXX XXXXXX XXX
XXXX XXXXXX XXX
復旧する番号を入力してください(キャンセルはC) XXXX
0042デフォルトの名無しさん
NGNG続き
<表示>
表示:抽出項目番号を入力してください
1 商品コード
2 商品名
3 価格
4 登録日
XXXX
表示: 抽出条件を入力してください
1 以上
2 等しい(商品名は等しいのみ)
3 以下
XXXX
表示:条件を入力してください XXXXXXX
表示:ソート項目番号を入力してください
1 商品コード
2 商品名
3 価格
4 登録日
xxxxx
昇順、降順を選んでください
1 昇順
2 降順
xxxx
画面をクリアする
商品コード 商品名 価格 登録日
------------------------------------------------
xxxxxxx XXXXXXXXX xxxxx xxxxxxxx
xxxxxxx XXXXXXXXX xxxxx xxxxxxxx
次の情報を表示します。リターンを押してください。
<終了>
入力データを保存しますか?
ファイル名を指定してください XXX
<保存>
ファイル名を指定してください XXX
<読出>
ファイル名を指定してください XXX
0043デフォルトの名無しさん
NGNGで、あんたは何が分からないの?
というか何なら分かるの?
どこまでプログラム作った?
問題文はちゃんと読んだか?
とりあえずな、氏ね。
(´-`).。oO( >>1に丸投げヤメロとは書いてないな、丸投げありかい… )
0044デフォルトの名無しさん
NGNG環境を教えてください。
0045デフォルトの名無しさん
NGNG氏ねは無いだろう。
でも他は同意、結構面倒だと思うんだけど
全部やれと言うの?>>39
0046デフォルトの名無しさん
NGNGDBはSQL鯖とか使っていいの?
つーかOSは?
ここら辺教えてくんないと、何も教えれないのだが。
0048デフォルトの名無しさん
NGNGもっと勉強して出直します。
ちなみに環境はUNIXです。DBは使用しません。
まことに申し訳ありませんでした。
0049デフォルトの名無しさん
NGNG確かに。
スレタイもあくまで"手伝おっか?"であって"私がやってあげる"
ではないからな。
0050デフォルトの名無しさん
NGNGまずこんな構造体を作る。
typedef struct t_data{
char m_id; // 商品コード
int m_price; // 価格
char *m_name; // 商品名
int m_y,m_m,m_d; // 日にち
}TABLE;
あとはこれに対して、入出力処理を行う。
分かった?
0051デフォルトの名無しさん
NGNG>char *m_name; // 商品名
よりも
char m_name[]; // 商品名
のほうがいいような気がするんだけど・・・
ポインタにする意図がわからん。
これって俺が未熟なだけ?
005243
NGNG> 商品名(半角50文字まで)
なんで、
char m_name[51];
の方が、管理が楽ちんかな。
…という風に、問題切り分けて聞けば
ここに居る暇人は答えてくれるのよ>>1
0054デフォルトの名無しさん
NGNGメモリが有効に使えるから。
新しいレコード作成時に
・・・
data->m_name = malloc(sizeof(name));
・・・
とするの。
16ビット開発がメインだったので、どうしてもメモリの無駄遣いが許せない。
0055デフォルトの名無しさん
NGNG> 16ビット開発がメインだったので、どうしてもメモリの無駄遣いが許せない。
気持ちはわかる。
ただ文字列を配列に格納しておけば、ファイルとの入出力も楽だしなぁ…
メモリに置かずにファイル操作を主体にして、必要分を読み込むとか。
どんどん本題と外れてく…
005651
NGNGchar m_name[]; で宣言してreallocするのはだめですか?
0057デフォルトの名無しさん
NGNGあなたの意図するところと外れているかもしれないけど、
スタックとヒープって分かる?
005851
NGNGだめじゃん、俺何を言ってるんだろう。
激勘違いです。
005951
NGNGchar m_name[51]にはポインタを格納する場所が無い・・・
m_nameは配列の先頭のポインタを返すだけで、
ポインタを格納できる変数では無い・・・
と、言うことでいいのでしょうか?
0060デフォルトの名無しさん
NGNG58で“だめじゃん”と書いたのは、
char m_name[10];
m_name = realloc(m_name, 51);
まさかこんな感じのコードがコンパイル通らなかったから、
とか言わないよね?
char* ptr = (char*)realloc(m_name, 51);
これならコンパイル通っちゃうけど、駄目というのは分かるよね?
0061デフォルトの名無しさん
NGNGtypedef(略
struct t_data *next;
(略
0062デフォルトの名無しさん
NGNGtypedef(略
struct t_data *next,*prev;
(略
0063デフォルトの名無しさん
NGNG↓俺のサイト
http://www.geocities.co.jp/SiliconValley-Sunnyvale/2206/
006451
NGNG>m_name = realloc(m_name, 51);
m_name は左辺値じゃないから・・・ですよね?
>char* ptr = (char*)realloc(m_name, 51);
reallocはmallocとかcallocとかで取得したポインタ用に作られてるからですか?
的外れな答えだったらごめんなさい。
マジでC初めて一ヶ月にも満たない初心者なんです。
もし違ったら、どこが違うのか教えてください。
0065デフォルトの名無しさん
NGNG不正解。
0066デフォルトの名無しさん
NGNGalloc系はヒープ(動的)領域にメモリが確保される
0067デフォルトの名無しさん
NGNGどう表現すればいいのでしょうか?
If TextBox1.value= ??
また、テキストボックス内の20000000のような数字を
20,000,000のようにカンマ表示にするにはどう記述すればいいのでしょうか?
0068デフォルトの名無しさん
NGNG> >m_name = realloc(m_name, 51);
> m_name は左辺値じゃないから・・・ですよね?
m_nameに代入できない、という意味ではその通り。
> >char* ptr = (char*)realloc(m_name, 51);
> reallocはmallocとかcallocとかで取得したポインタ用に作られてるからですか?
まぁ、そういう事。
realloc()に渡すポインタには、ヒープに確保したメモリブロックを指す物を使う。
先のカキコ見て、ちと心配になったでおせっかい。
006951
NGNGヒープ領域って、
newとdeleteとかのアレですか?
スタック領域って、
char a[]="abc";
とかやったときの、"abc"っていう文字列定数が入るところですよね?
ありゃ?そういえば、staticとかの宣言をした変数はどっちに入るんだろう・・・
うう、だめだ。知識無さ過ぎる。
0070デフォルトの名無しさん
NGNGif textbox.value = int(textbox.value) then
カンマ表示
stringに変換して、右よりスキャンしながらカンマを挿入していく。
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG> うう、だめだ。知識無さ過ぎる。
うん、でも始めて一ヶ月なら仕方ないよ。
とりあえず、“文字列定数”はスタックには置かれない。
スタックに確保されるのはここでいえばa[]とかのローカル変数ね。
(そういう意味で逝ってるのだと思うけど)
本読んで勉強しちくり。
007451
NGNGスレをあげまくって一方的に質問してるにもかかわらず、
愚かな厨房に対してこんなに親切に教えてくれて・・・感激です。
プログラム板って凄いんですね。
(今までプログラムいじってなかったのでこの板を訪れることは無かったのです)
2chってなんか、どす黒い印象があったんですけど、
この板は凄いです!そういえば、Unix板とかも伝説になってますし、
プログラマの人たちって本当に偉大ですね。
私もプログラマの卵として、誇りに思いたいです。
そして、早く偉大な先輩たちに追いつけるよう、よりいっそう努力します。
今日は本当にありがとうございました。
最後は穏やかにsage...
0075デフォルトの名無しさん
NGNGVBAでもFormat使えるでしょ?
007667
NGNGありがとうございます。
Formatって
MyStr = Format(5459.4, "##,##0.00")みたいなやつですよね?
再度の質問で恐縮ですが、Excelのセルと同じように
1の位から3桁ごとにカンマをつけるにはどうすれば良いでしょうか。
0077デフォルトの名無しさん
NGNGサッパリ方法がつかめません。
PHPエキスパートの方、是が非にご援助お願いします。
「100万円銀行から借りると一ヶ月で一割の利子がつく。一年経ったら
金額は幾らになるか?」
フォームとかはいらないので計算結果のみが
表示されれば大丈夫です。PHP習って50日も経ってないのに・・・
0078デフォルトの名無しさん
NGNGそれって複利計算?
0079デフォルトの名無しさん
NGNG0080えれな
NGNGGetCurrencyFormat ,GetNumberFormat API
みたいなのを使ったら便利かも。
>77
<?
$br = 100*10000;
for( $i=0; $i< 12; $i ++)
$br += $br/10;
echo "$br";
?>
でいいのかな?
0081デフォルトの名無しさん
NGNGの方がいいかもよ。
0082デフォルトの名無しさん
NGNGズダーン・・・
ぐるがは逝った。
0083PHP厨房77です
NGNGそ、それです!!
ワタシも説明不足でした。
宿題提出して逝って来ます
100万円→110万円→121万円→133,1万円
複利方式でした・・・
0084麻衣派 ◆COx/Mai.
NGNGこれでどうですかっ!!>>37
for(i=-90;i<90;i+=5){
printf("sin(%d):%.3f\n",i,sin(i*3.14/180));
printf("cos(%d):%.3f\n",i,cos(i*3.14/180));
}
0085デフォルトの名無しさん
NGNG0087ダダダダーん!
NGNG0088麻衣派 ◆COx/Mai.
NGNG>その際,nが1以下の時には,
ごめーん…。
0089えれな
NGNG行列?行列式?公式?
Cで表現するところ?
締め切り間近で、答えがほしいのかな?
ところで、どういうふうに入力するの?
0090デフォルトの名無しさん
NGNGおおっ! それは気付きませんでした。
それに、謝らなくていいです。楽しませてもらってるので。
(問題を書きこんだ人はどう思ってるか知らないけど。)
0091デフォルトの名無しさん
NGNG{
int n;
while (scanf("%d", &n) == 1) {
if (n > 0) {
double fact = 1.0;
int i;
for (i = 0; i < n; fact *= ++i);
printf("fact(%d) = %.0f\n", n, fact);
return 0;
}
}
return 1;
}
0092デフォルトの名無しさん
NGNG88 見た?
0093ダダダダーん
NGNG0094麻衣派 ◆COx/Mai.
NGNG見たよっ。
double型かー。
0095デフォルトの名無しさん
NGNGスマソ。
if (n > 1) {
0096ダダダダーん
NGNG0097ダダダダーん
NGNG0098デフォルトの名無しさん
NGNGおまえはもう書き込むな。
仕様(問題)の説明もできないのに、教えろ教えろって連呼しても無駄だよ。
っていうか迷惑。
0099デフォルトの名無しさん
NGNG0100えれな
NGNGこんな感じかな?
int main()
{
printf("宿題は以下の通り: 宿題を作ること。\n");
return 1;
}
0101デフォルトの名無しさん
NGNG>「Cramerの公式」はたんなる解の表現形式にすぎず、間違ってもこの公式で解を求めようというものではない
0102デフォルトの名無しさん
NGNGprintf("宿題\n");
while(1){
printf("%d*%d=",rand(),rand())
}
0103デフォルトの名無しさん
NGNGTVector Cramer(TMatrix A, TVector B)
{
TVector result( 0 );
double dA=A.determinant();
if (dA==0) return result;
result.SetLength(B.size() );
for(int i=0 ; i<B.size() ; i++)
{
TMatrix C= A.displaceCramer(B,i) ;
result.setValue( i , C.determinant()/dA );
}
return result:
}
0104デフォルトの名無しさん
NGNG97を弁護する気は全くないが、一応言っておくと、
確かにクラメルの公式で解を求めるのはダルイが、
計算機でやるぶんには全く問題無い。
>>97
宿題はあきらめて、まともに質問できるくらいの知識を得てこい。
0105デフォルトの名無しさん
NGNGその後先生に提出して、アドバイスをもらい、コンパイルはできたのですが、
プログラムとして正常に動くのかどうかは判断できません。
どなたか評価していただけないでしょうか?
特にaはcharで宣言しましたが、これでいいのかどうか。
また、iの使い方などをチェックしていただけたらと思います。
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
char a;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min, n;
if ((fp = fopen("Temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
i = 0;
a = fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
while ( a != EOF ) {
++i;
a = fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
}
max = 0;
for (i = 1; i < n; i++) {
if (hi[max] < hi[i]) {
max = i;
}
}
printf("最高気温, 日付=%g\n, %g\n", hi[max], max);
min = 0;
for (j = 1; j < n; j++) {
if (lo[min] > lo[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %g\n", lo[min], min);
fclose(fp);
}
0106デフォルトの名無しさん
NGNGいや、動くかわからないんじゃなくて、ためしに動かしてみるものじゃ
ないのか? こういうデバッグ作業も課題のうちだよ。
何十年前みたくコンパイルして実行したら何時間も待たないといけない
ような時代じゃないんだし。
0107名無し
NGNGローカルな変数 'n' に対して参照が行われました。
0108デフォルトの名無しさん
NGNGありがとうございます。
確かにおっしゃる通りだと思います。
楽しようと考えてしまいました。
ですが、実際にdatファイルがあり、それを読み込むというの習っていないし
テキストにも載っていないので、ヒントだけでもいただけないでしょうか?
temp.datを作って、デスクトップに置いたのですが、読み込まれませんでした。
>>107
ありがとうござます。
nは使っていないので削除しました。
0109デフォルトの名無しさん
NGNG********************************
次のように、一行に日付けとその日の最低気温、
最高気温が記録されたファイル(ファイル名:temp.dat)があるとする。
_____________________
1 10.0 30.0
2 12.1 28.8
3 11.3 25.2
4 10.5 27.4
5 13.1 28.0
・・ ・・・・ ・・・・
_____________________
このファイルを読み込んでファイルの中での最高気温が最も高い日の
日付と最高気温、
同様に最も低い最低気温とその日付を表示するプログラムを作成せよ。
0110デフォルトの名無しさん
NGNGTemp.datの中身はちゃんと書いた?
空のファイル作ったって読み込めないよ。
あとデスクトップに作ってもだめかもね。
0111デフォルトの名無しさん
NGNGファイルから読めないんだったら、
double hi[100]={1.0, 2.0, ... };
のようにすればいいよ。
nについては....。
もっとよく考えてみたら?
0112デフォルトの名無しさん
NGNG> 特にaはcharで宣言しましたが、これでいいのかどうか。
駄目。
0113デフォルトの名無しさん
NGNGはい。書きました。
どこに置けば。。。
>>111
その方法で考えたら訳わからなくなってしまいました。
できればファイルを読みこむかたちで作動させたいです。
nは使ってましたね。ご指摘ありがとうございます。
あせっております;;
>>112
えっっ;;
これはどういう宣言をしたらいいのでしょうか?
配列でもないですし、、。
もしかして、このプログラム、もっと大きな部分で間違ってます?
0114デフォルトの名無しさん
NGNG実行可能ファイルはどこに?
それと同じ場所においておけばいいとおもう。
0115デフォルトの名無しさん
NGNGとりあえず、ここをみましょう。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fscanf.3.html
0116デフォルトの名無しさん
NGNGここは、完全に狂ってる。
授業料は一年分一括前払いなので、
金が入れば、生徒は要らない
金を振り込んだら、何とかその生徒を辞めさせようと
講師どもが、あの手、この手でイヤガラセをしてきますね。
セクハラはもちろん、脈絡の無い罵倒は日常茶飯だね。
酒臭い講師もいるし・・・ 人生の最果て中央高等学院
学歴詐称、経歴詐称、合格実績詐称、デタラメ授業、
http://www.chuo-school.ac/
http://chs-f.com/index.html 中央高等学院福岡校
司法浪人の田中校長は ↑ また司法試験に落ちましたが
HP上では下らない見栄を張っています
0117C言語教えてください
NGNG15個以内の点数を入力し、その最高点・最低点・合計点・平均点を出力する関数
(tensu)を作成せよ。ただし、点数=9999の入力で終了とする。
条件 while文を使用すること。
入力するデータ 80,75,98,29,35,50,100,0,61,88
出力結果 最高点 =====> 100点
最低点 =====> 0点
合計点 =====> 616点
平均点 =====> 61.6点
0118デフォルトの名無しさん
NGNG丸投げするやつには教えてやんない。
0119デフォルトの名無しさん
NGNG試してるのか?(w
0120C言語教えてください
NGNGではさようなら。
0121デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
printf("出力結果 最高点 =====> 100点\n");
printf(" 最低点 =====> 0点\n");
printf(" 合計点 =====> 616点\n");
printf(" 平均点 =====> 61.6点\n");
while(0);
return 0;
}
0122デフォルトの名無しさん
NGNGさようなら。
それにしても 117 の問題文はちょっと変ですね。
即興で作ったのだろうか?
0123デフォルトの名無しさん
NGNG> while(0);
にワラタ
0124デフォルトの名無しさん
NGNGワラタ!
入力がないけどね。
0125デフォルトの名無しさん
NGNGいつも学校でそう言われてるのか。(w
プログラミングが苦手だったら、LOGOからはじめるといいぞ。
0126デフォルトの名無しさん
NGNG・・・・
}while(0);
にすれば何ら問題無い、全然ひねくれてないね w
0127デフォルトの名無しさん
NGNGこんな簡単な問題で試そうと思ったのですか?話になりませんね。
ではさようなら。
0128117
NGNG入力も入れてみた
static intint input(int *s, int n) { int i; printf("入力するデータ ");
for(i = 0; i < n && scanf("%d,", &s[i]) && s[i] != 9999; i++);return i; }
static int max(int *s, int n) { int i, r = INT_MIN;
for(i = 0; i < n; i++) if(r < s[i]) r = s[i]; return r; }
static int min(int *s, int n) { int i, r = INT_MAX;
for(i = 0; i < n; i++) if(r > s[i]) r = s[i]; return r; }
static int total(int *s, int n) { int i, r = 0;
for(i = 0; i < n; i++) r += s[i]; return r; }
static double avg(int *s, int n) { return (double)total(s, n) / (double)n; }
int main(void)
{ int s[15], n;
n = input(&s[0], sizeof s / sizeof *s);
printf("出力結果 最高点 =====>%6d\n", max(s, n));
printf(" 最低点 =====>%6d\n", min(s, n));
printf(" 合計点 =====>%6d\n", total(s, n));
printf(" 平均点 =====>%6.1lf\n", avg(s, n));
while(0);
return 0;
}
0129デフォルトの名無しさん
NGNGいいね!
0130105
NGNG105です。
>>114
実行可能ファイルというのはなんでしょう?
環境としては、学校のPCでテラタームを使って
プログラミングしております。
programfiles>Ttermpro
の中には入れることができませんでした。
>>115
読みました。
数を返すということはintでいいのでしょうか。
0131デフォルトの名無しさん
NGNG> 関数(tensu)を作成せよ。
0132デフォルトの名無しさん
NGNGテラタームっていうのは、別のパソコンにログインして、そのパソコン
を操作するソフト。
面倒なので説明は省くが結論としては、テラタームでプログラム書いた
のと同じように、テラタームでデータファイルつくりなされ。
0133デフォルトの名無しさん
NGNG> 実行可能ファイルというのはなんでしょう?
コンパイルが正常終了したときにできるファイル
Unixだとa.out Winだとexeファイルのこと
0134デフォルトの名無しさん
NGNGということは、Unix系のOSですね?
プログラムをコンパイルすると実行形式のファイルができるのですが、
あなたの使っている環境にはインタプリタでも入っているのでしょうか?
データファイルはカレントに作ればよいでしょう。
それから fscanf ですが、返り値の意味はわかりますか?
0135105
NGNGおおありがとうございました。
muleでtemp.datを作ったら、実行できました。
結果からみると
最高気温, 日付=15
, 4.24399e-314
最低気温, 日付=5
, 0
ミスがあるようなので、考えてみます。
datファイルは以下のとおり
1 15 5
2 14 4
3 13 3
4 12 2
5 11 1
ともあれ一歩前進して嬉しいです。
0136>
NGNG#include "math.h"
#define EPS (0.00001)
#define N (9)
void cpy(float a[N][N],float b[N][N],int n)
{
int i,j;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
a[i][j]=b[i][j];
}
void del(float a[N][N],int k,int n)
{
int i,j;
for (i=k; i<n; i++)
for (j=0; j<n; j++)
a[i][j]=a[i+1][j];
for (j=0; j<n; j++)
for (i=0; i<n; i++)
a[i][j]=a[i][j+1];
}
float dat(float a[N][N],int n)
{
int k;
float ret=0.0,e[N][N];
if (n==2)
return a[0][0]*a[1][1]-a[0][1]*a[1][0];
for (k=0; k<n; k++){
cpy(e,a,n);
del(e,k,n);
if (k % 2)
ret -= a[k][0] * dat(e,n-1);
else
ret += a[k][0] * dat(e,n-1);
}
return ret;
}
0137続き
NGNG{
int n,i,j,k;
float a[N][N],b[N],c[N][N],d;
printf("n=?");
scanf("%d",&n);
if (n > N){
printf("%d > %d .\r\n",n,N);
return 0;
}
for (i=0; i<n; i++)
for (j=0; j<n; j++){
printf("a%d%d=?",i+1,j+1);
scanf("%f",&(a[i][j]));
}
for (j=0; j<n; j++){
printf("b%d=?",j+1);
scanf("%g",&b[j]);
}
d=dat(a,n);
if (fabs(d) < EPS){
printf("|a| = 0\r\n");
return 0;
}
for (k=0; k<n; k++){
cpy(c,a,n);
for (j=0; j<n; j++)
c[k][j]=b[j];
printf("x%d=%g\n",k+1,dat(c,n)/d);
}
return 1;
}
0138105
NGNGありがとうございました
0139>>87
NGNG作ってみた。遅かったみたいね。スマソ
0140105
NGNGいいえ、OSはウィンドウズです。
0141デフォルトの名無しさん
NGNG「あなたの使っているPCが」ですね?
0142105
NGNG>データファイルはカレントに作ればよいでしょう。
>それから fscanf ですが、返り値の意味はわかりますか?
学校が時間切れのようなので、
また、明日にでも考えてみます。
0143105
NGNG0144デフォルトの名無しさん
NGNG>コンパイルが正常終了したときにできるファイル
正確に言うとコンパイルとリンクね。
0145デフォルトの名無しさん
NGNG"http://www.geocities.co.jp/Milkyway-Orion/1524/fre12dqc.wav");
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGそれ以外を無くすと、ものすご怖いです。
0148デフォルトの名無しさん
NGNGわかりやすい!
けどコンピュータで怖いかどうか判断するのは眉毛だけ抜き出すのよりも難しいと思うわれ。
0149デフォルトの名無しさん
NGNG0150150
NGNG0151麻衣派 ◆COx/Mai.
NGNG目を捜す。(白黒白のパターン?)
その上のほうにある眉毛色っぽい領域がそれ。
逆立ちしているときは、、、
どうしよう…。
0152生徒B
NGNG文字列をunsigned char型に「数値として」格納したくて下のようなプログラム書いたのですが
無駄が多い気がするので、よろしければご指導おねがいします!言語はC/C++です!
char num[]="ff"; //入れたい数値。
char head[]="0x";
strcat(head,num);
unsigned long numul=strtoul(head,NULL,NULL);
unsigned char numuc=(unsigned char)numul;
0153麻衣派 ◆COx/Mai.
NGNGなにをしたいのかよくわからないけど…
unsigned char n=0xff;
じゃ、ダメなの?
>>151
目をつむっているときは、、、
どうしよう…。
0154デフォルトの名無しさん
NGNG無駄とかなんかそんなことより
> strcat(head,num);
これはいいのか?
0155生徒B
NGNGすいません。ここではchar num[]="ff"; と固定して書いたんですけど、
ホンとはこのnumにいろんな値が入ってくるのですよ。
・・・で、strtoulで16進と認識してもらうために"0x"つけたのですが・・・
やばいっすかねぇ・・・。
0156デフォルトの名無しさん
NGNG0157えれな
NGNGisxdigitと組み合わせて、ループまわした方が簡単そう。
0158麻衣派 ◆COx/Mai.
NGNGあー、文字列で表された数字ね。
でもそれってstrcat()していいんですか。
それと、strtoulの第3引数はintです。
0159デフォルトの名無しさん
NGNG書き込んでしまうね。
たぶん >>152 の期待する添削結果は
char num[] = "ff";
unsigned char numuc = strtoul(num, NULL, 16);
だと思うな。
0160生徒B
NGNG最終的には159さんの方法でやらせていただきました。
>>154
ご指摘の通りです。うっかりしてました。
>>156
sscanf(num,"%x",numuc);でうまくできそうですね。ありがとうございます。
>>157
undumpっていうんですか。・・・・知りませんでした。鬱
0161デフォルトの名無しさん
NGNG何から始めればいいのかわかりません。
まず最初に何をすればいいのかを誰か教えてください。
0162デフォルトの名無しさん
NGNG「何の」検索サイトを作れと言われたのか。
それがわからないと誰もアドバイスしようもない。
また、それは「何の」授業の中でいわれたのか。
C の授業中に言われたのと perl の授業中に言われたのじゃ全然違う。
0163SI
NGNG屑
0164デフォルトの名無しさん
NGNG自称SIの実態は屑セールスマンな人ですか?
情死す板にでもお帰りやがりください。
0165デフォルトの名無しさん
NGNGあんたもナー
0166743
NGNG#include<math.h>
int n=10;
int func(int n){
if(n==1) return 1;
else return(n*func(n-1));
}
double func1(double x){
int i,a;
double z=1.0;
for(i=1;i<=n;i++){
a=func(i);
z+=1.0/a*pow(x,i);}
return z;
}
main(){
double x,z;
printf("please input x:");
scanf("%lf",&x);
z=func1(x);
printf("f(x)=%lf",z);
}
はeのx乗をもとめるものだがnがでかくなるとなぜオーバーフローするのか?
おしえてちょ。
0167デフォルトの名無しさん
NGNG0168743
NGNG0169
NGNG13桁だYO
0170デフォルトの名無しさん
NGNG「メモリクリーナとシステムリソースの表示・アラーム機能etc」などの
機能をもったソフトはどのようなジャンルに分けられるのでしょうか?
具体的なジャンル名などありましたら教えてください。
0171デフォルトの名無しさん
NGNG0172105
NGNG本当にありがとうございました。
もちろん参考資料として2ちゃんねるプログラム板を挙げておきます。
********************************************
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int k,a,n;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min;
if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
i = 0;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
while ( a != EOF ) {
++i;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
}
max = 0;
for (k = 1; k < i; k++) {
if (hi[max] < hi[k]) {
max = k;
}
}
printf("最高気温, 日付=%g\n, %d\n", hi[max], max+1);
min = 0;
for (j = 1; j < i; j++) {
if (lo[min] > lo[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %d\n", lo[min], min+1);
fclose(fp);
}
********************************************************
最高気温, 日付=15
, 1
最低気温, 日付=1
, 5
0173デフォルトの名無しさん
NGNGそれから、最低気温と最高気温の表示、まちがってるじょ。
da[i]は、どこへいっちゃったんだ?
0174146
NGNG目とか眉とか口とかそれ以外(鼻の穴とか)を
黒い部分(暗い部分)としては認識できるんですけど、
それらをどうやったら眉とかに分類してくれるんでしょうか?
0175デフォルトの名無しさん
NGNGリファクタリングしてみようか
・同じことは2度書くな
・初期化、条件判定、カウントがあるならforの方がすっきり書ける
> i = 0;
> a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
> while ( a != EOF ) {
> ++i;
> a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
> }
for(i = 0; fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]) != EOF; i++)
;
また、これでaの変数はいらなくなる。
0176デフォルトの名無しさん
NGNG> だからなんで、一旦配列にしまうんだろう。
あとで平均気温とかの仕様追加が発生したらとか考えると
微妙な問題だな...
0177親切な人
NGNGヤフーオークションで、幻の人気商品、発見!!!
今は無き「コピーガードキャンセラー」↓
http://page5.auctions.yahoo.co.jp/jp/auction/e5843828
ヤフーオークション内では、現在、このオークション
の話題で、持ちきりです。
0178105
NGNG173さんいう配列にしてしまうというご指摘は、
175さんのご指摘と同じですか?
あとda[]が・・。
提出したのに・・(泣)
また送ろう、しょうがない。
↓なら完成ですよね。
**************
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *fp;
int k,a,n;
int da[100];
double hi[100];
double lo[100];
int i, j, max, min;
if ((fp = fopen("temp.dat","r"))==NULL) {
printf("file open error!!\n");
exit(1);
}
i = 0;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
while ( a != EOF ) {
++i;
a=fscanf(fp, "%d %lf %lf", &da[i], &hi[i], &lo[i]);
}
max = 0;
for (k = 1; k < i; k++) {
if (hi[max] < hi[k]) {
max = k;
}
}
printf("最高気温, 日付=%g\n, %g\n", hi[max], da[max]);
min = 0;
for (j = 1; j < i; j++) {
if (lo[min] > lo[j]) {
min = j;
}
}
printf("最低気温, 日付=%g\n, %g\n", lo[min], da[min]);
fclose(fp);
}
0179デフォルトの名無しさん
NGNG黒い部分同士の位置関係(他の部分との角度や距離)を、「典型的と思われる」データと比較するってのは、ど?
0180デフォルトの名無しさん
NGNGそんなこと言い出したらきりないよ。
そのうち、もうちょっとましなコードが書けるようになるよ。
(経験つめばね。)
0181105
NGNGそうですね。
がんばります。
長らくお世話になりました。
みなさんお元気で。
0182デフォルトの名無しさん
NGNG教えてください!C++でお願いします!
0183デフォルトの名無しさん
NGNG意味不明。
四角形が二つ与えられて、それが重なっているかいないかを判定したいのか?
それとも四角形を動かして、重ならないようにしたいのか?
そのときに何か条件はないん?
あと、自分でどれくらいまで考えたかも書くように。
0184デフォルトの名無しさん
NGNGどんな感じと問われても…
割とシンプルだよね。
洗練されてるかどうかは、設計によるんじゃないかな。
そんな感じ。
0185デフォルトの名無しさん
NGNGprintf("△▽\n");
とか?
0186デフォルトの名無しさん
NGNG先生!!ちょっと俺の手に負えないので質問させてください
→Z
___________
| |
> |
>R |
> |
| =C
) |
)L |
) |
_________|_____|
上の回路でR=10KΩ、L=20mH、f=10KHzとしたときに
C=10pfから500pfまで5pf感覚で変化させたときの入力インピータンスZと
Zが最大になるときのCの値をプログラムで求めなさいと言う問題なのですが…
できますか?
0187デフォルトの名無しさん
NGNGそれだ!
って、そりゃ三角形だよ!! ヽ(`Д´)ノ
0188デフォルトの名無しさん
NGNG申し訳無いです、4角形を動かしてです。
ゲームとかで使うような押し合い判定って言うのかな?
そんなかんじです。
自分では、二つが重なっているかいないかを判定する所まではできたのですが・・
0189デフォルトの名無しさん
NGNG工業高校?電子基礎っぽい。
0190デフォルトの名無しさん
NGNG半年前くらいに似た奴をやったけど
もう、データ削除してしまった…
スマソ
0191デフォルトの名無しさん
NGNGはい、そうです
0192デフォルトの名無しさん
NGNG? 公式知ってんなら簡単だろ?
オレ、公式忘れちゃったもんねぇ〜。
0193191
NGNG落ちこぼれなんで高校生みたいなもんです
0194デフォルトの名無しさん
NGNG同じだね。学年は?
0195194
NGNG0196デフォルトの名無しさん
NGNGつまり、四角形を押して動かすってことか・・。
どのくらい物理的に正確にやる必要があるの?
0197デフォルトの名無しさん
NGNGRのインピータンスは?
Lのインピータンスは?
このとき、RLのインピータンスは?
C=xとしたときの、Cのインピータンスは?
このときの、入力インピータンスは?
順に考えてみてください。
0198186
NGNG例みたいなものもないし、先生は絶対教えてくれませんから
0199デフォルトの名無しさん
NGNGint zmax = 0 ;
int ans = 0 ;
for (int c = 10; c <= 500; c += 5) {
int z = 公式(c);
if (zmax < z) {
zmax = z;
ans = c;
}
}
intでいいのかfloatやdoubleが必要なのかは氏らね。
画面に出すともファイルに吐くとも書いてないんで出力の事も氏らね。
0200デフォルトの名無しさん
NGNGお〜っと、重症ですねぇ〜。
あなた一度でもプログラム組んだことあるの?
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGこの回路の入力インピータンスをあらわす式はわかるってこと?
じゃあ、まずいままでの最大のZを与える変数を用意しておく。
Zmaxと名前付けとくとする。で、これに十分小さい値をいれとく。
で、for文で、cを10から500まで5ずつ変化させて、そのときの入力
インピータンスZを計算させる。
このとき、ZがZmaxより大きければ、Zmaxを更新して、このときのCの値を
記憶しておく。
で、最後に記憶していたCを表示させればいい。
。。とここまで書いたら199氏がプログラム例示してくれてますね。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGだったら、一番簡単なのは、Aを動かしてBと重なったときに、
BをAが動いたのと同じ方向に動かすとして、どれくらい動かせば
重ならないか計算すればいい。
0206デフォルトの名無しさん
NGNGと言うことは、一次元でもいいのかな?
この手のものは、位置情報を保存するための
仮想マッピングテーブルを用意するといいのでは?
四角はどうやって表現するつもり?
0207えれな
NGNGx軸とy軸で分けて考えるといいよ。
+-------+
+--------+
っていうのがあったら、重なってる部分だけ、どっちかの
四角形をずらしちゃう(半々でも、かたっぽを固定してもいいかな)。
(四角形が速度とかもってたら、その反対方向に、
速度に比例するように分配するとか。その場合は、
衝突で速度を交換したりするひつようもあるんじゃないかな)
0208デフォルトの名無しさん
NGNG0209186
NGNG直列回路の場合の入力インピータンスは求められるようになりました
後は上記の図の場合どうすればいいか分かれば何とかなりそうです
>>199さん>>202さん
ありがとうございます
並列回路の場合のインピータンスの求め方が分かる方がいらっしゃいましたら
ぜひご教授ください
0210デフォルトの名無しさん
NGNG>>197を見てどこまでわかるか答えてみなされ。
まあ、AとBが並列だったら1 / (1 / A + 1 / B)
0211デフォルトの名無しさん
NGNG複素演算の話でねーの?
0212デフォルトの名無しさん
NGNGj^2=(-i)^2=-1
a//b=1/(1/a+1/b)
ω=2πf
0213デフォルトの名無しさん
NGNGこれからじっくり考えて理解しようと思います。
どうもでした!
0214デフォルトの名無しさん
NGNGスレ作成者がsageでいいの?
っていっても"sage"でなしに" sage"だから関係ないのか。
0215214
NGNG2chのシステムなら当然か。
0216デフォルトの名無しさん
NGNG56789
幅5で上の様に並べる場合、x=n%幅 y=n/幅で済みますが、
0259
148C
37BE
6ADF
の様に斜めに並べる場合のスマートな式が何も思い浮かびません。
どなたか知恵を貸しては頂けませんでしょうか。
0217デフォルトの名無しさん
NGNG0218えれな
NGNGこんなのかな?えれな、泥臭い方法しか思いつかないよ。
#include <stdio.h>
#define X 4
#define Y 5
int main()
{
int x, y, yy,i=0;
int p[Y][X];
for( y=0; y<Y; y++)
for( x = 0, yy=y; yy>0; x++,yy-- )
p[yy][x] = i++;
i=X*Y-1;
for( y=Y-1; y>0; y--)
for( x=X-1, yy=y; yy<Y; x--,yy++)
p[yy][x] = i--;
for( y=0; y< Y ; y++ ){
for( x=0; x< X; x ++ )
printf("%2x ",p[y][x] );
printf("\n");
}
}
0219えれな
NGNGしかもXとYが離れすぎると破綻しちゃうし
こんどこそ、大丈夫かな?
#include <stdio.h>
#define X 7
#define Y 5
int main()
{
int x, y, yy;
int p[Y][X];
int i = 0;
for( y=0; y<Y+X; y++)
for( x = 0, yy=y; x<X && yy>=0; x++,yy-- )
if( yy < Y && x < X )
p[yy][x] = i++;
}
for( y=0; y< Y ; y++ )
{
for( x=0; x< X; x ++ )
printf("%2d ",p[y][x] );
printf("\n");
}
}
0220デフォルトの名無しさん
NGNG一番左の数は、n行目の時(n-1行目の左端+n)だ。
次の行のあたまの数未満の間は、(x(n-1)+1, y(n-1)-1)を繰り返せばいい。
半分まで配置したら、こんどは>>216の例でいうと6-9の対角線でひっくり返した座標でFから順に配置だ。
0221216
NGNG幅X・高さY時、n のx・y位置が欲しいのですが、
正直、最悪、その用な手法でiが一致したらbreakしようかと思っていました^;
なんとなく図にして眺めてみると、スマートな式で簡単に
求められる様な気がしてならなく、すっきりしません(;´Д`)
0222220
NGNG0224220
NGNGま、わかんなかったら聞いてね、もっと丁寧に説明するから。
0225216
NGNG眠気が吐き気に変わってきたので起きてからもう一度考えてみます。。
記憶の断片
if (n<W*H/2)
x=n-左端
y-=x
左端の数字とyが抜けてるなぁ(;´Д`)
0226えれな
NGNGそれって、幅が高さに比べ2以上多いときとか、
真ん中の方が余ったりしないかな?
>幅X・高さY時、n のx・y位置が欲しいのですが、
それを最初にかいてほしかったなー。
安直に、逆変換テーブルをつくるとかもあるよね。
0227デフォルトの名無しさん
NGNG>>216が理解すれば、そういうのは対応できると思われ。
nの最大数によって好きな方使えばええよ。
0228220
NGNGvoid left(int n, int* pi, int* pt){
int i=1, t=0;
while(1){if(t+i>n){*pt=n-t;*pi=i-*pt-1;break;}
t+=i++;}return;}
void position(int n, int xl, int yl, int* px, int* py){
int r, cn, m ;
if(xl<=yl) cn=xl*(xl+1);else cn=yl*(yl+1);cn/=2;
if(cn>n){left(n, &r, &m);*px=m;*py=r ;}
else if(xl*yl-cn<=n){left(xl*yl-n-1, &r, &m);*px=xl-m-1;*py=yl-r-1;}
else{m=n-cn;
if(xl<yl){*px=m%xl;*py=xl+m/xl-(m%xl);}
else{*px=m/yl+1+m%yl;*py=yl-m%yl-1;}}
return;}
#include <stdio.h>
#define X 8
#define Y 9
main(){int i, x, y ;int a[X][Y];
for(i=0;i<X*Y;i++){position(i, X, Y, &x, &y) ;a[x][y]=i;}
for(y=0;y<Y;y++){for(x=0;x<X;x++)printf("%3d", a[x][y]);printf("\n") ;}}
0229(゚∀゚)
NGNG0230
NGNG#include<stdlib.h>
#include<math.h>
float func1(int *a){
int sum=0,i;
float ave;
a=a+1;
for(i=1;i<=100;i++){
sum=sum+*a;
a++;
}
ave=(float)sum/100;
return ave;
}main(){
int a[110],i;
float ave,std;
for(i=1;i<=100;i++){
a[i]=rand()%100+1;
}
for(i=1;i<=100;i++){
printf("%3d",a[i]);
if(i%10==0) printf("\n");
}
ave=func1(a);
printf("ave=%f",ave);
}
4行目をvoid func1(int *a){
としてはいけないのはなぜですか?
そもそもvoidってなんですか?
0231デフォルトの名無しさん
NGNG関数にはぁー、型とぉー、返り値があってぇー、
返り値がいらないときはぁー、void 型にするのぉー。
0232
NGNG0233デフォルトの名無しさん
NGNG使わない、と言うかぁー、使えない。
void は型がないと言う意味だからぁー、
返り値の大きさ(使用されるメモリサイズ)がぁー、
わからないんですぅー。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGそもそも関数ってわかってる?
0237えれなたん(;´Д`)ハァハァ・・・
NGNG勘弁してくれよ。
0239734
NGNGvoid func(float a[10][10],int n){
int i,j,k;
float c[10][10];
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
c[i][j]=0;
for(k=1;k<=n;k++){
c[i][j]+=a[i][k]*a[k][j];
}
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
a[i][j]=c[i][j];
}
}
}
main(){
float a[10][10];
int i,j,n;
printf("please input n:");
scanf("%d",&n);
printf("please input a\n");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("a[%d][%d]=",i,j);
scanf("%f",&a[i][j]);
}
}
printf("\nA=\n");
for(i=1;i<=n;i++){
printf("|");
for(j=1;j<=n;j++){
printf("%4.1f",a[i][j]);
}
printf("|");
printf("\n");
}
func(a,n);
printf("\nA^n=\n");
for(i=1;i<=n;i++){
printf("|");
for(j=1;j<=n;j++){
printf("%4.1f",a[i][j]);
}
printf("|");
printf("\n");
}
}
これだとAの2乗が求まりますが、n乗にするにはどうすればいいですか?
0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNGc=a*b となる関数を作って あとはバイナリ分解で計算するのが定石
0242デフォルトの名無しさん
NGNGAのn乗求めるのにこんな長いコードが必要とは思えないが。
解読する気にもならん。
0243えれな
NGNGfunc(a,n);
カナ?
0244デフォルトの名無しさん
NGNGfor(i=1;i<N;i++) func(a,b,n);
くらいにしなきゃだめでしょう。
2乗じゃなくて掛け算する関数を作ればいい。
0245デフォルトの名無しさん
NGNG計算量の問題があるから、
Aのn/2乗を計算してから、Aのn乗を計算するような感じで再帰的にやりたいね。
0246デフォルトの名無しさん
NGNGtail recursion にしないとね。
0247デフォルトの名無しさん
NGNG#えれなちゃんに答えてもらうと嬉しいな(ワラ
0248デフォルトの名無しさん
NGNG#if
プリプロセッサ用のif
0249デフォルトの名無しさん
NGNG>>>えれなたん>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>氷川菜織
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGえろげネタはえろげ板でやって欲しい風味。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNGQ.次の方程式の解をニュートン法によって求めなさい
sinΘ-cosΘ=0
ただし
0<=Θ<=2π
と言う問題です、できますでしょうか?
0256デフォルトの名無しさん
NGNGgoogle は力強い友だ。
http://www.google.co.jp/search?sourceid=navclient&ie=utf8&oe=utf8&q=sin+cos+%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E6%B3%95
0257デフォルトの名無しさん
NGNGsinΘ-cosΘ=0
sinΘ=cosΘ
sinΘ/cosΘ=1
Θ=π/4,5π/4
でよろしいですか?
0258247
NGNGと言われてもわからないんですが…
#ifとifの大きな違いというのは?
誰か詳しく教えてください!
0259デフォルトの名無しさん
NGNG…
> if
> プリプロセッサ用のif
プリプロセッサ>コンパイル前に処理される。
if文
制御構造>実行時の処理の流れを制御する。
0260255
NGNGC言語を使って求めないといけないんです
ごめんなさい
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG実際にプログラム書いて、
プリプロセッサを通してみな。
0263デフォルトの名無しさん
NGNG「ニュートン法」って何?
0264デフォルトの名無しさん
NGNG出てきて…
会いたいよ…
0265デフォルトの名無しさん
NGNGvoid foo(double x)
{
printf("sin(%f)-cos(%f)=%f\n", x, x, sin(x)-cos(x));
}
int main(void)
{
foo(atan(1.0));
foo(atan(1.0)+M_PI);
return 0;
}
0266デフォルトの名無しさん
NGNGだって。
単純に考えれば、for でまわせばそのうち答えがわかる、ということかな。
でも、精度の問題があるから、そんなに簡単には行かないと言うところか。
とりあえず、何がしかのコードを提示すれば、アドバイスもらえるんじゃないの?
0267デフォルトの名無しさん
NGNG求められてる精度は?
問題に書いてない?
0268デフォルトの名無しさん
NGNG書いてありません…
漠然ととけと書いてあります
とりあえず、いま友人にプログラムを見せてもらいました
ただ、そのプログラムですと
sinとcosをつかうとエラーがでてしまいます
ですから、sinとcosをつかっても動けるように改良していただけますか?
#include <stdio.h>
#include <math.h>
#include <conio.h>
float f (float); /*関数fの定義*/
float fd ( float ); /*関数の微分用の関数fdの定義*/
int main(void)
{
float x, xd, ep, eps = 0.0001; /*関数の設定*/
int n, nmax=50; /*計算回数と最大反復回数の設定*/
scanf(" %f",&x); /*初期値の入力*/
for(n=1; n<=nmax; n++){ /*規定回数内での繰り返し*/
xd=x-f(x)/fd(x);
ep=xd-x; /*収束の度合いを計算*/
printf("n=%2d x=%8.5f xd=%8.5f ep=%8.5f\n",n,x,xd,ep); /*計算の結果を表示*/
x=xd;
if( fabs ( ep ) < eps ) break;/*収束値が出たら計算を終了*/
}
printf( " 収束値 = %8.4f \n",x); /*収束値を表示する*/
getch(); /*結果をウィンドウに表示する*/
return 0; /*値を返す*/
}
float f ( float x ) /*関数fの計算*/
{
return sin * x - cos * x; /*計算式*/
}
float fd ( float x ) /*関数fdの計算*/
{
return 1-1; /*計算式*/
}
0269デフォルトの名無しさん
NGNGCの文法を理解せよ。
sin * xはsinという変数とxという変数を乗ずる意味で、sin xの値を求めていない。
0270デフォルトの名無しさん
NGNGほれ
http://www.sm.rim.or.jp/~shishido/newton.html
0271デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/Playtown-Dice/1023/num-analys/newton.html
ここにずばりの答えがあったがどうよ?
0272デフォルトの名無しさん
NGNGxd=x-f(x)/fd(x);
で
float fd ( float x ) /*関数fdの計算*/
{
return 1-1; /*計算式*/
}
だと、0除算だ。
0273255
NGNGと言うような書き方でよいのでしょうか?
0274デフォルトの名無しさん
NGNGconio.hなんかインクルードするなよ・・・
0275デフォルトの名無しさん
NGNGここらへんがイイ!
DOS時代を知らないんだろうな。
0276デフォルトの名無しさん
NGNGそれでいいよ。
fd()はなにやってるの?
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNG微分計算できねーのか?
なんで1-1なんだよ?
0279デフォルトの名無しさん
NGNG0280255
NGNG0282デフォルトの名無しさん
NGNG君が謝る必要はない。
君が負うべき責は唯一つ、2chに聞きにきたことだ。
0283デフォルトの名無しさん
NGNGつーか、友達が悪い(ワラ
0284255
NGNG実質上同レベルかと…半年もやってるのに
今やってみたらなんかとんでもない数値が出ました
0285デフォルトの名無しさん
NGNGまずは関数ポインタを受け取って微分の近似値を計算する部分からだな
0286デフォルトの名無しさん
NGNGで、もうオケーなの?
0287デフォルトの名無しさん
NGNGうそはいわないように。
0288285
NGNG0289255
NGNG0290デフォルトの名無しさん
NGNGなんで?
ニュートン法が分からんの?Cが分からんの?
単純な漸化式なんで両方分かってればいけるはずだが。
0291デフォルトの名無しさん
NGNG0292285
NGNG#include <math.h>
#include <stdio.h>
#define FRST_DEVI 1e-4
#define ERR_RANGE 1e-8
#define LOOP_MAX 1000
double cal_error(double x, double y){
return fabs(x-y) ;}/*ここは手直しせよ(相対誤差にするべき)*/
double d(double (*func)(double), double x) /*funcのxでの微分係数を計算*/
{
int c=0 ;
double h, ret, prev ;
h = FRST_DEVI ;
ret = (func(x+2*h) - func(x)) / (2*h) ;
do {
prev = ret ;
ret = (func(x+h)-func(x))/h ;
c++, h/=2 ;
} while(cal_error(prev, ret)>ERR_RANGE && c<LOOP_MAX) ;
return ret ;
}
double newton(double (*func)(double), double x) /*初期値xでfuncのニュートン法*/
{
int c=0 ;
double prev_x ;
do {
prev_x = x ;
x = x - func(x)/d(func, x) ;
c++ ;
} while(cal_error(prev_x, x)>ERR_RANGE && c<LOOP_MAX) ;
return x ;
}
double f(double x){ /*ターゲット関数*/
return cos(x)-sin(x) ;}
void main(void){
printf("%lf\n", newton(f, 0)) ;}
0293デフォルトの名無しさん
NGNGここは自分の技術を披露するスレじゃないぞ。
0294285
NGNG0295デフォルトの名無しさん
NGNGつーか、ニュートン法は単なる漸化式なんでそこまでやる必要は無いと思うぞ。
double f(double x){
return (sin(x)-cos(x));
}
double fd(double x){
return (sin(x)+cos(x));
}
この二つを定義して、あとは友達のループでいけるぞ。
0296デフォルトの名無しさん
NGNGゴルァ出てこいや>>249!
0297デフォルトの名無しさん
NGNG#include <stdio.h>
#define VAL_ans 0.0
#define VAL_div 10.0
void sub( double t1,double t2 );
double func( double t );
int main() {
sub( 0.0, M_PI*2.0 );
return 0;
}
void sub( double t1,double t2 ) {
double a1,a2,step;
char wk1[ 20 ],wk2[ 20 ];
step = ( t2-t1 ) / VAL_div;
while( t1 < t2 ) {
a1 = func( t1 );
a2 = func( t1+step );
if( ( a1 < VAL_ans && a2 > VAL_ans )
|| ( a2 < VAL_ans && a1 > VAL_ans ) ) {
sprintf( wk1, "%17.14f", t1 );
sprintf( wk2, "%17.14f", t1+step );
if( !strcmp( wk1, wk2 ) ) {
printf( "ans = %s\n", wk1 );
break;
}
sub( t1, t1+step );
}
t1 += step;
}
}
double func( double t ) {
return sin( t ) - cos( t );
}
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG問題
学生番号と点数を読み込んで上位10名分のデータを次のように
出力するプログラムを作成せよ。
@1@@A95B@@@100
@2@@A95B@@@@94
@3@@A95E@@@@70 @:空白
@3@@A95B@@@@65
@5@@A95D@@@@48
・
・
・
・
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void) {
const char* data[] = {
" @1@@A95B@@@100 ",
" @2@@A95B@@@@94",
" @3@@A95E@@@@70 @:空白",
" @3@@A95B@@@@65",
" @5@@A95D@@@@48",
" ・",
" ・",
" ・",
" ・",
NULL
};
const char** p = data;
while(*p) puts(*p++);
return 0;
}
だって“何処から”読み込むとも書いてへんしなー
0303デフォルトの名無しさん
NGNG言語は? 特に指定がないなら
sort -k 3,3 infile | head -n 10
0304299
NGNGすみません。別スレに逝ってきます。
0305デフォルトの名無しさん
NGNGなんだ?
0306デフォルトの名無しさん
NGNG「宿題丸投げしたらやってあげる!」
なんてスレは無いと思われ…
0307デフォルトの名無しさん
NGNGつーか「だから」頼むんだよ。
0308デフォルトの名無しさん
NGNG0309えれが
NGNG0310えれな
NGNG全角・半角混合プログラムはちょっとむつかしいかな?
入力はぜんぶwchar_tに変換して、さらに、ぜんぶ半角に
してからとりあつかうと、簡単だよ。さいごには、
wchar_t to_wider(wchar_t ch)
{ if( L'A' <= ch && ch <=L'Z' ) return ch - 'A' + L'A';
if( L'a' <= ch && ch <=L'z' ) return ch - 'a' + L'a';
if( L'0' <= ch && ch <=L'9' ) return ch - '0' + L'0';
if( ch == L' ' ) return L' '; return ch;
}
みたいなのをループさせて、出力をみんな全角化すれば、
あとは普通にやればいいとおもうよ。
0311高卒クン
NGNG{
char make[20];
int year;
};
car * input(void);
int main()
{
car * ps;
ps = input();
cout << "Make: " << (*ps).make <<"\n";
cout << "Year: " << ps->year << "\n";
delete [] ps;
return 0;
}
car * input(void)
{
car * ps = new car;
cout << "Please enter the make: ";
cin.get(ps->make, 20);
cout << "Please enter the year made: ";
cin >> ps->year;
return ps;
}
このステートメントをループさせたいのですが
ステートメントをintにする方法教えてください
0312高卒クン
NGNGCar#?
Please enter make ?????
please enter year ????
って感じにできますでしょうか?
0313えれな
NGNG>312 こうかな?car*で扱う必要性はないんだけど‥‥
typedef std::vector<car*> carArray;
carArray input(void)
{
int loop=0;
cout <<"Car#?"
cin >> loop ;
carArray arr;
for( int i=0; i<loop; i++)
{
car * ps = new car;
cout << "Please enter the make: ";
cin.get(ps->make, 20);
cout << "Please enter the year made: ";
cin >> ps->year;
arr.push_back( ps )
}
return arr;
}
0314高卒クン
NGNG見よう見真似で本の例題見ながら練習問題解いてて
つまってたとこです
それを参考に考えて見ます
0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGそれ、宿題?
0317高卒クン
NGNGここだけの話し、時間かけてVisual Studio落としたんで
時間に見合うだけ遊んでみようかと・・・・
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNG\0とNULLはまったく違うぞ?
'\0'とNULLならまだわかるが・・・
0320デフォルトの名無しさん
NGNG'\0'とNULLの違いです。
0321デフォルトの名無しさん
NGNGはなしし?
は置いといて。
MSDN会員、と言うわけでもなさそうだな‥‥
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG'はなし'を変換してみてください。ちゃんと'話し'って出ますよ。
0324デフォルトの名無しさん
NGNG意味が違う。
私が話します。
私の話。
0325デフォルトの名無しさん
NGNGところで\0とNULLの具体的な違いを教えてくれませんか?
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNGL'\0' -> (wchar_t)0
文字コードとしての0をあらわす。
NULL文字とも言ふ。
NULL -> 0 or (void*)0
ポインタがどのオブジェクトもさしていないことをあらわす。
0328デフォルトの名無しさん
NGNGお前がこの違いを知ったところで何もできん。
同じと思ってろ。
0330デフォルトの名無しさん
NGNGwarez利用者は(・∀・)カエレ!
0331デフォルトの名無しさん
NGNG犯罪犯すなよ (笑
0332デフォルトの名無しさん
NGNG初心者が勘違いしそうな点があったので、
ちょっと補足させてくれ。
>文字コードとしての0をあらわす。
文字コードの0x00の事です。
数字の0じゃないからね。
0333デフォルトの名無しさん
NGNG'\1'や'\2'も試してみれば理解できるかと。
'\0'はただCがそれを文字列の終端と認識するだけで、それ以外は他の文字と何の代わりもない。
0334デフォルトの名無しさん
NGNG>'\1'や'\2'
え?まじ?
こんな命令あったの?
知らなかった・・・
0335デフォルトの名無しさん
NGNG<MARQUEE direction="right" scrollamount="5">
-= ∧_∧<BR>
-=≡ ( ・∀・)<BR>
-=( つ┯つ<BR>
-=≡/ / //<BR>
-=≡(__)/ )<BR>
-= (◎) ̄))<BR>
</MARQUEE>
</html>
上の10行をメモ帳に書く。
↓
名前を付けて保存。
↓
保存したファイルの拡張子を.htmlに変更。
↓
ブラウザで開く。
↓
(・∀・)走る。
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG本人のためにもIT業界のためにも。
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG○○教えてください
↓
詳しく書けやゴルァ
↓
すみません。もうきません。
↓
そして誰もいなくなった・・・・。
だもん。
根性無しが多いから、人のソース読む(解析する)だけでも
少しは力つくから、まずはそこからということで。
0341デフォルトの名無しさん
NGNG解析するならいんだけど、丸写しされて提出という可能性があるから。
それに、丸投げするにしても詳しく書いてくれないと・・・
0342デフォルトの名無しさん
NGNG同類出現の連座で零点でも知らんけど
0343デフォルトの名無しさん
NGNGえれなたんの>>310も、かなりキてるな‥‥
0344デフォルトの名無しさん
NGNG日下部殿も何処かに行きよったし・・・。
あの頃が懐かしいのう・・・。
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGひどいのう・・・。
0347田代雅史
NGNG( _(((((((((_ )
|/ ~^^\)/^^~ヽ|
| _ 《 _ |
(|-(_//_)-(_//_)-|)
| 厶、 | cout<<"このスレは無事に正常終了した。\n"
\ |||||||||||| / <<"私が最後の仕事をするとしよう。\n";
|\___/::\
/丶 / / \ return 0;
/,': // ヽ \}
/ /´ ̄ ̄ ̄ ̄ :::::: \-、
/ _/ :: 、 ゙ `\
/ ~_/`'' : 、` ゙ヽ
/ __/`'' ___ ::丶 \:: ヽ、 ヽ
/ / ` ヽ、{丶 ヽ :::ヽ |
/ ~ヽ、ヾ\ ゙i |
。 -´/ /ゝ、 ` _ ヽ、/X
ヽノ :::|/// ~` ''' `' / ヽ
| , | | :::| / | 〃 \ |
{~ ヘ___ \ 。 .:::ノ /_/| | :::| |
丶ノ \__ `- 、_____, -´イイ_| | ::::| | |
{ | \___ \ノ イ_ | | :::| |
{ ´|ヽ、 ,,`i` // \ノ |丶 :丿 |
{´_|_ `'''''´ l //ノヾ,ノ`ゝヽ____ /ヽ,、 |
| i `'''ー-''~ }= ノ ヾ /〃 | ヽ}
ヽゝ、_ } = ヾ | ノ |
0348田代雅史
NGNG( _(((((((((_ )
|/ ~^^\)/^^~ヽ|
| _ 《 _ |
(|-(_//_)-(_//_)-|)
| 厶、 | cout<<"すまない。冗談だ。\n"
\ |||||||||||| /
|\___/::\
/丶 / / \
/,': // ヽ \
/ /´ ̄ ̄ ̄ ̄ :::::: \-、
/ _/ :: 、 ゙ `\
/ ~_/`'' : 、` ゙ヽ
/ __/`'' ___ ::丶 \:: ヽ、 ヽ
0349デフォルトの名無しさん
NGNG0350怜派
NGNG0351デフォルトの名無しさん
NGNGDr.D!?
0352デフォルトの名無しさん
NGNGえれなたんれてきてくらしゃい
0353デフォルトの名無しさん
NGNG麻衣たんも入れるか・・・。
0354デフォルトの名無しさん
NGNGあ、それ宿題にしとくよ。
0355デフォルトの名無しさん
NGNG勘弁してくれ、今はそんな暇はない。
いつか暇ができたら作るか・・・ということで。
まあ、>>353のような書き込みをしてしまうくらいに
萌え尽きない状態で終わってしまった怜たんスレを残念に思うわけだ。
0356田代雅史
NGNG( _(((((((((_ )
|/ ~^^\)/^^~ヽ|
| _ 《 _ |
(|-(_//_)-(_//_)-|)セミコロンを付け忘れていた。
| 厶、 | ;
\ |||||||||||| /
|\___/::\
/丶 / / \
/,': // ヽ \
/ /´ ̄ ̄ ̄ ̄ :::::: \-、
/ _/ :: 、 ゙ `\
/ ~_/`'' : 、` ゙ヽ
/ __/`'' ___ ::丶 \:: ヽ、 ヽ
0357デフォルトの名無しさん
NGNG0358(;´Д`)
NGNG#include<stdlib.h>//標準的な図書館でエッチをインクルード
#include<conio.h>//出し入れ制御の為の意思の操作卓をインクルード
int main(void)
{
const int Ore=0,Reitan=1;
int Orgasmus[]={0,0};
while(getch()=='i')//ティムポを入れる。偽なら途中でやめる。
{
switch(Orgasmus[Ore]+Orgasmus[Reitan])
{
case 0:
printf("怜「あっ・・・。」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 2:
printf("怜「あっ、はあっ、ああ・・・。」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 4:
printf("怜「ああんっ、はっ、はあッ・・・!」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 6:
printf("怜「あッ、んふうッ、あはあッ・・・!」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 8:
printf("怜「はあッ・・・ああッ!はあん!」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 10:
printf("怜「ああん!い、いっちゃう!ああッ!はぁッ!」\n");
Orgasmus[Ore]=(++Orgasmus[Reitan]);
break;
case 12:
printf("怜「あッ、はあ、あああはぁぁッ!!」\n");
printf("俺と怜たんは共に絶頂を迎えた。\n"
"怜たんの中はとても気持ち良かった。\n");
while(!(getch()=='o'));//ティムポを出す
return 0;
}
while(!(getch()=='o'));//ティムポを出す
if(Orgasmus[Reitan]<=2)
printf("ちゅっ・・・。\n");
else if(Orgasmus[Reitan]<=4)
printf("ちゅくっ・・・。\n");
else if(Orgasmus[Reitan]<=5)
printf("ちゅくちゅっ・・・。\n");
else
printf("ちゅくちゅくっ・・・\n");
}
printf("俺は途中でエッチをやめた。\n"
"怜たんの悲しそうな表情が痛かった・・・。\n");
return 1;
}
/*こうして怜たんと図書館で普通にエッチをしましたが、満足できません。
どうすればよいのでしょうか?*/
0359age
NGNG0360デフォルトの名無しさん
NGNGpinkbbsにでも逝ってよし!
0361デフォルトの名無しさん
NGNGならば何故ageる?
仲間に入りたいのか(藁
0362デフォルトの名無しさん
NGNG他のスレッドもいきなり荒れてきたぞ。
(おそらく受験終わった工房・春休みに入った大学生がなだれ込んでるんだと思うが)
0363>>362
NGNG影響も結構あるように思う。
0364デフォルトの名無しさん
NGNGそれはあまり関係がないように思うが。
ただ、確かに少し荒れ模様だな。
不定期でときに起こる一時的な荒れだとは思うが。
0366デフォルトの名無しさん
NGNG宿題タンよ、来い来い。
0367デフォルトの名無しさん
NGNGこんなタイトルのスレがあるから、勘違いした丸投げや作って君が横行する。
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNG実行時にメモリーリークを起こしているみたいなのですがどこが
おかしいのでしょうか。
/* factorization.c 因数分解する */
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <math.h>
/* 求める因数の下限 */
#define FACTOR_LOWER_LIMIT (2)
typedef struct Factor_tag Factor;
struct Factor_tag
{
int value;
Factor * next; /* 末端はNULL */
};
typedef struct Header_tag
{
int size; /* Factorのリストのサイズ */
Factor * head;
} Header;
static Factor * addition(int value, Factor * current, Factor ** head);
void factorization(const int number, Header * const pheader)
{
Factor * head = NULL, * current = NULL;
int loop, dest;
{
int tmp;
tmp = ceil(sqrt(number));
dest = (tmp > FACTOR_LOWER_LIMIT) ? tmp : FACTOR_LOWER_LIMIT;
}
if(number == dest * dest)
{
current = addition(dest, current, &head);
++pheader->size;
}
for(loop = FACTOR_LOWER_LIMIT; loop != dest; ++loop)
{
if(number % loop == 0)
{
current = addition(loop, current, &head);
current = addition(number / loop, current, &head);
pheader->size += 2;
}
}
pheader->head = head;
#ifdef DEBUG
printf("prcessing %d is over.\n", number);
#endif /* DEBUG */
}
0370デフォルトの名無しさん
NGNGFactor * addition(int value, Factor * current, Factor ** head)
{
Factor * store;
store = malloc(sizeof(Factor));
store->value = value;
store->next = NULL;
if(NULL != current)
{
current->next = store;
}
if(NULL == * head)
{
* head = store;
}
return store;
}
0371デフォルトの名無しさん
NGNG{
Factor * store;
store = malloc(sizeof(Factor));
store->value = value;
store->next = NULL;
if(NULL != current)
{
current->next = store;
}
if(NULL == * head)
{
* head = store;
}
return store;
}
0373麻衣派 ◆COx/Mai.
NGNG0374麻衣派 ◆COx/Mai.
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0379369に追加です
NGNG{
Factor * post;
if(NULL == factor) return;
post = factor->next;
free(factor);
factor->next = NULL;
// finalize(post);
processbody(post);
}
void finalize(Header * pheader)
{
processbody(pheader->head);
}
int main(void)
{
Header header;
Factor * current;
int i;
factorization(100, &header);
current = header.head;
for(i = 0; i != header.size; ++i)
{
printf("\n%d: %d ", i, current->value);
current = current->next;
printf("%d ends.", i);
}
printf("\n");
printf("finalize begins.\n");
finalize(&header);
printf("finalize ends.\n");
return 0;
}
0380369に追加です
NGNGheader.size = 0;
header.head = NULL;
0381デフォルトの名無しさん
NGNG0382麻衣派 ◆COx/Mai.
NGNG{
Factor * post;
while(NULL!=factor){
post=factor->next;
free(factor);
factor=post;
}
}
再帰使わないといけない理由があるの?
0383麻衣派 ◆COx/Mai.
NGNG>factor->next = NULL;
こ、これはなに、、、
0384えれな
NGNG0385369
NGNG369に追加をくっつけるとコンパイルできると思います。
実行時エラーは「"hogehoge"の命令が"0x000000000"のメモリを参照しました。
メモリが"written"になることはできませんでした。」です。
>>382さま
再帰を使う理由はありません。しかし、main()からfinalize()を呼ばなくても
エラーはでます。だから、factorization()かaddition()に間違えがあると考
えているのですが。
0386369
NGNGint main(void)
{
Header header;
Factor * current;
int i;
//int main()にHeader headerの初期化を入れる。
header.size = 0;
header.head = NULL;
factorization(100, &header);
current = header.head;
for(i = 0; i != header.size; ++i)
{
printf("\n%d: %d ", i, current->value);
current = current->next;
printf("%d ends.", i);
}
printf("\n");
printf("finalize begins.\n");
finalize(&header);
printf("finalize ends.\n");
return 0;
}
0387麻衣派 ◆COx/Mai.
NGNG>>factor->next = NULL;
>こ、これはなに、、、
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
| なんで見てくれないんだろう… |
\ /
 ̄∨ ̄ ̄∨ ̄ ̄ ̄∨ ̄ ̄ ̄∨ ̄
| |\|/ | | |
|∧ ∧ |/⌒ヽ、| ∧_∧ | ∧∧ |
|(,,゚Д゚) ||,,゚ Θ゚)|(; ´Д`)|(=゚ω゚)|
0388369、逝ってきます
NGNGあ、あー、こ、これでした…
なんとも、複雑な気持ちです。みなさま、本当にありがとうございました。
0390ゆっちん
NGNG)
0391デフォルトの名無しさん
NGNG0392麻衣派 ◆COx/Mai.
NGNG0393369、逝ってきます
NGNG麻衣さんも、怜さんも、こころからお慕いもうしております。
すこし、焦り気味だったもので、申し訳ありませんでした。
0394デフォルトの名無しさん
NGNGエメリアンと太鼓
0395デフォルトの名無しさん
NGNG謎かけクン
・・・う〜〜んいまいち。
つーかどのスレみても質問してるやつでまともな説明できてるやつのほうが少ない。
説明できるやつはそもそもこんなところに聞きに来ないかも。
0396えれな
NGNGPRO*CをつかってSQLを投げるといいよっ。
0397391
NGNGそーね、たしかに。
でも、ほら、問題丸写しのほうが、よっぽど答えやすいし。
そういえば、問題をスキャナで取って、あぷろどしただけってやつもいたなぁ。
謎かけといえば、俺の小学生の頃は、「まっくろう」→「影マン」→「シャドーマン」
ってかんじだったなぁ…
「エメリアン、入りま〜っす」っすかね。
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGシアノアクリレート系の接着剤がおすすめ。
0400デフォルトの名無しさん
NGNG何か面白い題材ない?
凸包、領域探索、三角形分割、線分交差 程度の
基礎的なアルゴリズムを使うものできぼん。
0401デフォルトの名無しさん
NGNG390とは関係無いけど、Pro*ってフリーでありましたっけ?
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG2年位前に秋葉で見た
0404402
NGNG最近は売ってないんですかね…
0405デフォルトの名無しさん
NGNGボーランドのサイトでフリーダウンロードできるよ。
0406デフォルトの名無しさん
NGNG余裕があるなら対戦型ダンシングアイに発展させれ
0407デフォルトの名無しさん
NGNG0408402
NGNG高校時代に学校でWindows版のTurbo C++を使っていました。
それと同じ物が欲しいんですが…
0409405
NGNGとりあえず、日本語の製品ならホレこれだ。
http://www.borland.co.jp/bcsuite/index.html
0410405
NGNGTC++forWinに一番近いものだと思う。
つーか、使っていたコンパイラとOWLのバージョンは何よ?
そこが肝心。
0411デフォルトの名無しさん
NGNG海腹川背の、ちゃんとブロックの角や辺にそってゴムがびにょーんと
伸びるやつ・・・あぁ、なんて表現したらいいのか・・・
やっぱリブルラブルでお願いします。
0412デフォルトの名無しさん
NGNG0413デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGマチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 丸投げ君、まだ?
\_/⊂ ⊂_ ) \________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| .知ったか君. |/
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG身長 h (m),体重 w (kg)を入力して,ローレル指数 R を求めよ。
ただし,R = W × 10 / h3 + 0.5である。
また,「 R が114以下なら痩せている」,
「 R が136以上なら太っている」という基準から R の値に応じて,
「太っている」「普通」「痩せている」の判断結果を出力せよ。
という問題なのですが、一応作ってみたのですが、
何故か上手に行きません…
皆さんのご指摘をお願いしたいです。
/*2-9*/
#include <stdio.h>
main()
{
float a,b,R;
printf("あなたの身長と体重を教えてください。\n");
printf("身長(m)は?");
scanf("%f",&a);
printf("体重は(kg)?");
scanf("%f",&b);
R=b*10/(a*a*a)+0.5 ;
printf("あなたのローレル指数は,%fです。\n",R);
if(R>=136){
printf("あなたは太っています。");
}
else{
if(R<=114){
printf("あなたは痩せています。");
}
else{
printf("あなたは普通です。");
}
}
}
0421
NGNG詳しく読んではいないが、
下から9行目の
else{
と
一番下の
}
は、あきらかにいらない。
こんなの書くな。
0422デフォルトの名無しさん
NGNGVC6で確認済み。
変更したところ
・括弧の数があってない(笑)
・浮動小数定数に fをつけた(10 → 10.0f)
・if 〜 else if の構文を整理
・最後のキー入力待ち
#include <stdio.h>
int main(void)
{
float a,b,R;
printf("あなたの身長と体重を教えてください。\n");
printf("身長(m)は?");
scanf("%f",&a);
printf("体重は(kg)?");
scanf("%f",&b);
R=b*10.0f/(a*a*a)+0.5f ;
printf("あなたのローレル指数は,%fです。\n",R);
if(R>=136.0f){
printf("あなたは太っています。");
}
else if(R<=114.0f){
printf("あなたは痩せています。");
}
else {
printf("あなたは普通です。");
}
getchar();
getchar();
}
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNG421>
ご指摘ありがとうございました。
とりあえず、消しておきました…。
422>
421>さんと同じ方でしょうか?
もし違ってましたら、すみません…
ご回答のほう、ありがとうございました。
違う場所までご指摘、本当にありがとうございます。
勉強になります。
これでなんとか課題のほうが提出できそうです。
423>
アドバイス、ありがとうございます。
424>
私も太っていますでした…。
0426怜
NGNG何か間違いが多くて、ネタ? とか思ってしまったわ・・。まあ、折角だから
添削ね。
まず、
scanf("%c",&retu);
まず、この場合retuは配列だから&はいらないの。
それにこれだと一文字しか、受け付けられないから、for文で100回繰り返す
とかいうことをしないといけないかな。
まあこういう処理に、個人的にはあまりscanfを使うのはお勧めしないかな。
getchar()で一文字ずつ、配列に読み込んでいくのがいいと思うな。
次に
if(mozi(retu)==a)
っていうのは、mozi()関数が返してきた結果がaと一致してるか調べてる
ことになるよね。aは初期化されていないから何が入ってるかわからないし。
何か変だよね。
で、次に関数の宣言で、
int mozi(int x[])
で、int型の配列として引数を受けてるけどこれはまずいのね。mainの中で
retu[]は、char型の配列として定義されたよね? だから、それを受け取
るにはchar型の配列として受け取らないと。
それで、これだと、いつもN番目の文字がjに入ってることになるよね。
jに代入するうなら、for文の中で
j = x[i];
みたくしないと。
mozi内でreturnしているところで、return bって返すのはちょっとね。bも
定義してから初期化されていないから、何が入っているかわからないから。
普通は、真なら1を偽だったら0を返すようにするわ。
で、このままだと、大文字がみつかったら0を小文字が見つかったらbを返し
てるよね?
この場合、jが小文字だったら1を返して、違ったら何もしないで、関数の
最後で(for文を抜けた後ね)0を返すようにしないと。for文の中で一度
もreturnされないということは、一度も小文字が見つからなかったって
ことだから。、
0427デフォルトの名無しさん
NGNG怜たんがこのスレに誘導したみたいだな。
とりあえず、解答例だ。
/*受け取った文字列の中に小文字が含まれているかどうかを判定する関数の入ったプログラムを作成する*/
#include<stdio.h>
#define N 100
int mozi(char x[]);
int main(void)
{
char retu[N+1];
printf("何か100字以内で文字列を入力してください\n");
scanf("%s",retu);
if(mozi(retu))
printf("小文字が含まれています\n");
else
printf("大文字だけです\n");
return 0;
}
int mozi(char x[])
{
int i,j;
for(i=0;i<N;i++)
{
j=x[i];
if(j>=0x61&&j<=0x7a)
return 1;
}
return 0;
}
これでいいだろう。君はC言語自体理解していない。
次からは、自分自身で進んで取り組むことだ。
そうしないと、後が苦しくなるだけだろう。
高校生より。
ちなみに、このままコピペした状態でコンパイラに通さないように。
全角空白でインデントしてあるからな。
0428デフォルトの名無しさん
NGNGscanfは%c以外の書式では空白を無視するんだったな。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNG今回の丸投げ君はASCIIコードと仮定してソースを書いていたからな。
それに従ったまで。
まあ、ソース自体ネタだったのかもしれんが。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG羨ましいかな。
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGカナ坊は葱板に(・∀・)カエレ! かえれよぅ。
0435デフォルトの名無しさん
NGNG「若菜の恥ずかしいコードを見てください」
と切なげに囁け(w
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNG次からそれね!
わかったか、丸投げ君どもよ!
次から頼むぜ!
0438生徒C
NGNGバイナリデータに0x00をいれると終端と認識されるのかstrcat等がうまくいきません。
この場合、地道にすべてのデータを1バイトずつ格納していくしか無いのでしょうか?
アドバイスおねがいします。
ちなみに言語はC++です。
0439デフォルトの名無しさん
NGNGstring使え
0440くそスレの1です。
NGNGmov ax,98
add ax,99
mov [0120],ax
int 20
という簡単なアセンブラ語を書いて、それをところ
どころ変更してデバッグした時に出るエラーを調べる
宿題が出たのですが、MS−DOSでどうやったら
アセンブラ語が書けるのかが分かりません。(恥ずかしい)
教授に聞けば良いのですが、もう時間が無いので
みなさん、助けてください。m(__)m
0441デフォルトの名無しさん
NGNG-a
3506:0100 mov ax,99
3506:0103 mov ax,98
3506:0106 add ax,99
3506:0109 mov [0120],ax
3506:010C int 20
3506:010E
-g
プログラムは正常に終了しました.
0442くそスレの1です。
NGNGありがとうございました。
0443生徒C
NGNGstringってつかったことないので良く分から無いのですが、
これ使うと、0x00のあとに連結できたりするのですか?
0444デフォルトの名無しさん
NGNG文字列の '\0' のある位置に memcpy でバイナリをコピーすればいい。
0445デフォルトの名無しさん
NGNG0446生徒C
NGNG>>444
逆の場合はどうなんでしょう?例えば、
0x01,0x00,0x02などと続いた後、"hoge"などをコピーしたい場合です。
0447デフォルトの名無しさん
NGNGMS-DOSで「イベント処理」か「スレッド処理」をつかって
プログラムを作りたいんですが全然わかんないんです。
かなり簡単なのでいいので、サンプルつくっていただけないですか?
0448デフォルトの名無しさん
NGNGバイナリサイズをどっかで覚えておけば、そのサイズ分ずらしてstrcpyかな?
char buf[1024] = "\x01\x00\x02";
int size = 3;
strcpy(&buf[size], "hoge");
とか。
0449デフォルトの名無しさん
NGNG普通ではできない。
そういうのをサポートしてるライブラリや言語をひろってくるしかないね。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGありがとうございます。
そのままパクれるところってないですか?
どこからか全部もってきたら全然使えなかったんですが・・。
0453生徒C
NGNGナ、ナルホドー・・
ありがとうございます!やってみます。
0454デフォルトの名無しさん
NGNG言語は何でもよいなら、スレッドはDOS版のRubyとか。
イベントドリブンのライブラリは、昔のTurboC++についていたような
記憶がある。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGありがとうございます。
早速いってみます。
JAVA言語なんですけど大丈夫ですか?
0458デフォルトの名無しさん
NGNGDOSでJava動くの?
0459デフォルトの名無しさん
NGNGえ?動かないんですか?
DOSでJavaプログラムを作らないといけないんですけど・・。
あれ?なにか勘違いしてますかワタシ・・。
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG純粋なDOS上で動くJava環境は寡聞にして俺はしらない。
どっかがが組み込み用に作っててもおかしくはないが、、、
0462デフォルトの名無しさん
NGNGああ、そうです。
それで「イベント処理」を使ってプログラミングを。
0463デフォルトの名無しさん
NGNGワラタ
0464デフォルトの名無しさん
NGNG動きます。
サンプルは検索すれば、山ほど見つかりますし、本屋に行けば
Javaの本もたくさんあります。
0465デフォルトの名無しさん
NGNG色々ありがとうございました!
0466981
NGNGどうもありがとうございました。
ただ426様に教えていただいたやり方で実行したところ、大文字しか入力してないのに「小文字が含まれている」と表示されたのですが、あなたのパソではどうでしたか?
0467981
NGNG0468デフォルトの名無しさん
NGNGそれはどこにあるのか。自分で考えるのも
勉強と云うものではないでせうか。
0471デフォルトの名無しさん
NGNGprintf("何か%d字以内で文字列を入力してください\n",N);
なんの為にNが定義してあるのか。
0472デフォルトの名無しさん
NGNG0473427
NGNGmozi関数内でislower関数でも使った方が(・∀・)イイ?
まあ、最初からislower使えばよかったんだろうけどさ・・・。
0474デフォルトの名無しさん
NGNGそういう問題じゃないんだが...
> 変だな。俺の環境では上手くいったんだが・・・。
ほんとかいな?
どういう環境でもバグるだろ。
0475デフォルトの名無しさん
NGNGふーむ、どういう場合にバグるのか教えていただきたい。
普通に大文字だけを入力しても「大文字だけです」と
出力されるんだが。
0476デフォルトの名無しさん
NGNGscanfの前に
memset(retu, 'a', sizeof retu);
を入れてやって見ろ。
0477デフォルトの名無しさん
NGNG1文字しか入力されてなくても100文字分チェックしてるじゃん。
0478デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNGそれはそれで余計な処理だろ。
0481デフォルトの名無しさん
NGNGパソコンの機嫌によってうまくいくこともあればうまくいかないこともある。
君の場合はたぶん日頃の行いが良かったのだろう。
0482デフォルトの名無しさん
NGNG> これでいいよな?
駄目
現象を修正しているだけで原因を修正してない。
# チェックする範囲は「配列のサイズ」ではなく、「文字列長」だろ?
0483427
NGNGその情報をもとにfor文を記述したほうがよかったか。
そうすればmemset関数など使う必要もないしな。
0484デフォルトの名無しさん
NGNG#include<stdio.h>
#include<string.h>
#define N 100
int mozi(char x[]);
int main(void)
{
char retu[N+1];
printf("何か100字以内で文字列を入力してください\n");
scanf("%s",retu);
if(mozi(retu))
printf("小文字が含まれています\n");
else
printf("大文字だけです\n");
return 0;
}
int mozi(char x[])
{
unsigned int i,j;
size_t length=strlen(x);
for(i=0;i<length;i++)
{
j=x[i];
if(j>=0x61&&j<=0x7a)
return 1;
}
return 0;
}
これでよろしいか?
0485デフォルトの名無しさん
NGNG>>471は?
0487427
NGNG偉そうな物言いをしてしまって・・・。
本当に理解できていなかったのは俺だったのかもしれない。
これからも精進していきたいと思う。
どうもありがとう。
0488981
NGNGいいえわざわざ教えたいただいたのだからこちらこそ感謝感謝です。
>469様
forの中ですか…明日また学校でやってみます。ご指南ありがとうございました。
>484様
unsigned int ですか…?”unsigned"なるものはまだ習ってないのではたして使ってよいものやら…
strlenは習ったのですが…
0489484
NGNG優しいのだな・・・。俺などに感謝してくれるとは・・・。
今思うと何であんなソースを書いてしまっていたのか・・・。
とんでもないボケをかましてしまったものだ。すまない。
>unsigned int ですか…?”unsigned"なるものはまだ習ってないので
>はたして使ってよいものやら…
今回については、文字列長が最高でも100文字なので、
mozi関数内の変数は全てint型で定義してくれて構わない。
安心してくれ。
0490デフォルトの名無しさん
NGNGsize_t i;
char j;
であるべきなのでは?
0491484
NGNG確かに、jはchar型であるほうが文字コードを代入するという意味が
明確になると思う。
size_tがunsigned intと同義でない環境もあるのか?
ならば、iもsize_t型で定義したほうがいいだろうな。
俺はtypedef unsigned int size_t;と仮定した上で、
size_tはその名の通り、文字列のサイズ(やや語弊ありか)を格納する
変数に用い、他の用途・・・例えば反復子などには普通にunsigned intを
用いるという考えで記述したのだが。
0492デフォルトの名無しさん
NGNG0493林田
NGNG宿題まだですかー?
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497981
NGNG皆さんどうもありがとうございました。おかげ様で課題を終えることができました。
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG0500junk
NGNGODBCでつなげたいんですけれども。
以前に、作成したプログラムに ACCESSをつなげるにはどのような
手順でやればいいのでしょうか?
ACCESS単品のODBCのつなげ方はわかるのですが・・・
既存のプログラムにデータベースサポートのつけ方どうか
教えてください!!調べてもなかなかみつからなくて 泣
お願いします!
0501ポケコンで
NGNG御存知の方いらっしゃいますか?
もしいらっしゃれば
何卒、
漏れにご教授いただけませんでしょうか?
お願いします
漏れは今SHARPのPC−G830
使ってます
BASICでお願いします
ネタなんかじゃありません
0502えれな
NGNG0503501
NGNGありがとうございます
これに行番号付けて入力すればいいんですよね?
0504デフォルトの名無しさん
NGNGまた、表示させるボタンと表示を消すボタンつくり、表示させている間の
時間を計測する関数を組み込みなさい。
まったくわからないんですが、
なにか参考になる情報教えてもらえないでしょうか?
0506デフォルトの名無しさん
NGNGあなたが何が出来て何が出来ないか、
プログラムの開発経験はあるのかJAVAを使った事はあるのか、
まったくわからないんですが、
なにか参考になる情報教えてもらえないでしょうか?
0507デフォルトの名無しさん
NGNGコツは1行で表示せよとは書いてあるが、何文字表示せよとは書いてないこと。
char[1]に適当に○×入れて文字一個だけ表示しちゃえ。
さらに表示させるボタンと消すボタンは作っても、表示時間の計測にそれを利用する必要が無いのも味噌。
プログラム側で固定してしちゃえば楽勝♪
0508デフォルトの名無しさん
NGNG0509504
NGNG検索は、かけたんですが
どうも、いいのがヒットしなくて、、
というか、ヒットしてても良くわかってないだけなのかもですが、、
>>506
あ、すみません。
開発経験はないというか、まだ高校生なので、、、
授業で2,3回JAVAはやったのですが、それもよくわからなくて。。
>>507
それいい考えですね^^
と思ったんですが、一応2、30文字くらいと聞いた気がします。
0510デフォルトの名無しさん
NGNGJAVA以外は?
プログラミング自体の経験がどの程度かわからないと・・・。
0511デフォルトの名無しさん
NGNG0512506
NGNGというか、それ以上は理解不能になってしまいまして、、TT
JAVAは、ちょうど私たちの年から取り入れることになったそうです
0513デフォルトの名無しさん
NGNGクラスってわかる?オブジェクトってわかる?インスタンスってわかる?イベントは?
判らなかったらセンセんとこ殴りこみに行ってできるわけねだろゴルァ!
0514デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=100&hl=ja&q=java+%93%FC%96%E5&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0515506
NGNGつくってみたんですが、コンパイルはできるんですが実行されないみたいで、、
わかる人がみたら、かなりへんてこなんでしょうね、、、
○をTに、×をFにしてるんですが、、難しいですね、、
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.awt.Graphics;
public class atest extends Applet {
String S;
public void main(String arg[]){
int i;
double rnd;
char word[]= new char[30];
for(i = 0; i < 30; i++){
rnd = Math.random();
if(0.0 <= rnd && rnd < 0.5){
word[i]='T';
}
else{
word[i]='F';
}
}
S = new String( word );
}
public void paint(Graphics g) {
g.drawString(S,30,30);
}
}
0516デフォルトの名無しさん
NGNGそんなことゆーたらこのスレの存在意義が・・・
大体こんなスレに聞きにくるやつでPGになろうと思ってるやつなんかどうせいないんだから答えてやってもいいじゃん。
自分で必死に調べたってどうせ無駄になるんだし。
0517506
NGNG最初は、いっぺんにいろんなことやろうとして
失敗して、消すの忘れてました。。。
0518デフォルトの名無しさん
NGNGAppletってmainだっけ?initだったかrunだったかどっちかだった気がするんだけど・・・?Javaよく知らない。
あと背景色や文字の色もいちおセットしたほうがいいかなぁ?
Randomは・・・まぁそれでもいっか、個性でてるし。
0519デフォルトの名無しさん
NGNGそだね。
初期化処理は
public void init()
でよろしく。
0520デフォルトの名無しさん
NGNGすげぇなぁ、結構本格的な課題だのう。
まぁこの時期だから、最後のまとめみたいなもんなのか。
>>515
とりあえず、ボタン作らなきゃいけないので、Appletに
直drawString()しないで、
1.○×を表示するPanel(ここでdrawString()する)
2.表示ボタン
3.非表示ボタン
をAppletにadd()する方向で。
あとは、ボタンにActionListener(を継承したサブクラス)を
追加(addActionListener())すると、ボタンが押された時ActionListenerの
actionPerformed()が呼ばれるので、呼ばれたら上の1.に対して、
表示するメソッドや非表示にするメソッドを呼ぼう。
がんばれ
0522怜命
NGNG0523怜
NGNGとりあえず、一番簡単そうな実装法書くね。
atestクラスのメンバ変数として、現在表示か非表示かを表す変数を持つ。
で、paintメソッドで表示状態なら、文字列を書くようにすればいいね。
で、表示、非表示のbuttonをaddして。
で、ボタンを押されたときに、(atestクラスの)action()関数でイベント
を受け取って、表示、非表示なら上で言ったメンバ変数を書き換える。
表示のボタンが押された場合は、そのときの時間を記憶(これもメンバ変数
として持ってないとね)。非表示のボタンが押されたときは、記憶した時間
からどれくらい経っているかを計算。
actionの最後で、repaint()を呼ぶの忘れないでね。
こんな感じで。っていっても、ここで書いたの全部理解して貰えるとも思
ってないので、わからないところはどんどん聞いてね。
0524怜
NGNGttp://www.wakhok.ac.jp/~tatsuo/kouki96/11shuu/action.html
0525515
NGNGでいきなりわからないのですが、
現在表示か、非表示か表す変数をどう組み込むのかわからないのですが、、
無知ですみません、、がんばってはいるんですが、、
0526怜
NGNGと同じように(同じ位置で)
boolean flag;
と宣言して。
最初の状態で表示したいなら、
flag = true;
って、init()の中で書くのね。
もし表示させたくないときは、
flag = false;
ね。
で、paint()の中で
if(flag){
(文字を書く処理)
}
みたくすればいいと思うわ。
0527デフォルトの名無しさん
NGNG0528515
NGNGimport java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.awt.Graphics;
public class atest extends Applet {
String S;
boolean flag;
public Button tButton, fButton;
public void init(){
int i;
double rnd;
char word[]= new char[30];
flag=false;
tButton = new Button( "表示" );
tButton.setBackground( Color.lightGray );
add( tButton );
fButton = new Button( "消去" );
fButton.setBackground( Color.lightGray );
add( fButton );
for(i = 0; i < 30; i++){
rnd = Math.random();
if(0.0 <= rnd && rnd < 0.5){
word[i]='○';
}
else{
word[i]='×';
}
}
S = new String( word );
}
public void paint(Graphics g) {
if(flag){
g.drawString(S,30,80);
}
}
public boolean action( Event evt, Object obj ) {
if( obj.equals("開始") ) {
flag=true;
}
else if( obj.equals("終了") ) {
flag=false;
}
repaint();
return true;
}
}
0529515
NGNGほんと感謝です!!
ただ、コンパイル時にactionのところが推奨されないとでます。
アプレットは、ちゃんと動くのですが、、、
あと、表示を押して、消去を押して、再び表示を押すと
また新しい文字列にするには、どこで初期化したらいいんでしょうか?
今のままだと、表示して、消去して、また表示おすと、同じものが出てきてしまうので、、
何度もすみません。。><
0530怜
NGNG推奨されないって出るのは古いやり方だからなのね。
回避するためには、>>520さんの言ったようにやればいいのかな?
まあ、課題だったら今のままでも問題ないと思うよ。
if( obj.equals("開始") ) {
flag=true;
}
この部分で、再び表示を押した処理をしているのだから、
ここで、initでやったようにもう一度Sを決めなおせばいいと思うよ。
0531515
NGNGここで、忘れていたのですが、時間を入れないといけなかったんですね、、
時間はsetTimeというメソッドをつかうのでしょうか?
これを、表示のボタンと消去のボタンに組み込んで
最後に引き算すれば大丈夫なんですかね?
あ、でも、引き算ってできるんでしょうか、、、
0532515
NGNG表示押した時に
start = System.currentTimeMillis();
消去を押した時に
stop = System.currentTimeMillis();
で時間を計算する関数を
public long getTime(){
t=stop - start;
return t;
}
のようにしてみました。
後は、これを表示させるだけなんですが、
終了の時に表示させたいんですが、この時は表示に何を使えばいいんでしょうか?
アプレットに表示させることが、どうしてもできなくて、、
ご教授おねがいします。
0533515
NGNGただ、時間が計測されず、0になってしまうのですが、、、
おかしいところをどなたか、教えてください。
お願いします。
http://rinarina.3nopage.com/atest.html
0534デフォルトの名無しさん
NGNG○×表示するのと同じでいいやん。
さすがにこれ以上は教えてクンの仲間入りだぞ。
0535デフォルトの名無しさん
NGNGありがとう。
忘れていた何かを思い出した気がするよ(´Д`)
常に0が表示されるのは単にgetTime呼び忘れてるだけ。
0536麻衣派 ◆COx/Mai.
NGNG…はっΣ(゚Д゚ )
0537宿題おしえてください。C言語です。
NGNGその個数および全文字に対する比率を計算するプログラムを書きなさい.
C言語初心者な文系人間にこの課題はできそうにありません。
char がほとんど理解できていないので...
誰か教えてください。宜しくお願いします。
0538デフォルトの名無しさん
NGNG> 誰か教えてください。宜しくお願いします。
まず、英文テキストを読み込んで
・文字数をカウントするプログラム
・aの文字数をカウントするプログラム
を作ってみよう。
0539デフォルトの名無しさん
NGNGどこまで分かってるんだ?
fopen()は分かるか?
0540デフォルトの名無しさん
NGNG[email protected]
0541デフォルトの名無しさん
NGNGって、fopen使わなきゃ駄目なの?
標準入力から読みこみにしたけど。
0542デフォルトの名無しさん
NGNG本地さんがこんなところにも(^^;
っていうか本物?
0543デフォルトの名無しさん
NGNG連立微分方程式をとく(数値計算で)プログラム
どこかのサイトにありませんか?
検索したのですがみつからなくて・・
こんなかんじです.
a*(b+c*x)dy/dt=d*(e-y)-(f-c*y)*z
dx/dt=-1/a*z
z=g*(w(y)-i)
定数(a,b,c,d,e,f,g,i)
未知数(x,y,z)
独立変数t
w(y)はyによって決まる定数.
境界条件
t=0,x=3
t=0,y=28
0544怜派
NGNGこんなの見つかったよ
http://www.ed.kagu.sut.ac.jp/~j-yajima/chemistry/PROGRAM/RNGKUT1.f
0545543
NGNGありがとうございます.
これはFORTRANですよね.
がんばってみます.
0546デフォルトの名無しさん
NGNGアプレットのテキストフィールドに文字を入力して、
ボタンを押すとファイルに書き込まれるようにするには、どうしたらいい?
誰か、教えてほすぃYo!
お願いしま〜
0547デフォルトの名無しさん
NGNGJavaアプレットではセキュリティの関係上
ファイルに書き込むことはかなり面倒
0548545
NGNGどうにかして書き込みたいんですが、、
0549↑
NGNG回線切っ・・・
0550怜
NGNGんー、そういう話題はJavaスレの方がいいかも。
私は余り詳しくない、というかやろうとしたことないから知らないん
だけど、サーバ側で(アプレットとは別に)ファイルを書き込む処理をす
るものを走らせて、Appletがそこと通信するとかかな?
まあ、しばらくたって反応ないようなら、Java系のスレで聞いてみて
ね。
0551デフォルトの名無しさん
NGNG電子署名付きアプレットってのでできるんじゃないですか?
http://www.dmz.hitachi-sk.co.jp/Java/Tech/security/11signedapplet.html
とか。めっちゃ面倒そうですけど。
0552烏龍茶
NGNGIE 限定技。そのアプレットを置く Web サイトを「信頼するサイト」に
登録し「信頼するサイト」の Java セキュリティレベルを「サンド
ボックス」から「有効」にする。これでアプレットの全てのセキュリティが
外れる。
0553烏龍茶
NGNG有効な技。アプレットからサーブレット (CGI) に保存したいデータ
を渡す (URLConnection を使用)。サーブレットそのデータをメモリ
なりファイルなりに保管する。アプレットは showDocument() を
使用してもう一度サーブレットを起動する。サーブレットは
Content-Type: application/octet-stream でも付けて保存したい
データを返す。これでブラウザの「名前を付けて保存」機能を使用
することが出来る。
0554546
NGNGいろいろ試してみたいと思います
0555537です。
NGNGその個数および全文字に対する比率を計算するプログラムを書きなさい
>>538
文字数のカウントの仕方がわかりません。文章をよみこむところまでできました。
>>539
fopen()って習ってないので使えないです…。
検索かけて調べてみましたが、イマイチ使い方がわかりません。
0556デフォルトの名無しさん
NGNG習うもんじゃない。
自分で学べ
0557超先生@プログラム板
NGNG< `ш´> <ちょっとだけヒントだ
int i,vowel = 0;
...
/* 母音の数を数える */
for(i=0;text[i]!='\0';i++){
if(text[i]>='A'&&text[i]<='Z') vowel++;
}
0558557
NGNG< `ш´> <間違えた、、、
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG...
/* 母音の数を数える */
for(i=0;text[i]!='\0';i++){
if(strchr("aiueo",text[i])) vowel++;
}
0561デフォルトの名無しさん
NGNG0562葉鍵板住人
NGNGこうでしょ。
int is_vowel(const int c)
{
cosnt char vowel[] = "aiueoAIUEO";
int i;
for(i = 0;i < (signed int)strlen(vowel);i++)
if(c == vowel[i])
return 1;
return 0;
}
0563デフォルトの名無しさん
NGNG最悪。
0564超先生@プログラム板
NGNG< `ш´> <#define c_strlen(t) (sizeof(t)/sizeof(t[0])-1) /* 文字列定数の文字数ゲット */
0565生徒B
NGNG>>160にて私、
>sscanf(num,"%x",numuc);でうまくできそうですね。
などと、とんでもない事を書いていたので、訂正にまいりました。
numucはunsigned charなのでこれ、至極おもしろい事になるような、ならないような。
ということで、
int numi;
sscanf(num,"%2x",&numi);
numuc=(char)numi;
printf("えれなタンをだせー!!");
あ〜、すっきりage。
0566デフォルトの名無しさん
NGNGこういう書き方する人ってVBかなにかでプログラム覚えた人?
0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNG標準関数の劣化版を作りたがる。
0571デフォルトの名無しさん
NGNGそれから sizeof(char)==1 は保証されてないんだっけ??
0572デフォルトの名無しさん
NGNGされてるよ
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG0575( ´∀`)
NGNG自己紹介はここらで終わって早速糞な質問に答えてくれる
やさしいお前らにお願いです。
言葉足らずな参考書に変わってmalloc関数とfree関数の
使い方、書き方を説明してくれ。
褒美は後日レス600のヤツがしてくれると思う。
0576デフォルトの名無しさん
NGNG0577デフォルトの名無しさん
NGNG態度がデカい割には可愛い顔してるんだな(w
0578デフォルトの名無しさん
NGNGp は voidへのポインタ、NULL が帰ってきたら領域が確保できてない。
この確保した領域は free(p) で開放する。
exit で抜けた時に領域が開放されるので free が必要ないという輩がいるが、それはけしからん話。
坊主が人殺しして「でも仏に仕える気持ちは本物なので私は聖職者」と言っているくらい本末転倒。
0579デフォルトの名無しさん
NGNGexit(プロセス終了時)にプロセスが確保したメモリが解放されるのは事実でしょ。
free()しない事の問題点を理解できてれば呼ばなくても。
でもfree()の呼び出しコストが問題にならないならmalloc()系とfree()は対で呼び出すべき。
0580578
NGNGいや、「メモリが最終的に開放される/されない」は関係ない。
例外は少ないほどいい。例外を許すという事はそれだけ混沌が増えるという事。
可能な限り一般的な方法を用いるべし、という意識を小手先のテクニックのために
わざわざ低下させるような事は好ましくないと思う。
0581580
NGNG0582デフォルトの名無しさん
NGNG0583デフォルトの名無しさん
NGNGチョパーリのボージはニクダベルヨ
0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG例外は全く許さないのか?
> でもfree()の呼び出しコストが問題にならないならmalloc()系とfree()は対で呼び出すべき。
とフォローしているだろ。
なんで教条主義者は人の話を聞かないのか。
0587デフォルトの名無しさん
NGNG0588デフォルトの名無しさん
NGNG0589デフォルトの名無しさん
NGNGあほなことを…
0590デフォルトの名無しさん
NGNG文法 G = (T, N, S, P)
T = {+, *, (,), a}
N = {E, T, P}
S = E
P =
{E → E+T,
E → T,
T → T*P,
T → P,
P → (E),
P → a}
スレ違い気味ですが助けてください、、、
0591デフォルトの名無しさん
NGNG0592590
NGNGぁ、もちろん検索はしたんですがさっぱりなのです。。
0593デフォルトの名無しさん
NGNGhttp://watalab.cs.uec.ac.jp/OBandG/fukuda/semi/attr.htm
この辺読んで、どの辺わからないかを。
0594デフォルトの名無しさん
NGNG問題にどうやって活かしたらいいのか、と。
0595怜
NGNGんーと、私も属性文法って全く知らないんだけど、>>593を読んで理解した
範囲で説明ね。
例えば、ビット列の場合、継承属性と合成属性っていうのを使っているん
だけど、逆ポーランド記法の場合は、継承属性は無くても大丈夫じゃないか
な? というのも、ビット列の場合、「それが何桁目か」っていう情報が重
要だけど、逆ポーランド記法の場合は重要じゃないから。
まず、与えられた式を文脈自由文法で解釈するっていうのは、それは木を
作っているのに等しいっていうのはいい?
このときに、この木を計算するには、ビット列みたくこれが木のどの位置に
あるかていうのが重要でなければ、基本的には葉から順に計算してけばいい
わけね。
このときに、例えば、E→E+Tというプロダクションをしたときに、これは
逆から見れば、EとTというノードをまとめて、Eというノードにしたってこ
とだよね? このとき、右側のEのが取る値をSyn(E1)として、Tが取る値を
Syn(T)とすれば、左側のEが取る値はSyn(E1)+Syn(T)になるよね?
まあ、こんな感じで定義していけばいいんじゃないかな。
ちょっと、属性文法に関しては>>593の知識だけで話してるので、間違っ
てるところあったらフォローくれたら嬉しいな。
0596デフォルトの名無しさん
NGNGすいません、お詳しいようなのでちょっと甘えてみたいのですが、、、
熟読させていただきましたがどーにも、、、
とりあえずこの辺の知識でわかってることを整理してみますと
逆ポーランド記法ってのが
ab+c*
みたいに書くものであることと
たとえば式からa*aという語を導出する際には
E > T > T*P > P*P > a*P > a*a
とやることぐらいで、、、
この場合問題の答え方もわからんです、、、
0598通過する人
NGNG俺も属性文法ってのは知らんが
文脈自由文法まわりの話をきちんと理解してるかどうかがまず先だね。
それが分かってれば >>593 のところのページを読むだけで分かる。
まず滅茶苦茶大雑把にイメージで言ってしまえば、
1)与えられた文法に従って導出木を作ってから、
2)木のてっぺんから末端へ向かって継承属性を繰り返し全ての末端にいたるまで適用し、
3)今度は末端から木のてっぺんへ向かって合成属性を繰り返し適用する、
という流れで、属性文法が適用される。
1)の作業ルールを決めるが文脈自由文法で、
それに2)と3)の作業ルールを追加したものが属性文法(と>>593のページに書いてある(藁))。
文法使って木ができる、というあたりのイメージはちゃんと頭にあるかい?
0599デフォルトの名無しさん
NGNGこのスレだけの回答だけで宿題の回答を作ろうとするなよな。
勘違いするなよな。
0600怜
NGNG無理して説明してみるから苛めないでね>識者の方
a*aの例で説明してみるね。
E > T > T*P > P*P > a*P > a*a
という風に解釈するわけよね?
これは、数式を木に直したのと同じなわけね。つまり、
E−T−T−P−a
|
P−a
って木にしたってことね。
じゃあ、この木を逆ポーランド記法で表したいっていうのが今の問題ね。
ちょっと、このままでは説明しにくいから、ノードに番号ふるね。
E1−T1−T2−P1−a1
|
P2−a2
としとくね。ここで、例えばT1を表す逆ポーランド記法をSyn(T1)と書く
ことにするの。
このとき、P2を表す逆ポーランド記法は、a2と同じ、つまりaでいいよね?
これはP→aというプロダクションだったら、Syn(P)=a
っていうことになるんだと思う。P1も同様ね。
次にT2→P1って変化について考えるね。
これは、T→Pってプロダクションで生成されたものだよね?
このとき、T2とP1のポーランド記法は一緒だということで、
T→Pってプロダクションのときは、Syn(T)=Syn(P)
ということになるわけで。
で、T1→T2,P2と分岐しているとこあるよね?
これは、
T→T*Pというプロダクションで生成されたものね。このとき、
T1はaa*って表して欲しいわけで。
つまり、
Syn(T) = Syn(T)Syn(P)*
って感じになるのかな。
うーん、本当にこういうものなのかな・・不安。
0601デフォルトの名無しさん
NGNGいいYO!怜たん!(・∀・)イイ!
0602590
NGNG>T2とP1のポーランド記法は一緒だということで、
>T→Pってプロダクションのときは、Syn(T)=Syn(P)
>ということになるわけで。
というところがよくわからんのですが、、
0603590
NGNG怜さんのおっしゃることは理解できた…つもりになりました。
みなさまご協力どうもです。
0604デフォルトの名無しさん
NGNG確か違うオッサンが演じてたよね?
0606デフォルトの名無しさん
NGNG0607怜
NGNG0608デフォルトの名無しさん
NGNG0609怜
NGNG今M1です。みなさんよりちょっと年上ってくらいだね。
(ちょっとじゃないって突っ込み入りそう・・・)
0610デフォルトの名無しさん
NGNG0611Kanai
NGNG(例:行を6列に指定した場合。N行の場合はどうなるのでしょうか)
# #####
## ####
### ###
#### ##
##### #
0612デフォルトの名無しさん
NGNG0613デフォルトの名無しさん
NGNGforでぐるぐるまわせ。
0614デフォルトの名無しさん
NGNG「行を6列」って表現が気にならないでもないけど、
char m[N-1][N+1];
としておいて
m[j][i]=((i-1==j)?(' '):('#')); /*0オリジン*/
で、forすればどう?
コスト的には全部埋めてから違うとこだけ書くほうが
いいと思うけど、何回もやらなければこれでもいいかな?
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGそれは怜タンの設定であって・・・
大学名が秘密なのは考えるのが面倒だったんだと思われ
0618デフォルトの名無しさん
NGNGそういうわけではない、というのが1行目の書き込みに対してなのか
2行目の書き込みに対してなのかわからないんだが・・・
もしかして演じている貴方も大学生なのかい?
それとも演じて自体いないとか・・・そうだったら(;´Д`)ハァハァだYO!
0619怜
NGNG>それとも演じて自体いないとか・・・そうだったら(;´Д`)ハァハァだYO!
どちらかはご想像に任せます(笑)
0620デフォルトの名無しさん
NGNGそのどちらかなんだね?
ふーむ・・・
0621怜命
NGNG0622デフォルトの名無しさん
NGNGいつか怜ちゃん萌え萌えゲームでも作る予定にしておこう。
0623デフォルトの名無しさん
NGNG0624ガクセイ
NGNGストリーム系のオブジェクトを引数として受け取り、
大文字の文字列を小文字に変換して返すクラスを作れ
といわれました。
ファイルからもキーボードからも読み込めることが条件です。
どういうことなのかサッパリです。
0625デフォルトの名無しさん
NGNG{public:
void operator()(FILE *in, FILE*out)
{
int ch;
while( ch = fgetc( in ), ch != EOF )
fputc( tolower(ch), out );
}
};
0627デフォルトの名無しさん
NGNGAPIでビットマップをファイルから読み込んで、読み込んだファイルに
反転とか原色とかのエフェクトをかけるプログラムを作成したいんで
すけどどうやったらいいんですか?もうさっぱりです。
0628デフォルトの名無しさん
NGNGその手については根気よく調べれば必ずヒントは見つかるはず。
0629ガクセイ
NGNGありがとうございます。
>>626
JAVAです。アプレットではなく。
ファイルからも、キーボードからもというのがわかりません。
先生がインターフェースを提供するとかなんとかいってました。
0630怜
NGNGんー、おそらく、
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/InputStream.html
この辺を、引数として取って、read()で一文字づつ読んで、大文字を小文字に変換
して出力するのだと思うな。
0631学生さん
NGNGダイアログのエディットボックスのデータを別のダイアログのエディットボックスに
移すにはどうしたらいいのでしょうか?教えて下さい。
0632デフォルトの名無しさん
NGNGエディットコントロールに入ってるテキストをゲットする関数、
えーと、GetWindowText()だっけ?でテキスト取得して、
なにかしらの方法(メッセージを定義して、SendMessage()?)
で他のダイアログのプロシージャに送って、SetWindowText()で
エディットコントロールにセットする感じでよろ。
0633デフォルトの名無しさん
NGNGSendMessage()はいりません。
GetWindowText()とSetWindowText()だけでOK
0635学生さん
NGNGいま卒業研究をやっていまして、質問があります。
ダイアログベースで、親ダイアログのエディットボックスにファイルパスを
入れて、子ダイアログのエディットボックスにファイルの内容を表示して、
入力不可にするには親ダイアログのボタンにどのようなコーディングをすれ
ば、よいのでしょうか?教えて下さい。宜しくお願い致します
0636デフォルトの名無しさん
NGNGんあ?どのへんで迷ってるの?
とりあえず、なにしたらいいか全く分からない時は、
http://203.174.72.112/y_kumei/
がいいよ。
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNGよろしかったらJAVAスレの方に来ていただけますか?
あちらに宿題を貼っております。
どうか助けて下さい、お願いします。
0639デフォルトの名無しさん
NGNGx(n+1)=1-1.4x(n)~2+y(n)
y(n+1)=0.3x(n)
のリヤプノフスペクトラムのデータを出したいんですが
どうすればいいんでしょうか?
#include <stdio.h>
#include <math.h>
const long N=1000;
main()
{
long i;
double x, x1, x2, y1, y2;
double lambda;
x = 0.2;
x1 = 0.001;
y1 = 0.001;
lambda = 0.0;
for(i = 1; i <= N; i++)
{
x2 = -2.8*x*x1+y1;
y2 = 0.3*x1;
lambda = lambda+log(sqrt(x2*x2+y2*y2)/sqrt(x1*x1));
printf("%lf\n",lambda/i);
x1 = x2;
y1 = y2;
lambda = lambda;
}
}
0641ムタ
NGNG具体的な数字で出したいんっすけど、HELP使ってもどこにあるのやら。
多分メモリー測るファンクションを二つ使って(メモリー使う前後に)、その数字を後から差し引く
って方法だとは推測できるけど、どんなファンクション使ったらいいのやら。
誰か分かる人いたら教えてください。
0642デフォルトの名無しさん
NGNGMSDN で allocMemDF とか _CrtMemCheckPoint とか CMemoryState とか ‘診断サービス’ とか調べてみれ。
ついでに GlobalMemoryStatus() も見とくか?
0644デフォルトの名無しさん
NGNG例えば・・・
Yahooファイナンスを使って、ある企業AとBの本日の最高株価を抜き出して、それをエクセルのセル(0,A)、セル(0,B)に表示する
というような事をしたいのです。
使えるプログラムはJavaとVBEです。
よろしくお願いします。
0645644
NGNG0646デフォルトの名無しさん
NGNGinvalidなHTMLなら、その担当をうらみつつ、
パターンマッチで切り抜けろ。
0647トロだにゃ& ◆s3MjONwo
NGNG| | \ / | |
| | \_____/ .| |
|レ ´ \|
| ヽ
| ヽ
| ,,,,;;::'''''ヽ
| ,,,,;;::::::::::::::: __ ヽ
| " __ :::: '"ゞ'-' |
| - '"-ゞ'-' ::::::... |
| ::::::: ヒつ |
| ヒつ ( ,-、 ,:‐、 |
| |
| __,-'ニニニヽ . |
.. | ヾニ二ン" /
ヽ /
ー――――――l――l――‐´
/、 ||
| | / |
|| | | |
| | | | |
| | | | |
/ | | _ | |ー 、
/ /  ̄  ̄ー- _/>
`ー ´
嘘は嘘であると見抜ける人でないと
(怜たんの消息を知るのは)難しい
0648デフォルトの名無しさん
NGNG0649Help_Me
NGNGhttp://www.geocities.com/sukiyaki0001/java2.doc
http://www.geocities.com/sukiyaki0001/java2.txt
0650ニコさん
NGNG"\'m_Com1\'" を読み取ってくれません。シングルコーテーションの中では
なくて、’’も含めて読み取りたいのです。どなたか教えて下さい。
ちなみに、m_Com1はメンバ変数です。全体はこのコードで大丈夫でしょうか?
心配です。
CString strSql = "Select timem,exp,tostn from jikoku where ";
if(m_Com1 == ""){
strSql+= "Stn = " + "\'m_Com1\'" + " AND ";
}else if(m_Com2 == ""){
strSql+= "Goto = " + "\'m_Com2\'" + " AND ";
}else if(m_Com3 == ""){
strSql+= "Day = " + "\'m_Com2\'" + " AND ";
}
strSql+= "Timeh = " +m_ji;
m_Recordset.Open(CRecordset::dynaset,_T(strSql));
UpdateData(true);
m_Recordset.Requery();
0651デフォルトの名無しさん
NGNGよくわかんないけど、
if(m_Com1 != "") {
strSql = "Stn = " + "'" + m_Com1 + "'" + " AND ";
} else ....
って感じじゃない?
0652デフォルトの名無しさん
NGNGよくわからないが、
while(1)
puts("\a>>1は怠け者");
って感じでは?
0653デフォルトの名無しさん
NGNG順番通りに実行するにはどうすればいいですか?
例えば、chmod 700 a.out → ./a.outという具合に。
0654デフォルトの名無しさん
NGNGmain(){
system("chmod 700 a.out");
system("./a.out");
}
0655653
NGNGどうもです。
あと、もう一つ質問があるんですが、コマンドの実行結果をテキストファイルに
出力するにはどうすればいいんですか?
例えばsystem("ls")とやるとlsの実行結果がls.txtに書き込まれるということをやりたいのですが。
0656デフォルトの名無しさん
NGNGアホなの?アホなのかな?
system("ls > ls.txt");
ネタかも!ネタにマジレスかも!
・・・ハズカシイ
0657デフォルトの名無しさん
NGNGmain(){
system("ls > ls.txt");
}
0658デフォルトの名無しさん
NGNGmain(){
printf("結婚してください\n");
}
0659656
NGNGケコーンする?ねえケコーン?
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG0662 @
NGNGやってみやいな〜
http://sc5.tripod.co.jp
0663暇人
NGNGX(1) + X(2) + ... + x(n) = C
C、N、X、は全て0以上の整数。(Nは1以上)
CとNはユーザー入力から。
この全ての場合をアウトプットするアルゴリズムを記せ。
例)C = 3, n = 3 (User input)
1, 3 + 0 + 0
2, 0 + 3 + 0
3, 0 + 0 + 3
4, 1 + 2 + 0
5, 1 + 0 + 2
6, 0 + 1 + 2
7, 0 + 2 + 1
8, 2 + 1 + 0
9, 2 + 0 + 1
10, 1 + 1 + 1
簡単そうで、難しかった〜(*_*)
因みに私はC++でソース書きましたん☆
0664デフォルトの名無しさん
NGNG難しい?(^^;
1分でかけそうだけど。
0665664
NGNG0666aaa
NGNG>>664
そんな簡単?
0668暇人
NGNGN がユーザー入力だからね。
全ての場合を出力するのがキー。
ループする回数もなるべく早めに終わらすのが重要。
分かった人、解答簡単に書いてみて。それが俺のより早いから
どうか比べる。(BIG(O)Notation)
0669デフォルトの名無しさん
NGNGx(n) を0〜C として 残りを C:=C-x(n) として n:=n-1) 再帰
0670669
NGNG0671デフォルトの名無しさん
NGNG#include<stdio.h>
#include <iostream.h>
void showres(int *a, int n){
int i;
for(i = 0; i < n; i++){
printf( "%d" , a[i]);
if(i + 1 < n) printf(" + ");
}
printf("\n");
}
void func(int k, int n, int c, int *a){
int i;
if(k + 1 == n){
a[k] = c;
showres(a, n);
}else{
for(i = 0; i <= c; i++){
a[k] = i;
func(k + 1, n, c - i, a);
}
}
return;
}
int main(){
int c, n;
int *a;
cout << "C = ";
cin >> c;
cout << "n = ";
cin >> n;
a = (int*)malloc(n * sizeof(int));
func(0, n, c, a);
free(a);
}
0672aaa
NGNGなるほど。すごい。ありがと☆
0673デフォルトの名無しさん
NGNGループで書いたヤツもアップしてみてよ。
再帰がよくわからん人が参考にできるかもしんないから。
0674668
NGNG>>671
アップしてくれてありがとね。
っていうか、俺のアルゴリズムとRecursion 使うってのは
ほとんど一緒です。誰かIteration でやらないかな〜って思ってね。
今考えているけど、明日、明後日テストなので、Iteratioin で
出来次第アップします。お許しあれ。
>>671
にしても、俺の場合Recursion のプログラムになるとどうしても
時間かかってしまいます。まだBeginnerだと自分で思います。
Recursion のアルゴリズムのこつとかありますかね?
(5分で出来たあなたはすごい。)
0675デフォルトの名無しさん
NGNGあまりに強引すぎて10 10くらいでも終わらなかった。
0676デフォルトの名無しさん
NGNG再帰のプログラムは慣れです。とにかく色々やってみましょう。
計算量のオーダーが多項式で抑えられないときは、再帰使わないとまず無理だと
思いますよ。
0677674
NGNGアドバイスありがとうございます。
これからまた色々な言語を勉強すると思いますが、
再帰のプログラム色々やって慣れるようにしますね。
みなさんは、何の言語が一番得意なんでしょうか?
そして、根本的な基盤となる言語は何と思います?(個人的に)
0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG基盤となってるのもこの2つ。
0680デフォルトの名無しさん
NGNG長くてすいません。
#include <stdio.h>
#define SSIZE 1024
#define LIMIT 256
typedef struct {
int rest;
int pos ; // 数字のおき場所
int list[LIMIT];
} Table;
Table stack[SSIZE];
int sp = 0;
int sum, count;
Table pop(void) { return stack[--sp]; }
void push(Table *t) { stack[sp++] = *t; }
void print_answer(Table *t)
{
int i;
for ( i = 0; i < count - 1; i++ )
printf("%d + ", t->list[i]);
printf("%d\n", t->list[i]);
}
0681デフォルトの名無しさん
NGNG{
int i;
Table now = {0, 0, {0}};
now.rest = sum;
push(&now);
while ( sp > 0 ) {
now = pop();
if ( now.pos >= count ) {
print_answer(&now);
} else {
if ( now.pos < count - 1 ) {
int pos = now.pos;
int rest = now.rest;
now.pos++;
for ( i = 0; i <= rest; i++ ) {
now.rest = rest - i;
now.list[pos] = i;
push(&now);
}
} else {
now.list[now.pos] = now.rest;
now.pos++;
push(&now);
}
}
}
}
int main(void)
{
printf("合計 個数 :");
scanf("%d %d", &sum, &count);
make_expression();
return 0;
}
0682デフォルトの名無しさん
NGNG0683助けてください。
NGNGMS-DOS Promptでアセンブル、リンク、実行する方法を
一歩一歩優しく教えてください。
0684デフォルトの名無しさん
NGNG1、MASM
2、TASM
3、GAS
4、NASM
それとも
5、Debug で直接書くの?
0685助けてください。
NGNGTASMだと思います。
0686デフォルトの名無しさん
NGNGプロンプトで
tasmか tasm32 として改行してみて 最初の1行目を教えて
0687助けてください。
NGNGガッコのパソコンがどうなってるか良くわからないんです。
0688助けてください。
NGNG0689デフォルトの名無しさん
NGNGそして、がっこ逝け。
0690デフォルトの名無しさん
NGNGtasmがインストールされていなかったら、tasmは使えん。
そんなのに大してコメントしろってほうが無理だ。
家からネットワークに繋げるなら、家でもできることをやったらどうだ?
0691助けてください。
NGNG0692デフォルトの名無しさん
NGNG1)TASMの代わりに NASM をダウンロードしてやってみる
2)Debugの使い方を覚えて、Debugでやる
どっちがいい? 2の方が教える方は簡単なんだが
0693助けてください。
NGNG0694デフォルトの名無しさん
NGNGhttp://www.web-sites.co.uk/nasm/where.html
0695デフォルトの名無しさん
NGNGttp://www.axe-inc.co.jp/pds/nasm.html
0696助けてください。
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNGおまえはクリックするとまずいようなことあるのか?
とりあえずできるまでやっとけ。
0699デフォルトの名無しさん
NGNG1、メモ帳を開いて 以下の入力をする 空白は全部 半角空白にする事
org 100h
section .text
start:
mov ax,cs
mov ds,ax
mov dx,txt_hello
mov ah,09h
int 21h
mov ax,4c00h ;終了
int 21h
section .data
txt_hello:
db 'みなさんこんにちは'
db 13,10 ;13,10は改行コードです
db '$' ;終端文字は $ です
2、メモ帳保存する時に HELLO.ASM と名前を付ける事
3、dos窓から
nasmw -fbin hello.asm -ohello.com
と入力して改行する
4、DOS窓から
HELLO.COM
と入力して実行する
0700>699
NGNG0701デフォルトの名無しさん
NGNGこの例は windows版NASMで DOS16ビットアプリを作った場合ね
DOS版のNASMなら nasmw -> nasm と読み替える事
それから 16bitアプリでなく Win32bitアプリを作りたい場合はだいぶややこしい
でもアセンブラだけで win32アプリを作れなんて課題は絶対ない筈
.COM ではなく .EXE を作る場合は、少しややこしい。
NASMはリンカ一体(アブソリュートアセンブラ)なのでEXEヘッダをアセンブラ内で
生成するようにする。 でもNASMの解説サイトを読めば判るだろう
0702デフォルトの名無しさん
NGNG.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
DlgProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
.data
DlgName db "SAMPLEDLG", 0
AppName db "win32 assemble", 0
.data?
hInstance HINSTANCE ?
CommandLine LPSTR ?
buffer db 256 dup(?)
.const
IDD_EDIT equ 101
.code
start:
invoke GetModuleHandle, NULL
mov hInstance,eax
invoke DialogBoxParam, hInstance, ADDR DlgName,NULL,addr DlgProc,NULL
invoke ExitProcess,eax
DlgProc proc hdwnd:HWND, message:UINT, wParam:WPARAM, lParam:LPARAM
.if message==WM_COMMAND
mov eax,wParam
.if al == IDCANCEL
invoke EndDialog, hdwnd, NULL
mov eax, 1
ret
.elseif al == IDOK
invoke GetDlgItemText, hdwnd, IDD_EDIT, ADDR buffer, 256
invoke MessageBox, hdwnd, ADDR buffer, ADDR AppName, MB_OK
mov eax, 1
ret
.endif
.endif
mov eax, 0
ret
DlgProc endp
end start
0703デフォルトの名無しさん
NGNGhttp://www.geocities.com/sukiyaki0001/java2.txt
Javaに詳しい方よろしくおねがいします。訳はご要望があれば、そのつど。
0704デフォルトの名無しさん
NGNG配列の、0クリアして右から順位付けするやり方がいまいちわからないのです。
#include<stdio.h>
main(){
int i=0;
int j=11;
char data[]={1,3,5,5,7,9,9,10};
char juni[11]; /*10番目と11番目を用意する*/
for(i=0;i<=11;i++){ /*iが11以下の間繰り返す*/
juni[i]=0; /*配列 juni[i]を0でクリア*/
}
for(i=0;i<8;i++){ /*iが8より小さい間繰り返す*/
juni[data[i]]++;
}
juni[j+1]=1;
for(i=j;i>=j;i--){
juni[i]+=juni[i+1];
}
printf("得点 順位\n");
for(i=0;i<8;i++){
printf("%d %d\n",data[i],juni[i]);
}
}
間違ってるとこを訂正してもらえると助かるっす。
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNGjuni[]のクリアのところで、配列をオーバーしとるやん。
0708デフォルトの名無しさん
NGNGchar juni[11]; /*10番目と11番目を用意する*/
これだと11個用意することになるんよ。
0709デフォルトの名無しさん
NGNG#include <stdio.h>
#define DATSIZ (8)
static void getJuni(const char *, char *, int);
int main(void)
{
int i;
char data[DATSIZ] = {1, 3, 5, 5, 7, 9, 9, 10};
char juni[DATSIZ];
/* 順位付けを行う,得点はソートされている必要がある */
getJuni(data, juni, DATSIZ);
printf("得点 順位\n");
for(i = 0; i < DATSIZ; i++) {
printf("%4d %4d\n", data[i], juni[i]);
}
return 0;
}
static void getJuni(const char *data, char *juni, int size)
{
int i;
int j;
int p;
p = 128; // CHAR_MAX かな ?
for(i = size - 1, j = 1; i >= 0; i--, j++) {
if(p > data[i]) {
juni[i] = j;
p = data[i];
}
else if (p == data[i]) {
juni[i] = juni[i + 1];
}
}
}
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGわけわからん。
0713デフォルトの名無しさん
NGNG長くなるかも知れませんがお願いします。
頭がわるいもんでずーーーっとつっかえてます。
今Lsystemをいろいろとみてあるいてます。
http://www.asahi-net.or.jp/~pd4s-hgwr/lsystem/
ここでソースを落としてみたんですが
Rule.javaをコンパイルすると以下のようなエラーがでます。
Rule.java:104 : class Rule で宣言されたメソッドjava.util.Enumeration.values()は、
class.java.util.Hashtable で宣言された同じシグニチャーのメソッドをオーバーライドできません。同じ形の戻り値を持たなければなりません。
public Enumeration values(){
^
誰か落としてヘルプしてくれる人います?藁
Rule.java長くないんですが 読みやすいように書くと1000文字越えちゃう・・・
本当にいっぱいいっぱいです。助けて・・・
0714デフォルトの名無しさん
NGNGエラーの意味は、「同じ引数の型(シグネチャ)を持つメソッドを
オーバーライドするときは、戻り値の型も元のメソッドのと
同じじゃなきゃいかん」ってことだね。
で、今調べてみたけど、
jdk1.1系にはjava.util.Hashtableクラスに、values()って
メソッドは定義されてなかったので、Rule.javaでvalues()を
定義してもオーバーライドではなかったわけだけど、
java2では残念ながらvalues()っつーのがすでに定義されてるので、
上記のエラーとなるわけだ。
0715デフォルトの名無しさん
NGNGと言うことは・・・
簡単に言えばvalues()がかぶっちゃってる(オーバーライド)ってことですよね。
なら単にvalues()を違う名前で定義すればOKなのかな??
そんな簡単なもんじゃない??
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNGいまは drawLine(from, to) ってやると from から to にむけて矢印
がひけるのね、これを from から to にむけた → って矢印にしたい。
最初に考えたのは from.x, from.y と to.x, to.y を使って、from-to
線分の傾きを出して、それに対して 30 度くらいの回転をかけた直線を
to を通るように from の方向へちょびっとづつ書こうと思った。
けど、それってなんかチカラで押さえ込んでいるみたいで、もっとシンプ
ルな方法があるのではないかなー? と思ったりした。
動作環境は Java 1.0.2 で JavaApplet として作ってます。
古い JavaMachine (JVM じゃなくて)で動かすので Java 1.1 以降は利用
できません。
とりあえず具体的なコードでもアイデアだけでもいいんですが、助けて。
0718デフォルトの名無しさん
NGNGhttp://www.geisya.or.jp/~mwm48961/math/m3pita03.htm
0719デフォルトの名無しさん
NGNGその時点の年月日を出力するプログラムって、どう組めばよいですか。
C言語です。うるう年の分け方やループの仕組みはわかるんですが、
scanfで入力データに対応した日付を書き出す方法がわからないのです。
よろしくおねがいします。
0720デフォルトの名無しさん
NGNGどのくらいの精度が欲しいのかわからんが、5度刻みで矢の
画像を持っておいて、最も角度が近いものを描画したらどうだ?
5度刻みだと18パターン、矢の角度を計算するよりは楽。
0721デフォルトの名無しさん
NGNGDelphiでよければ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004530597_1/MyDraw.pas
0722デフォルトの名無しさん
NGNGですが、./a.out %sと実行されてしまってうまくいきません。
よろしく頼みます。
#include<stdio.h>
int main(int argc,char *argv[])
{
int i=0;
while(i<3){
system("ping %s",argv[1]);
i++;
}
}
0723デフォルトの名無しさん
NGNGsprintf( hoge, "ping %s", argv[1]);
system(hoge);
0724デフォルトの名無しさん
NGNGは、いいがそのプログラムに何の意味が?
[CTRL]+[D}しない限りping回り続けるだろ・・・。
0725デフォルトの名無しさん
NGNGWeb掲示板のプログラムを作るとして、以下の3つの
数値が分かっているものとします。
(1) 現在のページで表示を開始する投稿番号 x
(2) 1ページに表示する投稿数 y
(3) 全投稿数 z
とする時、現在のページが何ページ目かを算出するには
どのような式になるでしょう? 回答は PHP, Perl, Java いずれかの
言語で答えること。
1ページに表示する投稿数が「5」件で、全投稿数が「15」件
あったとします。現在のページでは投稿番号「6」から表示
するとします。このとき
1ページ目: 投稿番号「1〜5」が表示される。
2ページ目: 投稿番号「6〜10」が表示される。
3ページ目: 投稿番号「11〜15」が表示される。
つまり答えは「2」ページ目になります。
0726デフォルトの名無しさん
NGNG板違い。WebProg
0727デフォルトの名無しさん
NGNGceil(x / y)
0728デフォルトの名無しさん
NGNGどなたか教えてくらはイ お願いします
数字を入力し、「実行」ボタンを押すと、1から入力された数値までの合計数を表示する。
ただし、入力されたものが数値でなかった場合、「数値を入力してください」というエラー
メッセージを表示する。
「終了」ボタンを押すと、プログラムが終了する。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNGマルチにより放置。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGなぜ「z」が必要なの?混乱させるため?
use POSIX;
$page_number = int ($x / $y + 0.5)
0733ダメリーマン
NGNGもう2CHだけが頼りです。C言語初級講座です。
コマンドライン引数に指定されたファイルすべてに対して、
改行文字以外の各行を、逆さまにして表示するプログラム
を書いてください。
このプログラムを a.out とすると実行結果としては、
以下のようになります。
% cat text
text1
text2
text3
% ./a.out text
1txet
2txet
3txet
逆さまに表示する部分は、以下のようにすると簡単にできます。
1.文字列の最後に改行文字があれば、そこに「\0」を代入
2.文字列の最後の文字から先頭に向かって、順に 1 文字ずつ表示
3.1で改行文字があったならば、改行文字を表示
0734デフォルトの名無しさん
NGNGそこまでわかってるなら自分でやれや。
0735デフォルトの名無しさん
NGNGそのぐらい本があればすぐだと思うが。
0736デフォルトの名無しさん
NGNG丸投げするのに「思いつかない」っていうなよ。
0737733
NGNG自分でやってみます。
0738719
NGNG#include<stdio.h>
main(){
int i=0,j=10,k=0,count=0,year=1800;
char nen[20];
char getu[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char niti[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
char shokuji[3];
while(1){printf("count= ");
scanf("%d",&i);
year++;
while(k<12){
switch(k+1){
case(1):case(3):case(5):case(7):case(8):case(10):case(12):
while(j<31){
while(i<3){
i++;count++;
if(count=&count){
goto end;
}}i=0;j++;}break;
case(4):case(6):case(9):case(11):
while(j<30){
while(i<3){
i++;count++;
if(count=&count){
goto end;}}i=0;j++;}break;
case(2):
if((year%4==0&&year%100!=0)||(year%400==0)){
while(j<29){
while(i<3){
i++;count++;
if(count=&count){
goto end;
}}i=0;j++;}}
else{
while(j<28){
while(i<3){
i++;count++;
if(count=&count){
goto end;}}i=0;j++;}}break;
} /*switch文の終わり*/
j=0;k++;
} /*while(k<12)の終わり*/
k=0;
}
end:;
printf("count= %d,date= %d. %d. %d\n",count,year,hako[k],kan[j]);
}
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG??
0741デフォルトの名無しさん
NGNGまぁいちおうベタなコードとしては
適当にバッファを用意して1行づつ読み込む。
バッファのケツは\nになるはずなのでそこまでポインタを進める。
その後ポインタをバッファの頭までデクリメントしつつstdoutに投げる。
最後に\nをつける。
次の行へ
というような感じになるんじゃないかな。
0742デフォルトの名無しさん
NGNG先頭までループしながら、
読む、書く。
遅そうだ
0743デフォルトの名無しさん
NGNG最悪だ。
0744デフォルトの名無しさん
NGNG738をコピペしてコンパイルしたんだけど最後のpirntfの引数hako,
kanをgetu,nitiにしただけでコンパイル通っちゃったよ。
一見してこんなのコンパイル通るわけないと思ったんだけど。ある意味すごい。
とりあえず740の指摘したif (count = &count)がおかしい。intにint *を代入しているし
そもそも代入文でいいのかと思うのだが、後でじっくり見てみようかな。
>そもそもgotoなんざ使うなってーの。
などという言葉に耳を貸してはいかん。Switchから抜けようと思えば仕方ない。
しかしネストが3段以上になるのは何か基本的におかしいぞ。
それから変数の名前の付け方のセンスがなっていない。コメントがない。
enumを使え。
nitiという配列だけど、
niti[0] => 1, niti[1] => 2, .... , niti[30] => 31 という配列はナンセンスだとおもう。
それより、
getu[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
の方が意味があるとおもわない?
0745デフォルトの名無しさん
NGNGととととと (;´Д`) とりあえず
> while(j<31){
> while(i<3){
> i++;count++;
> if(count=&count){
> goto end;
> }}i=0;j++;}
みたいなコードが都合 4 回も出てますが,
これを一つにまとめるべきだと思ったです。
ヒントとしては,先頭の行の while の部分に注目。
while (i < days) の days の部分が年や月によって少しずつ違うだけっすね。
>>744 さんのヒントの gatu[] も併せて考えて,うるう年にもちょっと気をつけるって方向で。
あと,if (count = & count) の部分がわりとオシャレな事になってますが,
ナニがどうなれば end ラベルにジャンプしたいですか? (;´Д`)
0746745
NGNG正 : 744 さんのヒントの getu[]
0747719
NGNGif(count=&count)は、もうひとつ変数scan_countを作って、
if(count==scan_count)としました。
いろいろ自分で考えて手を加えてみた結果、
いちおう、入力データが小さいうちは、正常に動作しました。
入力データがかなり大きい数になると、countの表示がマイナスになるのですが、
なにか改善策はありますか?
0748デフォルトの名無しさん
NGNGいまさらだけど元の仕様を読んだのだけどはっきりしない点を確認。
「ある日付から通算の食事の回数を入力する」というのはどう有意味?
なんかcountとdateを表示するんだけどさっぱり意味がわからない。
もしかしてたとえば
「ある日にちから10回食事した。ある日にちとは今日から何日前か?
ただし1日3回食事をとることにして今日はまだ食事をしていないとする」
なら答えは出せる。今回投稿したものは正しくないようだけどいきなり
1801. 1.12なんて答えが返ってくるんだけど。
プログラムを走らせるとcountを聞いてきて計算結果を表示するけど
たとえばcount = に3を入力するとどんな答えが返ってきてほしいの?
0749デフォルトの名無しさん
NGNG>if(count=&count)は、もうひとつ変数scan_countを作って、
>if(count==scan_count)としました。
これは要するにscanf("%d", &scan_count)という意味ですか?
仕様がわからないから断言はできないが変数のネーミングにセンスがなさすぎる。ふつうi,j,kって言ったら単なる
ループカウンタで単にMAXの回数だけループという使い方をする場合が多いのだけれど
この場合は
i < 3 1日3食?
j < 29, 30, 31 ひと月の日数に関係がある?
k < 12 月に関係がある?
という風にi, j, kに何らかの意味がありそうだからそれなりの変数名にするべきなんじゃ無いだろうか。
その割にはcountなんて言う何をカウントしているんだかわからない変数があるし。
ふつう仕様が舌足らずでもプログラムを見ればたいてい意図していることはわかりそうなものだが
738のコードを見ても何がしたいのかさっぱりわからない。
しかしやる気は感じるので応援はするよ。
とりあえず仕様をよろしく。何を入力したらどういう答えが返ってきてほしいのか
はっきりさせてちょ。
0750Disca ◆NAfP6znE
NGNG#include <stdio.h>
#include <string.h>
void main()
{
int i, j;
int n;
char c;
char *(aa[3]);
aa[0]= "text1";
aa[1]= "text2";
aa[2]= "text3";
for (i=0 ; i < 3 ; i++)
{
n= strlen(aa[i]);
for (j= 0 ; n / 2 ; j++)
{
c= aa[i][j];
(aa[i])[j]= (aa[i])[n - j - 1];
(aa[i])[n - j - 1]= c;
}
}
for (i= 0 ; i < 3 ; i++)
printf("%s\n", aa[i]);
なぜか動かない、問題でもあるかなぁ〜。
0751デフォルトの名無しさん
NGNGmainの{を閉じてないから。
と、一応つっこんでおく。
0752デフォルトの名無しさん
NGNG自分でも物好きだと思うけどコードを読んでみた。
もしかしてやってることはこんなことか?
食事をした回数まで1から数えていく。
3回カウントしたら1日をカウントアップ。
以後同様にして1800年の1月1日(なぜこの日付?)から何日目たっているかを表示。
もしやりたいことが上のようなことなら上に書いてあるものそのままをコーディング
してみたら。
もう少しいうとすぐに日付を求めるのではなくまず何日たったかを出せばいいのではないかな?
例えば300日経過していたとして西暦1800年の300日目は何月何日になるかということを
考えればよい。とりあえず閏年は考えないで2月は28日まで1年は365日として
コーディングする。その後閏年に対応することを考えればよい。
西暦X年のY日目は何月何日かという関数を考えてもイイかも。
もし後で閏年に対応できないようなコードなら元のコードに問題がある。
0753デフォルトの名無しさん
NGNG751のmain閉じはコピぺみすだとしてコンパイルは通るけどメモリエラーで
落ちるということだよね。
とりあえず文字列の配列の宣言部は
char *(aa[3]); ではなくて char *aa[3]; じゃないかな?
前者は (aa is array(element3)) is pointer to char
後者は aa is array(element3) of pointer to char
aaはcharへのポインタの配列(要素数3)という感じで読むんだけど。
前者は私には自然に読めないな。
0754デフォルトの名無しさん
NGNGグレゴリオ暦、ユリウス暦、太陽太陰暦、イスラム暦、
ユダヤ暦、和暦、などなどに対応したい、とかいわれたら、
格好の練習問題といえそうですね :-)
0755デフォルトの名無しさん
NGNGchar *(aa[3]); も char *aa[3]; も同じ意味じゃない?
0756デフォルトの名無しさん
NGNGそれはいいかもね。各暦に対応した変換関数を考えればいいわけだからね。
>750
とりあえずfor (j= 0 ; n / 2 ; j++)はループの中でnが変化しないからnが0じゃなければ
無限ループするよ。
なんか文字列の先頭からとケツから人文字づつとって入れ替えようとしているみたいだね。
それなら
aa[j][i] = aa[n - j - 1][i]
になるような気がする。
0757デフォルトの名無しさん
NGNG#include <stdio.h>
#include <string.h>
void main()
{
int i, j;
char *str[3];
char temp;
int len;
str[0] = "test1";
str[1] = "test2";
str[2] = "test3";
// それぞれについて処理
for (i = 0; i < 3; i++){
len = strlen(str[i]);
for (j = 0; j < len / 2; j++){
temp = str[i][j];
str[i][j] = str[i][len - j - 1];
str[i][len - j - 1] = temp;
}
printf("%s\n", str[i]);
}
}
0758デフォルトの名無しさん
NGNG勘違いだったみたいです。混乱させてごめん。
756もちょっと変だった。
超手抜きだけどこんな感じになるのでは
#include <stdio.h>
#include <string.h>
int main(void)
{
int i, j, k;
int length;
char c;
char *aa[3];
char temp[6]; /* ダサいバッファ*/
/* 文字列の初期化 */
aa[0]= "text1";
aa[1]= "text2";
aa[2]= "text3";
for (i = 0 ; i < 3 ; i++) {
length = strlen(aa[i]); /* 文字列の長さを取得 */
/*
* aa[i]のNUL文字を除く文字を後ろから一文字づつ
* tempバッファにコピー
*/
for (j = length - 1, k = 0; j >= 0; j--, k++)
temp[k] = aa[i][j];
temp[5] = '\0';
strcpy(aa[i], temp); /* tempをaa[i]にコピー */
}
for (i = 0 ; i < 3 ; i++)
printf("%s\n", aa[i]);
return 0;
}
0759757
NGNG適当に見て、最初から書き直したのが惡かったスマン。
>>756が言っているとおり、ループが終わらないのが原因。
確保されてない領域まで交換しようとしてる。
0760デフォルトの名無しさん
NGNGtempがダサい。
for (j = length - 1; j >= 0; j--){
putchar(aa[i][j]);
}
putchar('\n');
0761デフォルトの名無しさん
NGNGわかってたんだけどさ。
反転させてコピーって方がわかりやすいかなと思って。
だめ?
あんまり変わらないかな?
0762デフォルトの名無しさん
NGNGchar buf[BUF_SIZE];
while( fgets(buf,BUF_SIZE, stdin) )
{
buf[BUF_SIZE-1] = '\0';
int length = strlen(buf);
for( int i=length-1; i>0; i++ ){
fputc(buf[i], stdout);
}
fputc('\n', stdout);
}
0763デフォルトの名無しさん
NGNGtemp が temporary以上の役割をしているので、rev_strとでもしたほうが
可読性があがります。また、入ってくる文字数を決め撃ちするのも
どうかと思います。temp[length + 1]に '\0' を入れたほうが。
>>762
インクリメント/デクリメントの方向が真っ当では無い気がします。
0764Disca ◆NAfP6znE
NGNG*(p + 2)= 'B';
printf("%s\n", p);
なぜかこのプログラムが動かない。なぜでしょうか…?
簡単なプログラムなのに…。概念も間違っていないのに…。
0766デフォルトの名無しさん
NGNGそのコードが通ってしまう環境もあるだろうけどエラーになるのが全うだと思うよ。
pは初期値で文字列リテラルを指している。文字列リテラルは書き込み禁止領域に
確保されているとここの値を書き換えようとするとエラーになるっちゅうわけだ。
対処としては765のようにするかヒープに領域を確保しよう。
ちなみにchar p[]="AAAAAA";
はchar p[] = {'A','A','A','A','A','A','\0'};のシンタックスシュガーで
文字列リテラルの扱いとしては例外的なので間違えやすいところです。
0768デフォルトの名無しさん
NGNGって
for( int i=length-1; i>=0; --i){
??
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNG#include <stdlib.h>
int main (int argc, char **argv)
{
if (argc < 0) {
int c, r;
c = getc ((FILE *)argv);
if (c == EOF || c == '\n')
return c;
r = main (argc, argv);
putchar (c);
return r;
} else if (argc > 1) {
FILE *fp = fopen (argv[1], "r");
if (!fp) {
perror (argv[1]);
return EXIT_FAILURE;
}
while (main (-1, (char **)fp) != EOF)
putchar ('\n');
fclose (fp);
return main (argc - 1, argv + 1);
}
return EXIT_SUCCESS;
}
0773デフォルトの名無しさん
NGNGなんともトリッキー。面白いYO。
0774デフォルトの名無しさん
NGNG1
テキストボックスをAppletに配置します。
そのテキストボックスに何かメッセージを入れます。
入れた後に、エンターキイを押す。
そうするとgetSizeを使ってキャンバスの中央にそのメッセージが現れるようにする。
2
ボタンとプルダウンのチョイスボックスを設置。
その中にはなんでもいいので適当な名前を入れる。
1つの名前を選択してボタンをクリックするとその選択された名前が
キャンバスに中央に現れるようにする。
getTextとgetSizeを使用。
ボタンなどの設置の仕方は問題ないのですが。
以上の2つ、特にキャンバスにそれぞれ選択したものを現れるようにするところで
かなりつまずいております。
どなたか助けて!
0775デフォルトの名無しさん
NGNGGraphics取得して、がつっと描画しちゃえばいんじゃない?
でもふつーは、update()をオーバーライドしといて、repaint()呼ぶかな。
0776774
NGNGrepaint()でどうにかできました。ありがとう。
それで、もう1つ。
ボタンやチャックボックスなどをパネルにまとめてアプレットの上(North)に置きます。
はい、これは全く問題ないです。
それで今度はキャンバスをアプレットのセンターに置きます。
ここで問題が発生。
参考書の例をみながらやっているのですが
その参考書と私の浅はかな知識からすれば
まず、キャンバスを宣言。
private DrawOn canvas = new DrawOn()とかなんとか。
それで次にadd(canvas, "North")でちゃんといくと思うんですが上手くいきません。
動かして見るとキャンバスがボタンやチェックボックスなどのすぐ下の左上によってしまいます。
これはどうしてでしょうか?
参考書などでは綺麗にセンターによっているんですが・・・
もう1度お助けください。
0777775
NGNGソースが見れれば一撃なんだが、とりあえず憶測で。
1.setLayout(new BorderLayout()) し忘れている。
2.キャンバスにsetSize()でサイズを明示的に指定してみる。
3.キャンバスをPanelにつっこんで、Panelをadd()してみる。
4.マジボケで"Center"じゃなくて"North"と書いている。
0778774
NGNG3を試したらできました。ありなとう。
でもなんで????
add(canvas, "center")でいかないの?
0779774
NGNGJavaでAppletのサイズってどうやって変えれるのですか?
もちろんhtmlのAppletのWidhtとHeightで変えるのではないです。
htmlファイルで決めたAppletの大きさ以内なら変えられるとのことなんですが・・・
Dimensionとかresizeを使うらしいんですが完全に分かりません、はい、全く・・・
お願いします!!!!
0780デフォルトの名無しさん
NGNGアプレットのサイズはコード量を減らせば必然的に小さくなります。
0781デフォルトの名無しさん
NGNG漏れはやったことないけど、Appletは、Componentを継承してるから、
ComponentクラスのsetSize()メソッド使って、
this.setSize(new Dimension(10,10));
でいんじゃないの?
いちおう、サイズ変えた後 repaint()呼んどいたほうがいいかも。
0782デフォルトの名無しさん
NGNG練習問題
西暦のカレンダーを作成する。
�@年はエラーとする。
�A月は「1〜12」以外はエラーとする。
うるう年の条件
�@西暦の年数が「4」で割り切れる。
�A西暦の年数が「100」で割り切れない。
�B西暦の年数が「400」で割り切れる。
計算するにあたり、西暦1年は1月日は「月曜日」とする。
y年m月の求め方
a=365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400 うるう年のによるづれをもとめる。
b=month[1]=31,month[2]=28,month[3]=31month[4]=30,month[5]=31,month[6]=30
month[7]=31,month[8]=31,month[9]=30,month[10]=31,month[11]=30,month[12]=31
c=(a+b)%7 y年m月1日の曜日
c=0なら日曜日、c=6なら土曜日
正直、まったくC初めてでこの問題はつらいです。すいません。
0783デフォルトの名無しさん
NGNG>�@年はエラーとする。
>�A月は「1〜12」以外はエラーとする。
ユーザーに年月を入力させて、その月のカレンダーを出力するって
ことかいな?
「年はエラーとする」って意味がわからん。
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNG勉強のために、自分自身に課題を課しているのでは?
0786デフォルトの名無しさん
NGNGそれにしても、文章の解読の方が難しい。
0787デフォルトの名無しさん
NGNGわかりやすい文章を書けた時点でプログラミングの半分は終わったと思われ。
0788デフォルトの名無しさん
NGNGttp://www.indsys.chuo-u.ac.jp/~kato/IPEx98/CGuide/C-5.html
0789774
NGNGありがとう。そんな感じに使うんだと思う。
でも、試したところちょっとやりたいことと違うとこが・・・
えーと、textfieldとcheckboxをパネルに入れてNorthにキャンバスをCenterに設置します。
setLayout(new BorderLayout());
Panel bar = new Panel();
bar.add(text);
bar.add(boxes);
add(bar, "north");
add(canvas, "center");
それでcheckbox(サイズsmall, large, etc)を選んだら
Appletのサイズが変更されるようにしたいのです。
でも、教えてもらった方法だとどうもCanvasのサイズだけが変更されます
Northのbar(textfieldとcheckbox)はそのままのサイズで大きさが変わりません。
どうしてでしょうか?
最初のPanelとかの設定がおかしいのでしょうか?
0790デフォルトの名無しさん
NGNG>練習問題
>西暦のカレンダーを作成する。
>�@年はエラーとする。
この(1)の時点で、意味不明ですね。
782さんのその後のフォローも無いし。
ネタ決定ですか?
0791デフォルトの名無しさん
NGNG読めない漢字は飛ばしましたか?
0793デフォルトの名無しさん
NGNGどこまでできてて、どこでつまずいてるの?
もしまだ1行も書けてない&UNIX使ってるんなら、
#include <stdlib.h>
int main() {
system("cal");
return 0;
}
てなのはどうかね。
0794774
NGNGすいません、そのやり方が分からないのですが・・・
どうやってやるんでしょうか?
0795デフォルトの名無しさん
NGNGおいおい・・・。
0796793
NGNGUNIXなら、viかemacsでcalendar.cというファイル名でセーブして、
cc -o calendar calendar.c
でコンパイルして、
calendar
で実行。
0797デフォルトの名無しさん
NGNGESCで終了するように
while((c=getche())!='\x1b)
てやったら空リターン受け付けないんだけど、どうすればいい?
0798デフォルトの名無しさん
NGNG#include <stdio.h>
#include <conio.h>
void main()
{
int c;
while (1){
c = getche();
switch (c){
case 0x1b: // escape
putchar('\n');
goto loop_end;
case 0x0d: // carriage return
putchar('\n');
break;
default:
printf("%c", c);
}
}
loop_end:
}
0799デフォルトの名無しさん
NGNGサンクス!CRを'\n'だと思ってタヨ。
厨房でスマソ。
0800デフォルトの名無しさん
NGNGC++をよく理解していないまま、この問題を渡されました。
訂正箇所は、
西暦のカレンダーを作成する。
�@年は「0」はエラーとする
この箇所だけです。すいませんでした。
0801デフォルトの名無しさん
NGNG「800getズッザー」が抜けてます。
0802デフォルトの名無しさん
NGNGナイス。
0803デフォルトの名無しさん
NGNGあがって誰も解いてなかったら作ってみるか。
0804デフォルトの名無しさん
NGNG機種依存文字使う人嫌い。
0805怜
NGNGとりあえず最初から置いていかれると、どんどん辛くなっていくから、
頑張ってついていかないと大変だと思うよ。
やっぱ、ネットだと教えににくいところもあるから、同僚でできる人
と友達になって教えてもらうのがいいんじゃないかな。お礼はすると
してね。まだ、働いたことのない私がいうのも何ですが・・。
で、y年m月のカレンダーを作るときには、その1日が何曜日かわから
ないとできないよね? それを計算しようというのがヒントに書いて
ある話ね。
西暦1年1月1日(1が抜けてたけどそう?)の曜日がわかってるって
ことで、1年1月1日からy年m月1日まで何日あるかえを調べたいわけね。
まず、西暦1年1月1日から、y年1月1日まで何日あるかって計算し
てみると。
365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400
ってなるのね。なんで、この式になるかは考えて理解してみてね。
整数/整数の場合は、答え整数になる。9/4=2みたいにね、念のため。
0806怜
NGNGmonth[1]=31,month[2]=28,month[3]=31month[4]=30,month[5]=31,month[6]=30
month[7]=31,month[8]=31,month[9]=30,month[10]=31,month[11]=30,month[12]=31
とmonthに代入した後に、
int b = 0;
int i;
for(i = 1; i < m; i++) b = b + month[i];
ってことをしてあげればbにその日数が入るのね。これが何をしてるかはわかる?
で、そうすると
1年1月1日からy年m月1日まで何日、あるかは上の2つを足したものになるよね。
で、これを7で割った余りをみれば、y年m月1日が何曜日かはわるよね?
とりあえず、ここまで理解できたら続きを書くね、
0807デフォルトの名無しさん
NGNGたしかに、forの式でbの値はわかりますよね。ifを使ってうるう年の
条件をだすんですか?
0808怜
NGNGああ、そういえばうるう年忘れてました。
ええ、ifを使ってiが2のとき、うるう年かどうか調べてください。
0809デフォルトの名無しさん
NGNGうるう年の判定をif文を使わずに計算で出そうとしている模様。
しかし、
> a=365*(y-1)+(y-1)/4-(y-1)/100+(y-1)/400 うるう年のによるづれをもとめる。
これは気を付けないと、365*(y-1)の部分でオーバーフローしやすいぞ。変数は
longで宣言しておくべきだな。もっとも、intが16ビットの処理系もマイナーになっ
てきたが。
0810デフォルトの名無しさん
NGNG多分うるう年のときの、3月以降のカレンダーを出す場合の話。
0811デフォルトの名無しさん
NGNGありがとうございます。やれるとこまでやって明日
聞いてみます。しかし、文系出の初心者には大変です。
5日前に初めてC++の参考書開いたのに今週で覚えろ
なんて・・・これって普通なんですかね??
私には酷なんですけれども。
0812デフォルトの名無しさん
NGNGんだろう、という前提で研修をしているのかもしれません。
0813新卒
NGNGそれはひどすぎ。最低でもプログラミング研修3ヶ月はある。
ゲーム業界とか特殊な企業は除くけど・・
0814デフォルトの名無しさん
NGNG他スレでは4.5年かかるとか書いてあったよ
1週間で覚えたらスゴイ
0815_
NGNG0816デフォルトの名無しさん
NGNGたとえばbit(60);ってやったら
11-1100
みたいに4文字ごとに区切り文字を入れろって言われたんだけど・・・
教えてくださーい
0817えれな
NGNG下位ビットから見ていく処理でーす。
参考にして考えてみてね。
わからなかったら、また書き込んで。
unsigned int n = xxx;
while (n!=0) {
if (n & 1) ビットが立っている
else ビットが立っていない
n >>= 1;
}
0818デフォルトの名無しさん
NGNGどうしても、WinMain.cppの3行目のif文で真となってしまい終了してしまいます。
何か基本的なことが分かっていないと思うのですがどうかよろしくお願いします。
(WinMain.cpp)-------------------------------------------
#include "CWinApp.h"
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
if(Application == 0)
return -1;
//Application->Init(hInstance, lpCmdLine, nCmdShow); の様に続く
}
(CWinApp.h)-------------------------------------------
#ifndef __CWinApp
#define __CWinApp
class CWinApp {
public:
CWinApp();
~CWinApp();
・・・省略
} // class CWinApp終了
extern CWinApp *Application; //CWinApp.cppの2行目で宣言
#endif
(CWinApp.cpp)-------------------------------------------
#include "CWinApp.h"
CWinApp *Application;
CWinApp::CWinApp() {
Application = this;
}
CWinApp::~CWinApp() {
Application = 0;
}
if (n>=128) { b[0]=TRUE; n-=128;}
if (n>=64) { b[1]=TRUE; n-=64;}
if (n>=32) { b[2]=TRUE; n-=32;} //BASICの文法忘れた
とかやってた。 もう馬鹿かとアホかと。
0821デフォルトの名無しさん
NGNG10進数の20を16進数に変換した数字をdata[1]に入れたい場合、どうすればよいでしょうか?
自分なりに以下のようにやってみましたが、うまくいきませんでした。
int main()
{
unsigned char data[4] = {0x31, 0x32, 0x33, 0x00};
char temp[1];
sprintf(temp, "%x", 20); //20を16進数に変える。tempには14が入る。
memcpy(&data[1], temp, 1);
cputs(data);
cputs("\r\n");
return 0;
}
結果
113
となってしまいます。20を16進数に変える方法がよくないんだと思いますが、
なにかアイデアあれば、教えてください。
0822821
NGNG0823デフォルトの名無しさん
NGNGはげしく勘違いしとる(^-^;
0824まい
NGNGどう説明したらわかってもらえるかわからないけど、
10進数とか16進数っていうのは、ソースに記述したり
外部にテキスト形式で出力したりするときに関係してくる
もので、コンピュータの内部では常にバイナリで処理されてます。
はい。
0825821
NGNGasciiコードで言えば、それぞれ1,2,3,nullですよね?
それで、20を16進数に変えますと14ですから、これを表示すると、
Π こんなようなマークが表示されるわけですよ(14のアスキーコードが見つかりませんでした)
これでも勘違いしていますか?
0826まい
NGNGもしかして、charを他の言語の文字列型と同じように思ってる?
(temp[]の要素数が1だし)
charは、文字列型ではなくて文字型だから一文字しか入らないよ。
char temp[3];
sprintf(temp, "%x", 20);
"14"を変数に入れたかったら、temp[3]にしないとだめ。
0827助けてください
NGNGもしくは、その辺に詳しいサイトを紹介してください。
m(_ _)m
0828821
NGNGありがとうございます、こんな質問に付き合っていただいて。
言葉足らずで申し訳ありません。
20を16進数に変えた後、その配列には最終的にはこうなってもらいたいんです。
{0x31, 0x14, 0x33, 0x00} //変数dataの中身
826さんのおっしゃるようにやりますと、
14という数字の1の部分(1バイト分)がその配列の先頭に入るだけになってしまいます。
つまり、
{0x31, 0x32, 0x33, 0x00} となり、結局中身は変わらないです。
説明不十分で826さんがミスリーディングしてしまいましたら、申し訳ないです。
0829デフォルトの名無しさん
NGNG最近までBASICやってたような質問だねぇ
0830まい
NGNGそうしたいなら、これでいいけど。。。
int main()
{
unsigned char data[4] = {0x31, 0x32, 0x33, 0x00};
data[1] = 20; /* data[1] = 0x14;と同等の処理 */
cputs(data);
cputs("\r\n");
return 0;
}
0831821
NGNGちょっと、こちらで実行してみます。それから返事します。どうもです。
0832821
NGNGできました。なんか拍子抜けしてしまいました。
単純にこれでいいんですね。ありがとうございました。
0833デフォルトの名無しさん
NGNG入門書の一冊でも買ってよめや。
0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNGこれを使うとキーボードなのの反応が早くなるとならいました。
実際どうやって初期化するか、キーの状態を取得するか
は分かったのですが、どこで取得するのがいいのでしょうか?
メッセージを処理するCALLBACKの所で取得すると、DirectInputを
使わない時と変わらなくなってしまうので、メッセージループの部分で
やるとなると毎回呼び出す分、負担が大きくなってしまうと思うのですが、
それ以外に方法が思いつきません。
どうかよろしくお願いします。
0836デフォルトの名無しさん
NGNGそもそもDirectInputを使う必要があるのかどうかよく考えろ
0837デフォルトの名無しさん
NGNGそれって宿題ですか?
0838デフォルトの名無しさん
NGNGゲームのループってーのは、ディスプレイのリフレッシュレートに
あわせて回すのが一般的です。
例えば、リフレッシュレートが60Hzの場合、画面は1秒間に60回しか
書き換わらないので、それ以上の速度でVRAMを書き換えても、
無駄です。
なので、普通は1ループ終了後(すなわち、キーを一回読み込み、
必要な処理をし、バックバッファに次のVRAMイメージを描画し終った後)、
ダブルバッファをフリップするタイミング(垂直帰線期間の開始)までウェイトします。
つーことで、CALLBACKやループでキーを読み出すのではなく、
垂直帰線期間が開始したら、1回分読み出せばOKです。
(DirectDraw使ってるなら、LPDIRECTDRAWSURFACE3のFlip()呼ぶ時に、
Flip(NULL, DDFLIP_WAIT)みたいにDDFLIP_WAIT指定すれば、
勝手に垂直帰線期間までウエイトしてくれるんじゃないかなぁ?
まちがってたらスマン。)
0839デフォルトの名無しさん
NGNG現在はタイマで待つのが一般的かと。
0840デフォルトの名無しさん
NGNG調べましたが、どうにもアドレスでどうにかするしかないらしいのですが・・・
0841デフォルトの名無しさん
NGNGアドレスでどうにかするんじゃないとしたら、どんなふうに直接
いじりたいの???
getColor(bmp,x,y)とかsetColor(bmp,x,y,color)みたいなかんじ?
0842デフォルトの名無しさん
NGNG0843デフォルトの名無しさん
NGNGちゃんとスレッドを作って実行してる?
>>840
直接操作しないとパフォーマンスが悪いよ
0844デフォルトの名無しさん
NGNGCなんですが
宿題で、ANK文字や漢字1バイト、漢字2バイトを
見分けなければならないのですが、
どうやって見分ければいいのでしょうか?
教えてください。
0845デフォルトの名無しさん
NGNGctype
0846デフォルトの名無しさん
NGNGANK文字って響き、懐かしいなぁ。
ほい。
http://www.google.com/search?hl=ja&q=%8A%BF%8E%9A+ANK+%94%BB%95%CA%81@%91%E6%82P%83o%83C%83g&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
(余談だけど、ANKって、Alphabet Numeric Kana の略なんだね。)
0847デフォルトの名無しさん
NGNG魚でなく釣り竿を渡す。大岡越前のようです。
0848デフォルトの名無しさん
NGNG0849844
NGNGctypeはしらべてわかりましたが
やっぱ漢字を見分けるのが出来ません。
どなたか簡単に教えてください〜
0850デフォルトの名無しさん
NGNGhttp://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/w/whatKanji.html
0851844
NGNGありがとうごぜえます〜♪
0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG元々プログラマに向いてないでしょ。
0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGその課題、それを分別してから、単語ごとに区切ってクイックソートしたりする?
0856デフォルトの名無しさん
NGNG先生も文法をたいして教えずに課題を出しやがる。
問題は1、2、3、・・・20の等差数列の和を出すプログラムを書けをいうものです。
どなたかまじで助けてください。
0857デフォルトの名無しさん
NGNG01 c
02 c
03 c
04 s=0.
05 do i=1,20
06 s=s+i
07 end do
08 c
09 write(*,*) 's=',s
10 c
11 end
0858デフォルトの名無しさん
NGNGΣn=(n+1)*n/2
n=20として 21/20/2=21*10=210
よって
INTEGER ANS
ANS=210
WRITE(*,*) '答えは',ANS
END
の4行で終わりかと
0859デフォルトの名無しさん
NGNGまんま書いてもなぜかできなかったんですが、
この前授業でもらったプリントと重ねあわせてやってみたところ。
下のやつで出来ました。
n=0
do i=1,20
n=n+i
end do
write(*,*) 'n=',n
stop
end
注文した参考書が届いたらちゃんと勉強したいと思います。
0860デフォルトの名無しさん
NGNG言語は見ての通りCです。お願いします。
#include <stdio.h>
#define INPUT_FORMAT "%d"
#define SUM_FORM "%d"
void input(int);
void sum(int);
int M[100],n,m,l,s=0;
main()
{
printf("数を入力してください。結果を出したいときは数字以外のものを入力してください\n");
input(n);
sum(n);
m=s/6;
l=s%6;
printf("商="INPUTF_ORMAT"\n",m);
printf("あまり=" SUM_FORM"\n",l);
}
void input(int n)
{
for(n=0; n<100; n++)
{
if( scanf(INPUT_FORMAT,&M[n])!=1 )
break;
printf("M[%d]="SUM_FORM"\n",n,M[n]);
}
return (M);
}
void sum(int n)
{
for(n=0;n<100;n++)
s+=M[n];
return (n);
}
0861デフォルトの名無しさん
NGNGvoid の関数でreturn(M)とかやって、コンパイルとおるのか?
0862デフォルトの名無しさん
NGNGvoid input(int n)
{
...(略)
return (M);
}
void sum(int n)
{
...(略)
return (n);
}
って何よ。
0863デフォルトの名無しさん
NGNGVC++6のデフォルトなら、
「warning C4098: 'input' : 戻り値の型が 'void' で宣言された関数が、値を返しました」
とか言われるけど、コンパイルはできる。
なんかCのイヤなところを見てしまった気分
0864860
NGNG863さんの言う通りコンパイルは出来るんですよ。
ただこのプログラムを実数表示にしようとするともう頭が・・・・。
何とかなんないでしょうかね?
0865デフォルトの名無しさん
NGNGprintf("あまり=%d.0\n",l);
0866デフォルトの名無しさん
NGNGmain()
{
printf("数を入力してください。結果を出したいときは数字以外のものを入力してください\n");
input(n);
sum(n);
printf("商=%g\n",s/6.0);
printf("あまり=%d",l%6);
}
あんたの意図がいまいちわからんけど、
実数表示ならこれでいいと思う。
0867デフォルトの名無しさん
NGNG0868860
NGNG>866さん
ありがとうございます。今からやってみます。ちなみにdefine文は書き
換えなくてもいいのでしょうか?それとこのプログラムの正しい戻り値っ
てどうすればいいのでしょう?気になったもので。
>867さん
僕にも意味はわかりません(笑
0869860
NGNG誰か〜、戻り値教えてください〜(泣
0870デフォルトの名無しさん
NGNGもしかして教室から?
int input(int n)
int sum(int n)
0871860
NGNG回答ありがとうございます!コンパイルできました!ちなみにただ今授業の
真っ最中です。コソーリ書き込んでます。
で、新たな問題が・・・865さんと866さんの教えてくれたプログラムに
書き換えたんですけど、入力で実数の4.5とか入れるとその時点で終わってしま
います。この解決方法はどうすればいいのですか?
0872デフォルトの名無しさん
NGNG「答えを整数型で表示する次のプログラムを、実数で表示するようにかえてください。 」
って言ってたじゃん・・・
0873860
NGNG!!(;´Д`) すみません!どうやら間違いがあったようです。
正しくはさっきのプログラムに実数を入力しても正しく動くようにして
ください、ってことです。たとえば5.4と8.3と9.4を入力すると商に3、
あまりに5.1を表示できるように、ということです。文章力&プログラム力
なくてすみませんがよろしくお願いします。
0874デフォルトの名無しさん
NGNG【2ch vs TIME】我等が不死鳥田代-12【戦争】
1 :番組の途中ですが名無しです :02/04/26 17:15 ID:n4EtZFI6
■STEP 1
-------↓ここから-------
<html><head><meta http-equiv="refresh" content="0"></head><body>
<iframe height=500 width=500 src="http://www.time.com/gdml.dyn?page=www/time/asia/features/heroes/poll/asianheroes_new.oft&gameid=asianheroes2&q1=M%3C%21--2ch--%3Easashi+T%3C%21--2ch--%3Eashiro ">
</iframe></body></html>
-------↑ここまで-------
をメモ帳を立ち上げ、コピー&ペースト。
■STEP 2
それを、ファイルに「tashiro.htm」と名前を付けてデスクトップに保存。
■STEP 3
デスクトップにできた「tashiro.htm」を飽きるまでダブルクリックして、ブラウザを立ち上げる。
___
/ \ __________
/ ∧ ∧ \ /
| ・ ・ | < 生きろおめーら
| )●( | \__________
\ ー ノ
\____/
0875デフォルトの名無しさん
NGNG授業料500円払えや!
(って仕様を読み違えてる可能性有り)
#include <stdio.h>
#include <math.h>
int input(float M[], int);
float sum(float M[], int);
main()
{
float M[100], s;
int num;
printf("数を入力してください。結果を出したいときは数字以外のものを入力してください\n");
num = input(M, 100);
s = sum(M, num);
printf("商=%g\n", s / num);
printf("あまり=%g\n",fmod(s, num));
}
int input(float M[], int max)
{
int i;
for(i=0; i<max; i++)
{
if( scanf("%f",&M[i])!=1 )
break;
printf("M[%d]=%g\n",i,M[i]);
}
return i;
}
float sum(float M[], int num)
{
int i;
float s = 0.0;
for(i=0;i<num;i++)
s += M[i];
return s;
}
0876860
NGNGお礼が遅れてすみません!ありがとうがざいました!
遅れた言い訳→授業中にネットをやっているのがばれて先生に激怒され、今日まで
演習室に立ち入り禁止処分を食らったため・・・・。しかも宿題増やされるし。
欝だ逝ってきます。
0877デフォルトの名無しさん
NGNG>>144
> 正確に言うとコンパイルとリンクね。
正確に言うと、プリプロセス -> コンパイル -> アセンブル -> リンク ね。
0878デフォルトの名無しさん
NGNG>>233
>使わない、と言うかぁー、使えない。
return そのものは使えるよ。
void func(void){
if(....){
........
return;
}else{
........
........
}
}
とか。
途中で処理を打ち切るのに使ってる。
0879デフォルトの名無しさん
NGNG>>390
> C言語での個人情報ファイルの作り方を教えてください。
>(ソート、検索が可能でレコードの追加、削除、訂正、新規などの操作ができるもの)
K&R の 5 章と 6 章に殆どそのものが載ってる。
0880デフォルトの名無しさん
NGNGkazu.cpp: In function `int main (...)':
kazu.cpp:21: no matching function for call to `kazu::setkazu (const
char[5])'
kazu.cpp:7: candidates are: void kazu::setkazu (const int *)
というエラーがでてうまくいきません。intとcharに関連したエラーだという
ことはわかるのですが、始めたばかりでどう直せばよいのかよくわかりません。
よろしく頼みます
//ヘッダファイル"kazu.h"
class kazu
{
int a [20];
public :
virtual void setkazu (const int *p_a);
virtual void putkazu();
};
//"kazu.h"END
//mainファイル"kazu.cpp"
#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include"kazu.h"
void kazu::setkazu(const int *p_a)
{
for(int i=0;p_a[i]!='\0';i++){
a[i]=p_a[i];
}
}
void kazu::putkazu()
{
cout<<a\n;
}
void main()
{
kazu ka;
ka.setkazu("1234");
ka.putkazu();
}
0881デフォルトの名無しさん
NGNG作りたいのですが・・・。教えていただけますか?インクリメント・デクリメントの
使用はOKらしいです。
0882デフォルトの名無しさん
NGNGsetkazu に数字の配列を渡してるつもりなんだろうけど
"1234"は文字列(charの配列)だぞ。
0883882
NGNGa[i]!='\0'
って書いてあったりするんだね。
わかってるのか、わかってないのか・・・
0884デフォルトの名無しさん
NGNG+=や-=はOKなのか?
0885デフォルトの名無しさん
NGNGintとcharの違いがわかってないと読んだ。
0886デフォルトの名無しさん
NGNG元の上位=A
元の下位=B
後の上位=C
後の下位=D
として
C=A and B
D=A xor B
とすれば加算になる。
これを桁数分だけ繰り返す。
0887880
NGNGなるほど・・・では数字の配列として渡すにはどうすればいいですか?
0888886
NGNG0889デフォルトの名無しさん
NGNGint add( int left, int right )
{
for( int i=0; i<right; i++ )
left ++;
return left;
}
ところで、型がdoubleだったら面倒だよな。
>>880
int nums[]={1,2,3,4,5,0};
ka.setkazu(nums);
とか
0891デフォルトの名無しさん
NGNGこんなんどう?
int add( int i, int j)
{
_asm
{
mov eax, i
add eax, j
mov i, eax
}
return i;
}
0892デフォルトの名無しさん
NGNGいいにくいんだが、別スレでがいしゅつ・・・。
ttp://pc.2ch.net/test/read.cgi/tech/1019372139/162-
0893デフォルトの名無しさん
NGNG・・・鬱。
同じ授業か何かか?
0894892
NGNGたしかに授業でやるにはちと難かしいかも。
0895881
NGNG既出でしたか。すいませんでした。リンク先を参考にしてみます。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGgetchar()で一文字ずつ取得するってのはどぉ?
0898デフォルトの名無しさん
NGNGchar buf[MAX];
int k=0,n[N] ;
while(fgets(buf,MAX,stdin) && k<N){
/*ここでbufの内容が(scanfに)適正かチェック*/;
sscanf(buf,"%d",n+(k++));}
みたいな
0899太田家
NGNGb.real+b.imag に対し、
a+b, a-b, a*b, a/b , eのa乗, aの絶対値
を求めるプログラムを教えて!ヒントキボンヌ
0900デフォルトの名無しさん
NGNG君は『人に何かを伝える』とはどういうことか、考えた事はありますか?
0901デフォルトの名無しさん
NGNG無理に2ch用語使わなくてもいいんだよ?
0902デフォルトの名無しさん
NGNGだれかe^aだけでいいから教えてくれよ。
0903デフォルトの名無しさん
NGNGa = x + iy
e^a = e^x * e^iy = e^x * ( cos(y) + i * sin(y) )
0905デフォルトの名無しさん
NGNGサンクス。
指数の加算は分離できるんだったね。
0906デフォルトの名無しさん
NGNG3桁、2桁、1桁で表示するプログラムを作りなさい。(%10.3f、***、***) ***
は各自決定せよ。
という問題があるのですが誰かわかりませんか?
0907デフォルトの名無しさん
NGNGVC++です
0908デフォルトの名無しさん
NGNGprintfで%10.3fだと13桁にならない?
%*.*fを使うとよいかも。
0909デフォルトの名無しさん
NGNG私はわかりますが、決定するのはあなたです。
0910デフォルトの名無しさん
NGNGてつだってねー
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNGだって〜まだ初めて一週間もたってないんですよ
たのみますよ〜
0913デフォルトの名無しさん
NGNGvoid main(void)
{
double a;
scanf("%d",&a);
printf("%10.3f%10.2f%10.1f\n");
}
のどこが悪いかわかりません
0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGつかないっすよ〜
プログラムなんて初めてなんだから
0917デフォルトの名無しさん
NGNG参考書買え。
0918908
NGNG(^_^;)
>>916
#include <stdio.h>
int main()
{
double d;
int keta;
scanf("%lf",&d);
for(keta=3;keta>0;keta--)
printf("%10.*f\n",keta,d);
return 0;
}
0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG理解しにくい、プログラムの見本だな。出力結果も3行になるし、やっぱ
こいつには手伝って欲しくないよ。
0921デフォルトの名無しさん
NGNGお〜すごいです〜!!!
欲を言うとFor関数習ってないので使わないでできるでしょうか?
0922デフォルトの名無しさん
NGNG0923918
NGNGなんで三行になってはいけないのよ・・・・
>>921
#include <stdio.h>
int main()
{
double d;
scanf("%lf",&d);
printf("%10.3f %10.2f %10.1f\n",d,d,d);
return 0;
}
forは関数じゃない。
0924デフォルトの名無しさん
NGNGmathematicaと混同したw
まじでありがとうございます!!!!!!!!!!!!!!!!!!!!!!!
神!!
(・∀・)/�I
少ないですがこれで
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNG小数点は桁に含めないの?
0927デフォルトの名無しさん
NGNG元が一行だから。
0928デフォルトの名無しさん
NGNGこの程度のプログラムで、理解しにくいってどのへん??
もしかしてネタなのか・・・
0929デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGもしかしてエラーチェックしていないってこと?
そんなの省略したに決まっているじゃない。
0935デフォルトの名無しさん
NGNGVBマガジン11月号の記事みてちとやってみたらクイックソートがうまくいかなんだが
ちと知恵貸してくれんかのう・・・
まずクラスモジュール定義して・・・
'qsort class
Option Explicit
Public Event compare(ByVal x As Long, ByVal y As Long, ByRef flag As Long)
Public Event swap(ByVal x As Long, ByVal y As Long)
Public Sub sort(ByVal startPos As Long, ByVal endPos As Long)
Dim i As Long
Dim j As Long
Dim xPos As Long
Dim compareflag As Long
i = startPos
j = endPos
xPos = (startPos + endPos) \ 2
Do
RaiseEvent compare(i, xPos, compareflag)
While (compareflag < 0)
i = i + 1
RaiseEvent compare(i, xPos, compareflag)
Wend
RaiseEvent compare(j, xPos, compareflag)
While (compareflag > 0)
j = j - 1
RaiseEvent compare(j, xPos, compareflag)
Wend
If (i <= j) Then
RaiseEvent swap(i, j)
i = i + 1
j = j - 1
End If
Loop Until (i > j)
If (startPos < j) Then sort startPos, j
If (endPos > i) Then sort i, endPos
End Sub
0936デフォルトの名無しさん
NGNGOption Explicit
Private WithEvents objQSort As qsort
Dim data(4) As Long
Private Sub Command1_Click()
data(0) = 10
data(1) = 3
data(2) = 30
data(3) = 6
data(4) = 2
Set objQSort = New qsort
objQSort.sort 0, 4
Dim i As Long
For i = 0 To 4
Debug.Print data(i)
Next
End Sub
Private Sub objQSort_compare(ByVal x As Long, ByVal y As Long, ByRef flag As Long)
flag = (data(x) - data(y))
End Sub
Private Sub objQSort_swap(ByVal x As Long, ByVal y As Long)
Dim temp As Long
temp = data(x)
data(x) = data(y)
data(y) = temp
End Sub
とやってるのだが、これだと
2
3
10
6
30
の並びなってうまくいかんのだが、どこがおかしいんだか教えてくれんかキボーン
0937デフォルトの名無しさん
NGNG0938920
NGNGバカ。単純に書ける所をわざわざ for() なんか使って書くからバカだって言っ
てんだよ。質問の本質と違うところで変な変更するなよ。しかも、動きまで違う
し。バグ作りこむ前に氏ね。
0941デフォルトの名無しさん
NGNGところで、改行してはいけないってどこに書いてあるんだ?
0942デフォルトの名無しさん
NGNGバカか、お前。
> 質問の本質と違うところで変な変更するなよ。しかも、動きまで違うし。
> バグ作りこむ前に氏ね。
おまえもなぁ〜〜〜。
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNGschemeでもかまわないが、まるまるやってはやらんぞ。
どこまで自分でやって、どこでつまずいてるか教えてね。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG久しぶりに名前を出したかっただけだ、ageてすまない。
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGMyshellはCshellと違って、Cで実行できていたコマンドや機能のうち
働かないものがある。これらを調べ、どのような機能が実行できないか、
なぜできないか、どのような機能を追加すればいいか?
例えば次のが実行できない
エイリアス、ヒストリー、ワイルドカード、ファイルへのリダイレクト、
shellプログラミング、ディレクトリー操作(popd、pushdなど)
これらから4つほど(エイリアス、ヒストリーは必須)をmyshellに追加せよ。
という課題です。助けてください、お願いします。できればソースを、、。
0950デフォルトの名無しさん
NGNGMyshellは一般的なものじゃないので、それがどんなものか
教えてくれないとわかんないよーん。
0951949
NGNG#define MAXARGS 10 /* 許されるコマンドの引数の最大の数 */
#define LINELENGTH 80 /* コマンドラインの最大文字数 */
#define CONTINUE 1
#define EXITCOM 0
main(int argc,char* argv[])
{
char linebuf[LINELENGTH];
int hist;
for(hist=1; ;hist++){
printf("myshell[%d] ",hist);
gets(linebuf);
if(exec_one_command(linebuf)==EXITCOM) break;
}
}
char *skipspace(char* s)
{
while(*s==' ') s++;
return s;
}
0952949
NGNG{
int argnum=0;
do{
line=skipspace(line);
if(*line=='\0'){
argmv[argnum]=NULL;
return argnum;
}
argmv[argnum++]=line;
while(*line!='\0' && *line!=' ') line++;
if(*line=='\0'){
argmv[argnum]=NULL; return argnum;
}
*line='\0'; line++;
}while(1);
}
int exec_one_command(char linebuf[])
{
int argnum, status;
char *argmv[MAXARGS];
argnum=getcl(linebuf,argmv);
if(argnum==0) return CONTINUE;
if(strcmp(argmv[0],"exit")==0){
return EXITCOM;
}
if(fork()==0){
execvp(argmv[0],argmv);
printf("Error at execvp\n");
exit();
}
wait(&status);
return CONTINUE;
}
0953950
NGNGおぉぉ。おもしろいね。コレ。
で、まず
エイリアス:
1.exec_one_command()で、alias っていうコマンドが来たら、第2引数(エイリアス名)と第3引数以降(コマンド)を何か(alias_bufと名づけよう)に保存。
2.exec_one_command()で、alias_bufに登録してあるエイリアス名を探して、存在すれば、保存してあるコマンドを代わりに実行する。
ヒストリ:
1.exec_one_command()で、コマンドを実行するたび、何か(history_buf[hist]としよう)に保存していく。
2.exec_one_command()で、!数字 っていうコマンドが来たら、代わりにhistory_buf[数字]に保存しといたコマンドを実行する。
でできるよ。簡単簡単。
あと簡単そうなのは、shellプログラミング(制御構造が無い、batファイルみたいな単純なの)と、
ディレクトリ操作かなぁ。ワイルドカードも、そんなに難しくないかも。リダイレクトは、ちと難しい。
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNG0957デフォルトの名無しさん
NGNG0958玉三郎
NGNG0959デフォルトの名無しさん
NGNG玉三郎が宿題を教えてくれても、あまり嬉しくないぞ
0960玉三郎
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGクロスリンク
0966デフォルトの名無しさん
NGNG無視が一番
0968まとめ
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1019743589/77-
http://pc.2ch.net/test/read.cgi/tech/1020208001/684-
http://pc.2ch.net/test/read.cgi/tech/1011722640/949-
0969えれな
NGNG呼んだ?
0970デフォルト
NGNGvoid main(void)
{
int a;
a = 10;
}
上のプログラムを実行すると「aの値は10です」と
出力するようにするにはどうしたら良いのでしょうか?
(%dを使って)
0971デフォルトの名無しさん
NGNG%dとまでいってて、何がわからないの?
もしかして全角でってこと?
0972デフォルトの名無しさん
NGNG母国語なんだろうけどいいたいことを正確に伝えられない
言語障害者はプログラミング言語をつかっても駄目なこと多いよ。
0973初心者
NGNG問題は
「キーボードから文字列を読み込んで,
読み込んだ文字列を逆にした文字列を表示する」解答 I94==>49I
という問題なのですが。。配列でやったのですが。。。
0974デフォルトの名無しさん
NGNGスタック使え...。多分これだけでは、ちんぷんかんぷんだろうから、
スタックを配列で作れ。とまでは言っておこう。
0975デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNGmain()
{
int i=0,j;
while(j=getchar()){
if(j==EOF)break;
i++;
}
printf("文字数は%dです。\n",i);
}
と記述したのですが、
どうしても文字数+1となります。
なぜでしょうか?
0978初心者
NGNG実際今まで使ったことがないのでわかりません。
基本情報を勉強したときに障った程度です。
配列でいこうと思っているのですが。。。
0979素人。
NGNGあってる?
0980素人。
NGNGで開業コードもカウントされるからですかな。
と書いてみるテスト。
0981977
NGNGどうやって回避すればいいのでしょうか?>改行コード
printf("",i-1);
とすると何も入力しないとき-1が帰ってくるので困ってます。
0982デフォルトの名無しさん
NGNG#define MAX_LINE 2000
int ri;
char line[MAX_LINE];
while(1){
fgets(line,MAX_LINE,stdin);
for(ri = strlen(line)-2;ri>=0;i--)
putchar(line[ri]);
putchar('\n');
}
//toka
0983素人。
NGNGとか使えばいいのではないかしら。
0985デフォルトの名無しさん
NGNGなら、改行コード('\n')のときは i++ しないってので、どぉ?
0986デフォルトの名無しさん
NGNGif(j==EOF)break;
else if(j=='\n')continuel
i++;
}
//違ったらごめん
0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNGエラー: 'i' が未定義です。
警告: MAX_LINE より MAX_CHARS のほうがより良いと思います。
警告: プログラムが終了できない可能性があります。EOF を入力したら
ちゃんと終了するように作りましょう。
0989デフォルトの名無しさん
NGNGint ri; char line[MAX_LINE];
while(fgets(line,MAX_LINE,stdin) > 0){
for(ri = strlen(line)-2;ri>=0;ri--)
putchar(line[ri]);
putchar('\n');
}
//tekito desuga dozo
0991デフォルトの名無しさん
NGNG#include <stdio.h>
rev_put(ch)
{
if (ch != '\n') {
rev_put(getchar());
putchar(ch);
}
}
main()
{
rev_put(getchar());
}
0992素人。
NGNGhoge:
mov ah,07h
int 21h
push
loop hoge
mov cx,200
hogehoge:
pop dl
mov ah,02h
int 21h
loop hogehoge
あってる?
0993デフォルトの名無しさん
NGNG0994素人。
NGNGね。
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNGそんなのアリか?
0997そろそろ
NGNG0998そろそろ
NGNG!
0999そろそろ
NGNGせん。
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。