あなたの宿題、お姉さんが答えます
レス数が1000を超えています。これ以上書き込みはできません。
0001お姉さん
NGNGただし、お姉さんを5分以上考え込ませる難解なものは受け付けません。
初心者のみお姉さんは歓迎します。
0002名無しさん@お腹いっぱい。
NGNG0003名無しさん@お腹いっぱい。
NGNG今日のプログラミングの課題で「おまんこをプログラミングせよ」
というのがありました。しかし僕は厨房なのでおまんこを見たこと
もありません。おまんこを見せてくれませんか?
また発展問題として「セクースをプログラミングせよ」というのも
出ました。発展問題を解くと成績が上がるのでぜひ協力してもらい
たいのですが。セクースの相手になってくれますか?
0004名無しさん@お腹いっぱい。
NGNGhttp://www.sikosiko.com/
0005名無しさん@お腹いっぱい。
NGNG0006名無しさん@お腹いっぱい。
NGNG0007名無しさん@お腹いっぱい。
NGNG0008名無しさん@お腹いっぱい。
NGNG0009名無しさん@お腹いっぱい。
NGNG0010>7
NGNG0011名無しさん@お腹いっぱい。
NGNG16びっと以下同じ
64ビット
ってどうちがうんですか?
0012名無しさん@お腹いっぱい。
NGNG0013名無しさん@お腹いっぱい。
NGNG0014名無しさん@お腹いっぱい。
NGNG0015名無しさん@お腹いっぱい。
NGNG0016お姉さん
NGNG知りません。ごめんね。
0017名無しさん@お腹いっぱい。
NGNG0018名無しさん@お腹いっぱい。
NGNG0019名無しさん@お腹いっぱい。
NGNG0020名無しさん@お腹いっぱい。
NGNGC言語の関数に"strncpy"ってありますが、
この関数を自分で作れという問題がでました。
教えてください。
0021名無しさん@お腹いっぱい。
NGNGネタだろ?
0022名無しさん@お腹いっぱい。
NGNGchar* strncpy(char* dest , char* src , LONG length)
{
int i;
for(i=0 ; i<length ; i++) dest[i]=src[i];
return dest;
}
char* strncpy(char* dest , char* src , LONG length)
{
memcpy(dest , src , length);
return dest;
}
0023名無しさん@お腹いっぱい。
NGNG{
for(;c!=0 && *s!='\0';c--) *d++=*s++;
}
もっと短くならんかなぁ...
0024名無しさん@お腹いっぱい。
NGNG0025お姉さん
NGNG20のような初心者歓迎です。
0026お姉さん
NGNGネット上にソースのってるでしょ?
自分で探そう。見つからなかったら
また来てね
0027お姉さん
NGNGAIについてはlispを少し知ってるくらいなので
知りません。ごめんね。
0028名無しさん@お腹いっぱい。
NGNG0029名無しさん@お腹いっぱい。
NGNG0030名無しさん@お腹いっぱい。
NGNG0031名無しさん@お腹いっぱい。
NGNG0032Visual 名無しさん
NGNGwhile( (c--) && (*d++=*s++) );
}
0033名無しさん@お腹いっぱい。
NGNG{
char *start = dst;
while (count && (*dst++ = *src++))
count--;
if (count)
while (--count)
*dst++ = '\0';
return(start);
}
003418
NGNG0035お姉さん
NGNGyahoo.comでhanoi.cで検索してください。
>31
LISP知らないなら私の勝ちじゃん。
0036名無しさん@お腹いっぱい。
NGNGもっとも33はVC++のcrtのソースあたりからの抜粋に見えるが。
以下はFreeBSDのSTRCPY(3)からの抜粋
The strncpy() copies not more than len characters into dst, appending
`\0' characters if src is less than len characters long, and not termi-
nating dst if src is more than len characters long.
0037お姉さん
NGNGvoidでいいんじゃない?
003832
NGNG0039名無しさん@お腹いっぱい。
NGNG004020
NGNG本当にネタではないです。
みなさんはプログラムを簡単にされてますが、
strncpyはn個の文字だけ複写します。文字列s2がnより短い場合は、
s1の後ろをn文字までNULLで埋めます。s2の長さがn以上であればNULLで終了する
結果は出ません。s1を返します。
という条件で
char *strncpy(char *,char *,int n);
main()
{ char a[512];
strncpy(a,"itteyosi",4);
printf("%s",a);
}
char *strncpy(char *s1,char *s2,int n)
{ int x;
char *p;
p = s1;
}
肝心な関数の部分が分かりません。
2ちゃんの頭脳よHELP!!!
0041名無しさん@お腹いっぱい。
NGNGキミはぜんぜんやる気ないのかな?
0042名無しさん@お腹いっぱい。
NGNG「voidでいい」もなにも、strncpyは「ANSI/ISO C標準ライブラリ関数」
なんだよ。
>>40
目が悪いのか?
それと、strncpyの仕様を良くみれば分かることだが、通常は
strncpyの後で、文字列をNULターミネートしてやる必要がある。
strncpy(a, "itteyosi", 4);
の後では、a[0]からa[3]には'i', 't', 't', 'e'が入り、a[4]以降は全く
変更されない。この場合はaは自動変数だから、この部分の内容は不定。
従って、これを次の行でprintfに渡した結果も同様に不定だ。
0043名無しさん@お腹いっぱい。
NGNG読み込んだファイルのバイナリデータをメッセージボックスかなにかで表示する
ようはバイナリエディタの表示だけできるようなものが作りたいのですが
アドバイスお願いします。できればサンプルのようなモノがあれば紹介してほしいです。
ファイルを読み込む部分まではできました。表示する部分とユウのが見当もつかない状態です。
0044名無しさん@お腹いっぱい。
NGNGバイナリ⇒16進文字の変換ができないのか?
近頃の初心者はホント謎だな‥
sprintfのヘルプ読め!
0045名無しさん@お腹いっぱい。
NGNGコンソールアプリにするなら44と同意見。
ウィンドウに表示したいならとりあえずMFCかSDKか教えてくれ。
004643
NGNGMFCです。何か部分部分はわかるのだけれどいざ組んでみると
つまずいてしまうのです。
具体例をあげてもらえると嬉しいです。
0047名無しさん@お腹いっぱい。
NGNGウィンドウに表示する事が出来ないのネ・・
質問は状況をわかりやすく!
0048名無しさん@お腹いっぱい。
NGNGhttp://www.zob.ne.jp/~c.mos/soft/bz.html
0049名無しさん@お腹いっぱい。
NGNG1行分の内容をひとつの文字列に作れますか?
3.文字列を、画面(ウィンドウ)に表示できますか?
2.その方法を繰り返しファイル全体に適用できますか?
というふうにステップごとに解決しないと
自分がどこでつまづいてるのかがわからないの
ではないかな?
0050名無しさん@お腹いっぱい。
NGNG値を本来のOSバージョンとは違う値を返すようにしたいんですができますか?
ちなみに、その対象となるプロセスのソースコードはありません。
たとえば
osver 4.0 foobar.exe
みたいにして、foobar.exeで呼ばれる GetVersionExとGetVersionのmajorとminorを
それぞれ、4と0に指定したいってことなんだけど…。
kernel32.dllにはいっちゃってるしやっぱり無理?
0051名無しさん@お腹いっぱい。
NGNG教えてください。
0052名無しさん@お腹いっぱい。
NGNG0053MSDNでdebugで調べてみればーーー
NGNGCStirng TempStr ;
TempStr.Format("変数A:%08X\n変数B:%08X",a,b) ;
AfxMessageBox(TempStr) ;
0054名無しさん@お腹いっぱい。
NGNG0055お姉さん
NGNGこれで出来ると思うけど。。解決しちゃってたらごめんね。#include<stdio.h>
void strncpy(char *,char *,int n);
main()
{ char a[512];
strncpy(a,"itteyosi",4);
printf("%s",a);
}
void strncpy(char *s1,char *s2,int n)
{
int i;
for(i=0;i<n;i++)
s1[i]= s2[i];
s1[i]='\0';
}
0056名無しさん@お腹いっぱい。
NGNGネタだろ?頼むから、ネタだといってくれ。お願いだ〜。
0057名無しさん@お腹いっぱい。
NGNGvoid strncpy(char *s1, const char *s2, const size_t n)
{
size_t count = n;
while (n--)
*s1++ = *s2++;
}
0058名無しさん@お腹いっぱい。
NGNGchar *strncpy(char *s1, const char *s2, const size_t n)
{
char *r = s1;
size_t count = n;
while (count--) {
if (*s2) {
*s1++ = *s2++;
} else {
*s1++ = '\0';
}
}
return r;
}
0059ブチ
NGNG42 で言われてますが、変数 a は512バイトのメモリを確保はしたものの内容が不定です。
文字列としてデータを扱うためには文字列の最後に NULL ('\0')を
置くことでプログラムはそこが最後だと認識します。
内容が空の場合は 先頭が NULL なわけですね。
それを踏まえると a は配列の先頭にまず NULL を置くことが義務になります。
そうしないとNULL が 512 バイトの中になければ
実装されている strncpy であっても確保していないメモリ領域への上書き(メモリ破壊ももありえます。
0060揚げ足だが
NGNG0061名無しさん@お腹いっぱい。
NGNGchar *strncpy(char *s1, const char *s2, size_t n)
{
memcpy(s1, s2, n);
return s1;
}
0062お姉さん
NGNGネタじゃないよ。マジだよ。
0063お姉さん
NGNG0064名無しさん@お腹いっぱい
NGNGitteyosi の部分じゃないの?
プログラムはあってんじゃない?
0065お姉さん
NGNG0066名無しさん@お腹いっぱい。
NGNG0067いちろうくん
NGNGおねいさん、ちがうよ。
n=1で呼ばれたときに、S1に何文字書き込まれるか考えてみ。
0068名無しさん@お腹いっぱい。
NGNGを定義して、ヘッダとして呼び出すのにはどうしたらいいんでしょうか?
つまり、他のファイルからの(オリジナル)関数呼び出し参照方法
はどうすればいいのでしょう?
hoge.c
aaa.h <これ?
でhoge.cの中身のヘッダに
#include<aaa.h>
とかいて、呼び出せばいいという認識でよろしいいのでしょうか?
0069お姉さん
NGNG#include"aaa.h"です。
>>いちろうくん
一文字プラス\0で二文字。だめ?
0070お姉さん
NGNGどの案を採用したの?
007120=40
NGNG2ちゃんでまで説教されるとは思わなかったですが、
41さん42さんに言われた通り、ちょっと教えて君(死語)になってました。
申し訳ない・・・。
55さん,57さん,58さん方のソースは自分でも出来ました。
自分が出したいプログラムは基礎の丁寧なものなので、
皆さんにとってはバカらしいものかもしれませんが、
”文字列s2がnより短い場合は、 s1の後ろをn文字までNULLで埋めます。
s2の長さがn以上であればNULLで終了する 結果は出ません。”
の部分が解決していません。
プログラムは人それぞれなので、一概に正解とかはないと思いますが、
もう少し自分で考えてみます。
大変参考になりました。
時間ある人がいたら、別ソースも見せてください。
0072さらしあげ
NGNG>>55
void strncpy(char *s1,char *s2,int n)
{
int i;
for(i=0;i<n;i++)
s1[i]= s2[i];
/* おいおいせっかくコピーしたものを '\0' で上書きかい */
s1[i]='\0';
}
/* n = 3 のとき、 s1[0]=='\0' , s1[1]=='\0' , s1[2]=='\0' */
0073お姉さん
NGNGn=3のとき
for(i=0;<n;i++)
s1[i]=s2[i];
このループを抜ける時点でs1[0]=i s1[1]=t s1[2]=t
s[i]='\0'
ここでiは一インクリメントされているので4,
s[4]='\0'
結果s1=itt\0
何がいけないのよ。
s[i]='\0'の部分はループに入ってないかんね?
0074お姉さん
NGNGs[3]=\0のまちがいね。
007572>お姉さま
NGNG0077あなたのうしろに名無しさんが・・・
NGNG0078名無しさん@お腹いっぱい。
NGNG33以上の簡潔さには、なかなかなりようがないからしょうがないが。
0080名無しさん@お腹いっぱい。
NGNGあなたのもね。
これじゃ駄目?
#include<stdio.h>
void strncpy(char *s1,char *s2,int n)
{
int i;
for(i=0;i<n,s2[i]!='\0';i++){
s1[i]=s2[i];
}
for(;i<n;i++){
s1[i]='\0';
}
return;
}
int main(void){
int i;
char s1[] = "abcdef";
char s2[] = "xyz";
strncpy(s1,s2,5);
for(i=0;i<7;i++){
printf("%d : %c : %d\n",i,s1[i],s1[i]);
}
return 0;
}
0081名無しさん@お腹いっぱい。
NGNG0082お姉さん
NGNGこれならばnがs2よりも大きかった場合に対応しますね。
あと空白の部分を\0で埋めますね。
これで質問者の意図にはあってるんでしょうか。
0083名無しさん@お腹いっぱい。
NGNGhttp://www.omanko.com/
0084名無しさん@お腹いっぱい。
NGNG「NULLで終了する 結果は出ません」←これ意味不明だが…
char *strncpy ( char *s1, char *s2, size_t n )
{
char *r = s1;
while( n-- && (*s1++ = ((*s2)?(*s2++):('\0'))) );
return r;
}
008536=42
NGNG予想通りだが、33はVC++のstrncpy実装そのものだった。
しいて言えば、手書きのコードならば0埋めにはmemsetを使うのが普通だろう。
>>82
良く見ろ。戻り値がvoidだ。仮引数もANSI C的には正しくないがな。
それにしても、33という正解が既に出ていながらなぜここまで引っ張る?
008684訂正
NGNG{
char *r = s1;
while( n-- ) *s1++ = ((*s2)?(*s2++):('\0')));
return r;
}
0087お姉さん
NGNG何で戻り値がvoidじゃいけないのか教えてください。
多分他に質問が無いからじゃないですか・・・?<なぜ引っ張る
0088名無しさん@お腹いっぱい。
NGNGあんたこそ要求されている仕様を良く見てくれ。
33のプログラムは、string.hのstrncpyとは働きが同じだけど、
いま要求されてる仕様(40や71)は満たしてない。
仕様変更には迅速に対応しませう。
ついでにいえば、宿題の答としては返り値のchar *やら
引数のconstやらsize_tやら使わない方が
いかにも自分で考えて作ったみたいでいいでしょ?(<中途半端に親切)
>>86
括弧多いよ。
008980
NGNG009080
NGNG80=88=89=90です。
欝だ氏能。
0091名無しさん@お腹いっぱい。
NGNGimport java.awt.event.*;
import java.applet.Applet;
class CardPanel extends Panel {
ActionListener listener;
Panel create(LayoutManager layout) {
Button b = null;
Panel p = new Panel();
p.setLayout(layout);
b = new Button("one");
b.addActionListener(listener);
p.add("North", b);
b = new Button("two");
b.addActionListener(listener);
p.add("West", b);
b = new Button("three");
b.addActionListener(listener);
p.add("South", b);
b = new Button("four");
b.addActionListener(listener);
p.add("East", b);
b = new Button("five");
b.addActionListener(listener);
p.add("Center", b);
b = new Button("six");
b.addActionListener(listener);
p.add("Center", b);
return p;
}
CardPanel(ActionListener actionListener) {
listener = actionListener;
setLayout(new CardLayout());
add("one", create(new FlowLayout()));
add("two", create(new BorderLayout()));
add("three", create(new GridLayout(2, 2)));
add("four", create(new BorderLayout(10, 10)));
add("five", create(new FlowLayout(FlowLayout.LEFT, 10, 10)));
add("six", create(new GridLayout(2, 2, 10, 10)));
}
public Dimension getPreferredSize() {
return new Dimension(200, 100);
}
}
public class CardTest extends Applet
implements ActionListener,
ItemListener {
CardPanel cards;
public CardTest() {
setLayout(new BorderLayout());
add("Center", cards = new CardPanel(this));
Panel p = new Panel();
p.setLayout(new FlowLayout());
add("South", p);
Button b = new Button("first");
b.addActionListener(this);
p.add(b);
b = new Button("next");
b.addActionListener(this);
p.add(b);
b = new Button("previous");
b.addActionListener(this);
p.add(b);
b = new Button("last");
b.addActionListener(this);
p.add(b);
Choice c = new Choice();
c.addItem("one");
c.addItem("two");
c.addItem("three");
c.addItem("four");
c.addItem("five");
c.addItem("six");
c.addItemListener(this);
p.add(c);
}
public void itemStateChanged(ItemEvent e) {
((CardLayout)cards.getLayout()).show(cards,
(String)(e.getItem()));
}
public void actionPerformed(ActionEvent e) {
String arg = e.getActionCommand();
if ("first".equals(arg)) {
((CardLayout)cards.getLayout()).first(cards);
} else if ("next".equals(arg)) {
((CardLayout)cards.getLayout()).next(cards);
} else if ("previous".equals(arg)) {
((CardLayout)cards.getLayout()).previous(cards);
} else if ("last".equals(arg)) {
((CardLayout)cards.getLayout()).last(cards);
} else {
((CardLayout)cards.getLayout()).show(cards,(String)arg);
}
}
public static void main(String args[]) {
Frame f = new Frame("CardTest");
CardTest cardTest = new CardTest();
cardTest.init();
cardTest.start();
f.add("Center", cardTest);
f.setSize(300, 300);
f.show();
}
public String getAppletInfo() {
return "Demonstrates the different types of layout managers.";
}
}
009285
NGNGで?
> strncpyはn個の文字だけ複写します。文字列s2がnより短い場合は、
> s1の後ろをn文字までNULLで埋めます。s2の長さがn以上であればNULLで終了する
> 結果は出ません。s1を返します。
「NULLで終了する結果は出ません」が意味不明だが、これは善意に解釈して
「NULターミネートされません」という意味だろう。
だとすればこれはANSI/ISO標準のstrncpyの仕様そのものだ。
最後の「s1を返します」をあんたはちゃんと見たのか?
0093名無しさん@お腹いっぱい。
NGNG仕様の理解のために、自分で実装してみるのは、学習過程で有効なことだが、
未熟なくせに偉そうにしてる、脳味噌空っぽ君が一人二人まざってるよ。
こういう害虫が、世の中悪くするんだよねえ。
009420=40
NGNG>「NULLで終了する結果は出ません」
というのは、文字列の最後にNULLを入れないとゆう意味です。
0095お姉さん
NGNG0096あなたのうしろに名無しさんが・・・
NGNG尾根遺産はおいくつですか。
彼氏いますか。
0097名無しさん@お腹いっぱい。
NGNGSQLを使ってある表中の行をコピーしたいのですが
INSERT INTO 表 VALUES((SELECT * FROM 表 WHERE 列=値));
でできますか?
そもそも行のコピーってSQLでできるんでしょうか?
0098お姉さん
NGNGなんでいきなりSQL。。(^_^;)
この形式だとSELECT以下の条件を満たす値を含む行を複数行
他の表からコピーできると思います。
行のコピーはSQLのオペレーションの中でも最重要だと思いますが。
0099お姉さん
NGNG0100お姉さん
NGNGjoinを使って二つ以上の表から値を持ってくることも出来ます。
今日はここまで。
0101おやじ
NGNGSQLでVALUES() 内に副問い合わせってかけたっけ?
コピーするときってVALUESつかったっけ?
あれれ?
忘れた
0102名無しさん@お腹いっぱい。
NGNG俺はValues使わないでこうやってるよ。
97の場合に動くかどうかは知らない。
0103名無しさん@お腹いっぱい。
NGNGInsert into Table1 select * form Table1 where 列=値;
でOK?
010480
NGNGなんか今更ですが
今、ここを見てちょっと考えたら
貴方の言ってることが全面的に正しいとわかりました。
なんで標準のstrncpyで確かめなかったんだろう?>自分
人にちゃんと読めとか言う資格ないです。
高圧的な態度になったのも何か頭が壊れていたようです。
気を害された85の人申し訳ありませんでした。
とにかく謝っておきたくて。
0105名無しさん@お腹いっぱい。
NGNGには
>s1の後ろをn文字までNULLで埋めます
は、ないと思うんだけども‥
0106>80
NGNGカンマ演算子じゃダメだろ
for(i=0;i<n&&s2[i]!='\0';i++){
こうしたかったのか?
0107いちろうくん
NGNGおねいさんごめんなさい、おへんじおそくなっちゃいました。
strncpyに1文字コピーしてねって頼んだのに
2文字分書き込まれちゃうのはいけないとおもいます。
いまさらな気もするけども‥
0108お姉さん
NGNG>Insert into Table1 select * form Table1 where 列=値;
>でOK?
最初のtable1がコピーされる方で次のがコピーする方ですね。
form じゃなくてfrom です。列じゃなくて行=値じゃないですか?
>いちろうくん
nullターミネーターを入れて二文字です。
0109名無しさん@お腹いっぱい。
NGNGMSDNから引用
> string2 の最初の count 文字数を string1 にコピーしてから string1 を返し
> ます。count がstring2 の長さ以下の場合は、コピーした文字列に自動的に
> NULL 文字 (\0) を付けません。count が string2 より長い場合は、string1
> には count の長さまで NULL 文字が埋め込まれます。コピー元の文字列とコピー
> 先の文字列が重なり合っている場合の strncpy 関数の動作は未定義です。
これが、ANSI/ISO標準に完全に準拠してるかどうかはわからないが、
> s1の後ろをn文字までNULLで埋めます
に相当する記述は少なくともここにはある。
0110いちろうくん
NGNG0111お姉さん
NGNGそこら辺は上に何個か出ているstrncpyの仕様を見て判断してくだ
さいな。。(脱落)
0112じろうくん
NGNG‥‥‥と思ったけど、5分以上考え込む問題みたいだから、
おねいさん的には逃げてもいいんだね。
0113お姉さん
NGNG0114じろうくん
NGNGあと、超初心者と言っても、低レベルな質問をするとは
限らないんだけどそれでもいいのかい、おねいさん?
0115初心者
NGNG逆行列を計算するプログラムを作るという宿題が出ました。
手始めに4×4行列の逆行列を作ることが宿題です。
おねいさんお願いします。
0116名無しさん@お腹いっぱい。
NGNG逆行列ってなんだっけ?
何となく、高校の時に習ったと思うけど、記憶が曖昧なんでよくわからん。
あとは、行列をどのように表現するかによって実現方法が変わりそうな気がする。
まあ、普通は2次元配列を使うんだろう、この場合。
0117お姉さん
NGNG表を対角線上にひっくり返すやつ?
0118名無しさん@お腹いっぱい。
NGNGhttp://www.cybernet.co.jp/products/matlab/information/webcourse/linear/linear5.html
0119いちろうくん
NGNGどうしようか? じろうくん。
0120お姉さん
NGNG思っていたのと全然違った(汗)
二行二列なら簡単だけどそれ以上だと
拡大して面倒くさい操作をするんだったね。
・・・・今日はこれにて退散。
0121名無しさん@お腹いっぱい。
NGNG0122じろうくん
NGNGダメだよおにいさん。
おねいさん、あんまり頭良くないから、そんな難しい
問題訊いたら頭が爆発しちゃうよ。
0123お助け君。
NGNGちなみに逆行列
2393|1000
3432|0100
3322|0010
2344|0001
↓
1000|
0100| ここが
0010| 解答
0001|
確か大学1年くらいの問題。
0124名無しさん@お腹いっぱい。
NGNG>>Insert into Table1 select * form Table1 where 列=値; ?
>>でOK?
>最初のtable1がコピーされる方で次のがコピーする方ですね。
>form じゃなくてfrom です。列じゃなくて行=値じゃないですか?
行=値でした
ごめんでしゅ
ORACLEで実際に打ってためしてみましゅ
0125名無しさん@お腹いっぱい。
NGNG三角形の辺の長さabcをキーボードから入力し、
入力された値で三角形が作れるかどうかを判断する
プログラムを作れ。
という宿題が出ました。
どうか教えてください。
0126名無しさん@お腹いっぱい。
NGNGそれの
どの部分がわからないのかおしえてください。
0127名無しさんi486
NGNG確かにその通り。>126
0128名無しさん@お腹いっぱい
NGNG125じゃないよ!
0129125
NGNGifを使うようなのですがいまいち・・・
0130名無しさん@お腹いっぱい。
NGNGこうかな?
0131Visual 名無しさん
NGNG0132名無しさん@お腹いっぱい
NGNG公式って教科書に載ってないのか?
C^2=A^2+B^2 みたいなやつ。(これは直角三角形だけど)
三角比を使用して求める公式(数式)あるだろ?
それを教えたらプログラムしてやる。
0133マジレス>125
NGNG0134名無しさん@お腹いっぱい。
NGNGA1「三角形の任意の2辺の長さの合計は他の一辺の長さより大きい」
A2「if(条件)文; //条件が非0ならば文が実行される」
これでバッチリだよね。
0135steal@proxyi.isc.osakac.ac.jp[andv05.anken.osakac.ac.jp]
NGNG0136名無しさん@お腹いっぱい。
NGNGボクは元ネタを知らないので、教えてください。
125の人が大阪電気通信大学なのですか?
それとも、
125の学校を調べようとした人が大阪電気通信大学なのですか?
0137136
NGNG0138名無しさん@お腹いっぱい。
NGNGhttp://teri.2ch.net/test/read.cgi?bbs=saku&key=972327405&st=3&nofirst=true
0139名無しさん@お腹いっぱい。
NGNG0140名無しさん@お腹いっぱい。
NGNG正しいものは何なのか それがこの胸に解るまで
僕は街にのまれて 少し心許しながら
この冷たい街の風に歌い続けてる
0141名無しさん@お腹いっぱい。
NGNGhttp://www.osakac.ac.jp/labs/an/member00/index.html
0142ひよこ名無しに逝け
NGNG問題出した本人だってさ。
実名UPきぼんぬ。
0143名無しさん@お腹いっぱい。
NGNGなんだからほっといてやれよ
0144135@伝痛大関係者
NGNG管理人さんの方にも削除願い出しました。
スイマセンでした。こちらの問題はすべて解決しました。
みなさんご迷惑おかけしてスイマセンでした。
0145おねえさーん!
NGNGわーい!わーい!
0146名無しさん@お腹いっぱい。
NGNG0147名無しさん@お腹いっぱい。
NGNG0148どうしましょう??
NGNGその他のやり方って何かあるんでしょうか?
ご存じの方、ぜひ教えていただきたいのですが??
0149名無しさん@お腹いっぱい。
NGNGええ、いいわよ。&hearts
http://www.chinpo.com/
0150名無しさん@お腹いっぱい。
NGNG0151名無しさん@お腹いっぱい。
NGNG病気だ!
医者逝け!
0152名無しさん
NGNG0153Visual
NGNGZバッファとか?
0154天才ちゃん
NGNG激しく同意!
0155148
NGNG>Zバッファとか?
ってもう少し詳しく教えていただけないでしょうか?
私なりにも、少し調べてみたいと思いますが・・・
お手数かけて申しわけないです。とほほ・・
0156お姉さん
NGNG145
よかったですね。どのプログラムですか?
0157名無しさん@お腹いっぱい。
NGNG0158名無しさん@お腹いっぱい。
NGNGアルゴリズムの本などを見るとmin-max法しか
載っていなかったのですが…
0159名無しさん@お腹いっぱい。
NGNGgetpixel この関数を自分で作るとどうなるのでしょう?
0160名無しさん@お腹いっぱい。
NGNG作れないことも無いが作る理由がない。
0161159
NGNG0162名無しさん@お腹いっぱい。
NGNG人に聞かずに自分で調べるのも宿題のうちだ。
0163名無しさん@お腹いっぱい。
NGNGお姉さんが宿題を教えてくれるスレッドらしいから別にいいのではないかな。
それじゃあ勉強にならないという点は激しく同意だが。
0164名無しさん
NGNG0166名無しさん@お腹いっぱい。
NGNG0167159
NGNGこの関数に似た関数をつくりたかったので
色々と意見を伺おうと思ったのです。
お願いします。
0168名無しさん@お腹いっぱい。
NGNGこれを使って、Webブラウザのフォームから入力された住所から郵便番号(7桁)
をサーチするCGIプログラムを作れと言われました。PostgreSQLを使っても
いいそうですがドキュソでチュ〜な僕にはなにがなんだかわからないよ!
たすけて!おねいさん、クラスのみんな!
0169いちろうくん
NGNG0170名無しさん@お腹いっぱい。
NGNG0172お姉さん
NGNGわかりません!
0173名無しさん@お腹いっぱい。
NGNG0174名無しさん@お腹いっぱい。
NGNG何に対してgetpixelするのか判らないとね…。
基本的には座標をx,yで指定してgetpixelする
グラフィックイメージの幅がwなら
w * y + x
だよね。
あとは、pixelフォーマットによって多少変形
する事になる。
8bbp,16bpp,32bppだったら、char,short,long
配列に対して上記の式でいいけど1bppや4bpp
だとシフトやマスクの必要もでてくる。
1bppで配列がchar(8bit)の場合、
(((w+(8-1))/8) * y + (x / 8)) & (0x80 >> (x % 8))
とかかな?検証はしてない。
0175クラブT
NGNG{
static char ProhibitChara[] = "\\/:,;*?\"<>|";
char trBuffer[MAX_PATH];
DWORD nCount = sizeof(ProhibitChara) - 1;
char *pSrcCurrent = trBuffer;
char *pDesCurrent = trBuffer;
BOOL Found;
wcstombs( trBuffer, szFimeName, MAX_PATH);
for (;*pSrcCurrent != '\0'; pSrcCurrent++)
{
Found = FALSE;
for (DWORD n = 0; n < nCount; n++)
{
if (*pSrcCurrent == ProhibitChara[n])
{
Found = TRUE;
break;
}
}
if (Found != TRUE)
{
*pDesCurrent = *pSrcCurrent;
pDesCurrent++;
}
}
*pDesCurrent = '\0';
mbstowcs( szFimeName, trBuffer, MAX_PATH);
}
0176クラブT
NGNGファイル名に使えない文字を取り去る関数ですが、
これで出来てるでしょうか?
0177名無しさん@お腹いっぱい。
NGNGvoid assertNormalize(char *s1, const char *s2)
{
char buf[765];
strcpy(buf, s1);
ASSERT(strcmp(buf, s2)==0);
}
void testNormalize(void)
{
assertNormalize("test.txt", "test.txt");
assertNormalize("test\\.txt", "test.txt");
...
assertNormalize("\\/:,;*?\"<>|", "");
}
あとProhibitCharaはやめれ
~~~~~
0178177
NGNG{
char buf[765];
strcpy(buf, s1);
Normalize(buf); /* 肝心なのを入れ忘れた */
ASSERT(strcmp(buf, s2)==0);
}
あと変換前・変換後のバッファをわけた方がいいかも。
同じバッファを指定したときのみ上書きするとかね。
0179名無しさん@お腹いっぱい。
NGNGざっと見た感じで言うと、
ファイル名に日本語コードが含まれてる時の処理が入ってないッス。
あと、wcstombs()に LPTSTR の引数を渡すのは、気持ち悪い感じがします。
0180名無しさん@お腹いっぱい。
NGNG1)
こういう特殊な目的にしか使えない関数ではなく、
指定した文字群 szCharSet に含まれる文字を szSrc から削除する関数
void Squeeze(LPTSTR szSrc, LPCTSTR szCharSet);
のようなものを書いた方が設計としては良い。
2)
wcstombsを使うのは#define UNICODEされていることを確認してからでも
遅くはない、というかそうすべき。とはいうものの、このケースに限っては
そもそもWCS <-> MBCSのコンバートは不要である。TCHARの配列を
保持しておき、TCHARのまま判定すれば良い。
TCHARポインタのインクリメントにはtcsincを使え。
3)
このような検索処理にはtcschrが使える。使えるものは使え。
0181クラブT
NGNG私なんかがぜんぜん考えてないことを指摘して下さいますね。
でも、ちょっと難しいですー
じっくり考えてみます!
0182ななし
NGNG文字列たとえばx[10]="nanashi"が
あったとします。これを右寄せにする、プリントしたときに
" nanashi"となるような関数はありますか?
こないだの質問答えてくれた人ありがとう。
0183名無しさん@お腹いっぱい。
NGNGprintf("%10s", x);
でどう?
0184名無しさん@お腹いっぱい。
NGNGprintf
0185>182
NGNGprintf("%10s",x);
どっちか。。。
0186185
NGNGしかも、俺が1番、馬鹿。。。
0187182
NGNG他の方法ありますか?
0188名無しさん@お腹いっぱい。
NGNGC++でも使えるよ。
0189名無しさん@お腹いっぱい。
NGNG標準C++ライブラリでやるなら
std::cout << std::setw(10) << std::setiosflags( std::ios_base::right )
<< std::setfill(' ') << x;
かしら。メンドウだから試してないの。調べてみてちょうだい。
0190名無しさん@お腹いっぱい。
NGNGsprintfでメモリ上に出した後で
あんたが好きなやりかたで表示しろや
それともwinでtextoutで表示したいのか?
0191182
NGNGファイルに書き出すのでprintfじゃないです。
今はoutfile<<record1<<record2<<.....って感じで
やってるのですが、recordの何個かが(全部ではない)右寄せ
にしなくてはいけないんです。こういう場合はどうするんでしょう?
0192180
NGNG単純に汎用テキストマッピングを利用するのはまずいな。
以下は普通にWCS用に書いたコードだが、これと全く同じアルゴリズムを
MBCSに適用することは出来ない(SBCSではOK)。インクリメント
部分にwcsincを使用するとしてもダメだ。
void Normalize(wchar_t *s)
{
static const wchar_t *set = L"\\/:,;?\"<>|";
wchar_t *t = s;
for (; *s; ++s)
if (!wcschr(set, *s))
*t++ = *s;
*t = 0;
}
どうしてもLPTSTRを使いたいのなら、UNICODE, MBCSといったシンボルが
定義されているかどうかで処理を分けるしかないだろう。
0193182
NGNGいいプログラミングって言えるんですかねえ。
0194名無しさん@お腹いっぱい。
NGNG0195名無しさん@お腹いっぱい。
NGNG0196182
NGNG標準C++ライブラリでやるなら
std::cout << std::setw(10) << std::setiosflags( std::ios_base::right )
<< std::setfill(' ') << x;
かしら。メンドウだから試してないの。調べてみてちょうだい。
ファイルに書き出すのでstd::coutではないですよね、このばあいは
ここの部分はどうなるのでしょう?std::ofstreamオブジェクト名で
いいのかな?
0197182
NGNG思いつきました
でもすでにoutfile<<rec1<<rec2.....の形式でやってるので
一貫した方法を採りたいんです。
0198名無しさん@お腹いっぱい。
NGNGMSDNで、調べてみ。
それから、C++はとりあえず、Cの関数は全部準拠だよ。
0199名無しさん@お腹いっぱい。
NGNGじゃダメなのかね
0200182
NGNGMSDNって何ですか?
0201名無しさん@お腹いっぱい。
NGNG自分で調べろよ。
0202名無しさん@お腹いっぱい。
NGNG自分で考えるか自分で作るかすれば〜
0203168
NGNGありがとうございます!
0204182
NGNG何とかやってみます。
0205>質問する方々へ
NGNG初心者のころ、こうやって身も知らぬ他人にいろいろ教えて
もらったことは、よーく覚えておいてちょうだいね。
つまりアナタも近い将来人に教えられるくらいの知識を身につけて、
ちゃんと後輩の質問に応えてあげないってことよ?
「人に教えられるくらいの知識が身に付く自信がない」っていうなら、
こういうところで質問しないでちょうだいね。
カネ払って講習会に行ってちょうだい。
アタシたちもヒマじゃないんだから。って仕事中に2chに書き込み
しながら言っても説得力ないわね。
0206名無しさん@お腹いっぱい。
NGNG0207名無しさん@お腹いっぱい。
NGNG0208竜崎麗香
NGNG0209名無しさん@お腹いっぱい。
NGNG答える人はみんなおねいさんになるべきだと思う
おねいさんじゃない答え禁止。
0210名無しさん@お腹いっぱい。
NGNG0211名無しさん@お腹いっぱい。
NGNGオマエモネー
# これでいいのかしら?
0212名無しさん@お腹いっぱい。
NGNGそろそろ卒業ってレベルの課題を誰かだしてくれない?
0213>212
NGNG下の方に強調構文表示されたソースを、
上の方にそのソース内の変数・関数のプロトタイプのリストと
ソースへのリンクを張る。
でもあんまりCの機能は使わないか
0214名無しさん@お腹いっぱい。
NGNG違う!! もっとおねいさんみたく喋ってよ!!
>>212
500行以上なんて見るきもせんよ。
0215名無しさん@お腹いっぱい。
NGNG作ってみ。ある程度つかえるヤツができれば、多分、入門は卒業。
0216名無しさん@お腹いっぱい。
NGNGどうやってコーディングするか以前にどーゆー物かが分かりません。
索引編成ファイルみたいなのを作るんですか?
>214
全部見てもらおうとは思ってません。勉強中なんだけど書きたいコードが
思いつかないくて。。。
>213
とりあえずそれを作ってみます。
ありがとうございました。
0217名無しさん@お腹いっぱい。
NGNG今日は宿題もないみたいなんで、もう寝ます。
みんな、おやすみ!
0218名無しさん@PG見習い
NGNG------------- Help Me ---------------
教えてください!!
半径が5ドットの筆先でA−B間を描画する最も効率の良い方法は?
WindowsAPIは無しです。
( ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
A B
両隅が丸くなる感じの線です。
ABの位置は自由です。斜めだったりもします。
またCDなどの制御点を含む曲線(ベジエ曲線)だったりもします。
0219名無しさん@お腹いっぱい。
NGNGAPIは無しって事は、
なにか、グラフィック系のコントロールとかライブラリを使うって事?
0220名無しさん@お腹いっぱい。
NGNGUNIX つかってんだったら web サーバ書いてみ.
inetd から起動する奴だったら手頃でしょ.
0221名無しさん@PG見習い
NGNGBYTE Image[800*600*3] みたいにメモリを確保しておいてそのメモリ上に描画する。
Image[800*600*3] は 「横800ドット・縦600ドット・RGB」 って意味。
座標(200,100)に赤を塗る場合、
Image[ (200+100*600)*3 ] = 255;
Image[ (200+100*600)*3+1 ] = 0;
Image[ (200+100*600)*3+2 ] = 0;
表示する時はメモリをDCにコピーする。
表示部分はAPI使う。(完成してる。)
0222名無しさん@PG見習い
NGNG補足:要するに描画部分はすべて自分で書く。
0223名無しさん@お腹いっぱい。
NGNGまず自分はどう考えたか、どこまでやってるのか書いてみ。
自分でもある程度はやってるんだろ?
0224ウンコランナー
NGNG言語はCです。
1.VB側のテキストボックスに入力した値Aを、hoge.exe(hoge.c)に渡し
計算させたい。
2.このソフトで解析した結果の値BをVB側に渡して、テキストボックス
に表示したい。
どうやってやるんですか?
教えてください。
http://216.218.192.139/test/read.cgi?bbs=prog&key=972678022
0225名無しさん@PG見習い
NGNGブラシパターンみたいなのを BYTE Pen[10*10*3] に作っておいて、
線分の経路?を1ピクセルずつ計算し、そこにペイントしていく。
この方法だと遅い!同じピクセルに何度も書きこむので無駄だらけ。
一応ある程度のスピードは確保したい。
もっとスムーズにやる方法ないですか?
輪郭線を計算して輪郭線から内部判定して一気にペイントとか。
そういうアルゴリズムで書かれてるソースが見たい。
ライブラリ(バイナリ変換済み)などはダメ。自分でソース書かないといけないから。
0226おねいさん
NGNG同じピクセルに何度も描かないようにすれば速くなるわよ。
ブラシの移動のあいだを間引くのもいいわね。
> ウンコランナーさん
となりに行って、アタマのいいお兄さんにきいてちょうだい!
‥って、これじゃあんまりね。
DLLにはしたくないみたいだし‥
どうして全部VBでやるわけにはいかないの?
0227名無しさん@お腹いっぱい。
NGNG0228ウンコランナー
NGNG(1)
>DLLにはしたくないみたいだし‥
いえ、DLLじゃしたくないとはいってませんよ。
DLLの作成の仕方を教えてくださいませんか?
(VCでしかできないのか?、その他のコンパイラでも可能か?)
も分かっていない状態なので、かなり面倒だとお思いますが。(笑)
(2)
>どうして全部VBでやるわけにはいかないの?
全部VBでやると、
1.わざわざCで作ったのをVBに直さないといけない→面倒
2.高速だと思うから。60!くらいの処理を行う予定だから。
(3)
VBに*.exeから値を得る、渡す、という行為自体そもそも可能なのか?
不安になってきた。
0229お姉さん
NGNG話しかけないでね。
0230名無しさん@お腹いっぱい。
NGNGそれなら幅5ドットの直線を引いて、円を両端に描画すればおわりだよ
計算量も軽くて速いぞ。ちなみに結構有名な方法なので特許は無理だ
0231名無しさん@お腹いっぱい。
NGNGコマンドラインで起動できるプログラムなら、Shell関数で
起動すればおっけー。
結果はどう出力されるのかわからないけど、GetExitCodeProcess()
で取得するか、リダイレクトしてファイルから読みこむか。
まあ。DLLにした方がいいと思うけどね。
0232おねいさん
NGNG(1)
VC以外でもDLLができるかどうかを気にしてるようだけど
いったいどこのコンパイラを使ってるの?ヘルプでDLLを調べてね。
(2)
じゃ、いっそのこと全部Cで書いてみればどう?
(3)
VBとCのプログラム間での値のやり取りはいろんな方法があるけれど
DLLでなければ、ファイルでやり取りするのが一番簡単かしら?
0233いちろうくん
NGNGぼくらのおねぇさんをなんだとおもってるんだ!
0234初心者
NGNGchar *jis2sjis(char *JISstring, char *SJISstring)
みたいな関数を作りたいんですけど。
教えて、お姉さん。
0235名無しさん@お腹いっぱい。
NGNGホレ>234
http://www.sakuranet.or.jp/~mrp/vbhtmls.html
0236初心者
NGNGでもぼくはCでどうするのか知りたいんです。
教えてください235さん。
0237名無しさん || die
NGNG言語が何だろうとアルゴリズムはいっしょだろうに。
http://www.mirai.ne.jp/~cow/soft/nkf.c (c)
http://www.imasy.or.jp/%7Ei16/soft/convsjis.htm (asm)
http://www.webinter.net/pbd/unkanj.htm (c++)
0238名無しさん@お腹いっぱい。
NGNG0239初心者
NGNGでもぼくは235さんの書いたコードが見てみたいんです。
なんとなく面白そうで。
0240お姉さん
NGNG>>初心者くん
んー。アルゴリズムをもらったんだからそこからcのコードに
発展させるくらいのことはやらなくちゃ、勉強にならないぞん。
>>いちろうくん
ありがとー。・・って私お礼言われるほどの回答をほとんど
してない気もするけど・・あは。
0241235>239
NGNGとりあえずさっきのページからほぼベタ移植。
改行コードの変更は本質的な問題でないんで省略しといた。
char* Jis2Sjis(char* JISstring,char* SJISstring)
{
unsigned char uByte,lByte;
unsigned char* Sjis = (unsigned char*) SJISstring;
unsigned char* Jis = (unsigned char*) JISstring;
int JisFlg=0;
while(*Jis){
if(*Jis=='\x1b'){
if( Jis[1] == '\x24' && (Jis[2] == '\x42' || Jis[2] == '\x40')){
JisFlg = !0;
Jis += 3;
}else if( Jis[1] == '\x28' && (Jis[2] == '\x42' || Jis[2] == '\x4A')){
JisFlg = 0;
Jis += 3;
}
}
if(JisFlg){
uByte = *Jis++;
lByte = *Jis++;
lByte += uByte & 1 ? 0x1F : 0x7D;
if( lByte >= 0x7F) lByte++;
uByte = (uByte - 0x21) / 2 + 0x81;
if( uByte > 0x9F) uByte += 0x40;
*Sjis++ = uByte;
*Sjis++ = lByte;
}else{
*Sjis++ = *Jis++;
}
}
*Sjis = '\0';
return SJISstring;
}
0242名無しさん@お腹いっぱい。
NGNG241の親切さは泣けるな。
0243241
NGNG親切を装って239を貶めている確信犯なので
気にしないでくれたまい
他にも参項にする人がいるかもしれないしさ‥
0244真241
NGNGところで、241では、元のページのBasicのプログラムからある
小さな(しかし場合によっては致命的な)問題を解決していません。
何がその問題なのかはあえて書かないでおくので
がんばって直してくれたまい。
初心者向けにはおもしろい問題かもね。
0245名無しさん@お腹いっぱい。
NGNG235はCが書けないもんだと思い込んで一転して煽りに入ったな‥
0246245
NGNG0247初心者
NGNG実はもう一つわからないことがあって教えて欲しいんです。
COBOLのパック10進形式の文字列をASCIIキャラクタ形式に
変換したいんですが、どうすればいいでしょう?
言語はCで関数プロトタイプは
char *Pack2Ascii(char *AsciiDec, char *PackDec, size_t n)
nバイトのPackDecにはパック10進形式の数値が右詰で入っており、
余った桁は0パディングされている。
これをAsciiDecに左詰で変換したキャラクタを格納する。
符号はマイナスの時のみつける。
これがどーしても解りません。
教えて下さい235さん。
0248お胸おっぱい
NGNGchar *Pack2Ascii(
char *AsciiDec,
char *PackDec,
size_t n
)
{
int p, a;
for (p=0; p<n && ! PackDec[p]; p++)
; /* Skip leading zero */
for (a=0; p<n; p++)
a = a + sprintf(AsciiDec + a, a? "%02x": "%x", (unsigned char)PackDec[p]);
AsciiDec[a] = '\0';
}
符号は考慮してない&動くかどうかは試してないけど。
0249お胸おっぱい
NGNG> a = a + sprintf( …
は
> a += sprintf( …
ね。
最近ちょっと BASIC やってて…ああ言い訳にしか聞こえんよ…
0250>248
NGNGAsciiDec[a] = '\0';
って無駄じゃないの?
0251>248
NGNG0252>247
NGNG・nバイトのPack10進数とは
数値までの値なのか、符号までを含めた値なのか?
ここらへんが明確でないとコードは書けません。
0253名無しさん@お腹いっぱい。
NGNGまあ何だ、初心者は235を
愛して
しまったようだから、そっとしといてやってくれ。
0254トライAPI
NGNGファイルを列挙しているのですが、時間でソートして列挙するには
どうすればいいのでしょうか?
VCを使っています。
0255名無しさん@お腹いっぱい。
NGNGsystem( "COMMAND /C DIR /OD" );
0256名無しさん
NGNGお、UNIX使いがここにいる・・・。
ナゼ、Windowsアプリのソースって、こう言ったシェル呼び出しが少ないんだろうね。
あ、DOS呼び出すからか・・・。
0257名無しさん@お腹いっぱい。
NGNGDOSのコマンドは、プログラムから呼び出すには使いにくい仕様の
物が多いし、外部コマンドはシステムに入ってるって保証がないし。
0258お姉さん
NGNG0259名無しさん@お腹いっぱい。
NGNGFindFirstFile FindNextFile WIN32_FIND_DATA qsort
0260名無しさん@お腹いっぱい。
NGNG0261名無しさん@お腹いっぱい。
NGNGそう? UNIX使えるなら opendir() 使いそうなもんだが。
(それから並べておいて qsort())
それが面倒な場合は glob() を使う(しかしこれはファイルが
多すぎてメモリが足りない場合にできない)。
0262名無しさん@お腹いっぱい。
NGNGDOSも dir でこの手法が使えるんじゃないか? 実際には
内部でファイルにリダイレクトしてそれをオープンするの
かも知れないが。
0263名無しさん@お腹いっぱい。
NGNG美人だったら教えてほしいことがあるんだけど・・・
0264おねいさんだけど‥
NGNG0265名無しさん@お腹いっぱい。
NGNGおまえは、ねかまだろう
天才 国津慎吾のめはふしあなではないぞ
ばかもの
0266いちろうくん
NGNG0267名無しさん@お腹いっぱい。
NGNG俺も性能が非常に問題になる場合以外は popen("ls -t") を使うと思う。
Win32には本物のパイプがあるから、popenは32bit版のVC++にはある。
しかし、fd 0, 1をopenしていなければ使えない
(むろんコンソールアプリケーションならこの条件は満たされるが)。
Windows Applicationの場合は、いっそNamedPipeを使う方が良いかも。
0268名無しさん@お腹いっぱい。
NGNG0269名無しさん@お腹いっぱい。
NGNG0270トライAPI
NGNGパイプは未経験で難しそうなので、
リストに1つ1つ挿入することにしました。
どうもありがとうございます。
0271名無しさん@お腹いっぱい。
NGNG0272tetete
NGNGvoid func(引数,引数)
{
struct AAA *p;
if(( p = malloc(sizeof(struct AAA))) == NULL){
エラー処理;
}
p->メンバ = なんか;
.
.
.
}
この関数は、問題ないのでしょうか?
つまり、関数の中で宣言したstruct AAAのポインタを
この関数の外で使うことは文法的にOKなのですか?
もちろん、どこかでfree()してやるとして。
0273名無しさん@お腹いっぱい。
NGNG外で使ってみたら?と言いたいけど、おねいさんにまかせよう。
0274>272
NGNG>この関数の外で使うことは文法的にOKなのですか?
OKです。
戻り値がvoidなので、引数でpを返そうとしていると推察しますが
C言語ですと引数は全て値渡しなので取り扱いに気をつけてください。
0275274
NGNGある関数内で確保したエリアのポインタを
他の関数へ引き渡すことは可能です。
0276tetete
NGNGこの関数を出たあとで、struct AAA *pにアクセスして問題ないのですね?
そうですか。
有り難うございます。
malloc()してようがしてまいが、
関数内で宣言したものは、関数を出たらそれっきりなのかと思ってました。
戻り値で返すか、
引数としてstruct AAA *pを受け取って処理すべきなのだと思っていました。
0277お姉さん
NGNGみようとしたが出来なかったとか具体例をあげてもらわないと。。
嵐のみんな、おうちに帰ってカレーの王子様でも食べてなさいね。
0278sage
NGNGは、なまえ :---> もの(object)
の関係を理解しているのかな?この両者を一緒にしちゃいけないよ。
なまえのスコープ(有効範囲)と、ものの有効範囲は違うよ。
このばあい、pという名前自体は、ブロックスコープを持つので、
この関数から出ると無効になるんだけど、
pで指されているところの「もの」は、mallocでヒープ上に確保した
以上、freeするまでは存在するんだ。274が言っているのは、
このことさ。
じゃあね。
0279278
NGNGああ、ぼくは
なまえ :----> E-mail(省略可)
をまちがえてしまったよ。
じゃあね。
0280tetete
NGNG何がわかっていなくてわからなかったかがわかった気がする。
どーもでした。
0281278
NGNG書いたのに誰も突っ込んでいないな。
まあいいか。
0282初心者
NGNGどういう風に作ればいいんでしょうか?
使える言語はCかPerlです。Perlで作ろうとしましたが、
文字列の置換がうまくいきません。全部を「$a[i]=~/A/A/;」とやっていくんでしょうか?
詳しい方よろしくお願いします。
0283*名無しさん++
NGNG日本語対応sedを使いましょう。
0284nanasii
NGNG0286鏝半
NGNGScopeとextentを混同してるちゅうことかいな?>281(278)
0287nanasii
NGNG「また」? なんだそりゃ?
せつめーすんのがめんどくせーんだよ。猿。
てめーの乏しい知力で人をはかんじゃねー。
http://tako.2ch.net/test/read.cgi?bbs=perl&key=971627428
の17? くらいをみてカイゾー白。
0288名無しさん@お腹いっぱい。
NGNG0289名無しさん@お腹いっぱい。
NGNG#include <math.h>
main()
{
int n,i,a,b,c,d,p,x,y;
double data[100],sum,mean,bunsan,hensa[100],stddev;
printf("Input Number!\n");
scanf("%d",&n);
printf("Input Data!\n");
for(i=0;i<n;i++){
scanf("%lf",&data[i]);
}
sum=0;
for(i=0;i<n;i++){
sum=sum+data[i];
}
mean=sum/n;
printf("mean=%f\n",mean);
sum=0;
for(i=0;i<n;i++){
sum=sum+pow(data[i],2);
}
bunsan=sum/n-pow(mean,2);
stddev=sqrt(bunsan);
printf("stddev=%f\n",stddev);
for(i=0;i<n;i++){
hensa[i]=((data[i]-mean)/(stddev))*10+50;
}
printf("no data mean+- hensachi rank\n");
printf("----------------------------------------------------------\n");
a=b=c=d=0;
for(i=0;i<n;i++){
printf("%2d %10.5f %+10.5f %4.2f ",i+1,data[i],data[i]-mean,hensa[i]);
if(hensa[i]>=70){printf("A\n");a++;}
else if(hensa[i]>=60){printf("B\n");b++;}
else if(hensa[i]>=50){printf("C\n");c++;}
else{printf("D\n");d++;}
}
printf("A=%d,B=%d,C=%d,D=%d",a,b,c,d);
printf("\nハミコケテヘハフソヘソス\n");
printf("A|");
for(p=0;p<a;p++){printf("*");}
printf("\nB|");
for(p=0;p<b;p++){printf("*");}
printf("\nC|");
for(p=0;p<c;p++){printf("*");}
printf("\nD|");
for(p=0;p<d;p++){printf("*");}
printf("\n");
}
0290ぎこるび
NGNGここをブックマークしときませう
http://www.din.or.jp/%7Eohzaki/perl.htm
ちなみにRubyだと
% ruby -Ks -n -r jcode -e 'print $_.tr("A-Za-z0-9", "A-Za-z0-9")' foo.txt
でSJISテキストファイルを変換できます(EUCなら-Ke 、UTF-8なら-Kuを指定)
0293名無しさん@お腹いっぱい。
NGNGM4$L#!!0 $,>82FL91_UX $ . ! & ! 8FLN:G!G!2<, %I0251*
M4$5'1TM/3O_8_^ $$I&248 0$! $@ 2 _]L 0P (!@8'!@4(!P<'"0D(
M"@P4#0P+"PP9$A,/%!T:'QX=&AP<("0N)R B+",<'"@W*2PP,30T-!\G.3TX
M,CPN,S0R_\ "P@ #P / 0$1 /_$ !\ $% 0$! 0$! ! @,$
M!08'" D*"__$ +40 (! P,"! ,%!00$ !?0$" P $$042(3%!!A-180<B
M<10R@9&A""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#[email protected]$149'
M2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JB
MHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ
M\?+S]/7V]_CY^O_: @! 0 /P#T.;0?%=]JD=S+K%W:07&IW(FBM7"FVMEV
M?9W3<S*23:IN4J01=2C:O-=1X?2TBTGR;*]N[R"*XN(_-NY7DD#+,ZLA9_F(
M5@4!.>%')ZFQJNE6.N:7<:9J=M'<V=PFR6)^C#^8(."".00",$5Q_@GPIJ7A
MPZ(TT^I2&33)VU476H-,OVR22&3A"Q7.3/\ ,HYYR23D_P#_V5!+ 0(4!Q0
M $,>82FL91_UX $ . ! & ! !B:RYJ<&<%
E)PP 6E!)5$I014='2T].4$L%!@ ! $ 1 !0" !B
end
すいません、こういうカキコがあったのですが
これってなんですか?
0294nanasii
NGNG0295ぎこるび
NGNG本当ですね。メンテ中なのかも。
リンク先には、
ソースファイルのエンコードはEUCにして、jcode.plのtrを使いましょう
てなことが書いてあります。つまりこんな感じ。
require 'jcode.pl';
$str = "012ABC";
jcode::tr(\$str, "a-zA-Z0-9", "a-zA-Z0-9");
0296ああっ名無しさまっ
NGNG懐かしいな・・・。
でも詳しくは教えない。
乱用されかねないから・・・。
0297名無しさん@お腹いっぱい。
NGNG0298名無しさん@お腹いっぱい。
NGNG0299名無しさん@お腹いっぱい。
NGNGM4$L#!!0 $,>82FL91_UX $ . ! & ! 8FLN:G!G!2<, %I0251*
M4$5'1TM/3O_8_^ $$I&248 0$! $@ 2 _]L 0P (!@8'!@4(!P<'"0D(
M"@P4#0P+"PP9$A,/%!T:'QX=&AP<("0N)R B+",<'"@W*2PP,30T-!\G.3TX
M,CPN,S0R_\ "P@ #P / 0$1 /_$ !\ $% 0$! 0$! ! @,$
M!08'" D*"__$ +40 (! P,"! ,%!00$ !?0$" P $$042(3%!!A-180<B
M<10R@9&A""-"L<$54M'P)#-B<H()"A87&!D:)28G*"DJ-#[email protected]$149'
M2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@X2%AH>(B8J2DY25EI>8F9JB
MHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(R<K2T]35UM?8V=KAXN/DY>;GZ.GJ
M\?+S]/7V]_CY^O_: @! 0 /P#T.;0?%=]JD=S+K%W:07&IW(FBM7"FVMEV
M?9W3<S*23:IN4J01=2C:O-=1X?2TBTGR;*]N[R"*XN(_-NY7DD#+,ZLA9_F(
M5@4!.>%')ZFQJNE6.N:7<:9J=M'<V=PFR6)^C#^8(."".00",$5Q_@GPIJ7A
MPZ(TT^I2&33)VU476H-,OVR22&3A"Q7.3/\ ,HYYR23D_P#_V5!+ 0(4!Q0
M $,>82FL91_UX $ . ! & ! !B:RYJ<&<%
E)PP 6E!)5$I014='2T].4$L%!@ ! $ 1 !0" !B
end
0300お姉さん
NGNG0301名無しさん@お腹いっぱい。
NGNG0302いちろうくん
NGNGバカですうんこです逝っちゃえです。
0303たけし
NGNG0304名無しさん@お腹いっぱい。
NGNG0305お姉さん
NGNG288=289だったのか。289で解決してるのかと思ってた。
ちょっと待ってて。
0306おにいさん
NGNG0307名無しさん@お腹いっぱい。
NGNGおねいさんのほうがいいです。
0308>お姉さん
NGNG0309名無しさん@お腹いっぱい。
NGNG0310お姉さん
NGNG偏差値一番高いのは私ですけど、何か?
おにいさんも協力してくれるの?わーい。
289は頼んだよー。
0311名無しさん@お腹いっぱい。
NGNGADT (Abstract Data Type)ってなんですか?
後、ADT (Abstract Data Type)って日本語でなんて言うんですか?
0312ウンコランナー
NGNGおねいさまありがとう、まんせ〜・・
0313名無しさん@優しい人
NGNGADT
日本語でいうと総称型だよ。
C++での実装はtemplate、
Javaでいうとinterfaceか?
Cでも(void*)使えば一応書ける。
わかりやすく言うと、型を意識しないで書くデータ構造やアルゴリズムだな。
あ、おねいさまじゃなくてごめんな。(藁
0314名無しさん@お腹いっぱい。
NGNGこういうのじゃないの?
C++:
class X
{
virtual void hello( void ) = 0;
};
Java:
interface X
{
public void hello();
}
Objective-C:
@protocol X
- (void)hello;
@end
0315314
NGNG誰か教えて。
0316名無しさん@お腹いっぱい。
NGNGそのまま直訳で「抽象データ型」だよ。
例えば、中身は配列で実装されてるんだけど、init,push,popの手続き
でアクセスするようになっていれば、抽象データ型「スタック」という
わけだ。
0317名無しさん@優しい人
NGNG(おにいさんや騙りは返答不可です。無視します。)
2chパフォーマンスの技術についてです。
ギコ猫も数パターン書きました。
モナーも数パターン書きました。
「オマエモナー」のタイミングもばっちりでした。
質問系スレに対する解説も完璧でした。
2chなのに誉められました。
スレ違い/板違いも実行しました。
厨房に対する反撃も完璧でした。
痛い固定ハンも演じてみました。
むかつくスレへの荒らし強行(否コピペ)にも成功しました。
1日でスレを壊滅まで追い込みました。
理論攻め荒らしも成功しました。
多重人格レスもばらまきました。
煽動もひっそりと完了しました。
粘着系荒らしも最低限のレスで食い止めました。
「放置プレイ、開始」も皆の協力で成功しました。(かにみえたが、邪魔が入った…。)
エロ画像収集厨房に何時の間にかナニーを手伝わされてました。
あとなにか楽しいことありますか?
もしかしてわたしは2ch卒業ですか?
プライドが許さないのでいままで避けてきましたが、
あと残ってるのは2chの華、コピペorAA荒らしぐらいですか…?
5,4,3,2,1,
0318名無しさん@優しい人
NGNG背中でゴロゴロいってかわいいやつです。
やっぱりコピペ荒らしは面白くないので止めときます。
他に、これぞ2ch、っていうパフォーマンスを教えてください。
0319名無しさん@お腹いっぱい。
NGNG>他に、これぞ2ch、っていうパフォーマンスを教えてください。
コテハンで暴れた後、バスジャック。
0320311
NGNG0321おにいさん
NGNG0322307
NGNGでもおねえたんの方が好きだから…。ごめんね☆
0323名無しさん@優しい人
NGNG来ないみたいなので、今日はあきらめます。
また明日、待ってます。
0324a
NGNG0325お姉さん
NGNGプログラミング以外の質問はお断りですよ。
エサやりなさい、エサ。<猫
0326おねいさん
NGNG1に応えてほしいなら「お姉さん」にきいて下さい。>317
0327>317
NGNG新たな2chの楽しみ方が見えてきます。
お悟りが降りるまでは辛抱が大事です。
0328初心者
NGNGってどーゆー意味ですか?
.hって形で別ファイルを参照するの?
.hって、ヘッダファイルって聞いたけど、ヘッダファイルって何?
グローバル関数と、変数、と#defineの宣言のリストのこと?
コンパイル時にリンクさせた、別の.cファイル(モジュール?)
の関数って、どうやって使うの?
〜.c/関数名 ?
それとも、external 関数名 で最初に宣言?
これを.hで宣言するの?
不要?
0329名無しさん@お腹いっぱい。
NGNG大きすぎるとダメなんでしょうか?
問題なし?
全体のデータをシンプルにまとめたいけど、メモリを食うなら
躊躇うんですが………。
データ自体を保存する方法と、必要に応じた部分だけ読み込んでおく
方法ってありますか?
0330235>328
NGNGグローバル変数や関数(C++ならクラスも)の宣言を書いておきます。
コンパイル時にリンクする別の.cに含まれている関数や変数を
参照するときにはそのヘッダファイルをインクルードします。
これはあくまでも一般的な使い方であって、Cの文法的には
ヘッダファイルに何を書くかは全くの自由で特に定義はされていません。
0331名無しさん@お腹いっぱい。
NGNGイヤミで言ってるんじゃないけど
一度C言語入門みたいな本を読んだ方がいいぞ。
やすーい奴でいいから。
0332235>329
NGNG16ビットのコンパイラだとできないこともあるでしょう。
32ビットの処理系ならたぶん問題なく作れると思います。
0333名無しさん@お腹いっぱい。
NGNGint data[2000][2000] グローバル、スタティックなら可能。
スタックはヤバイのでは?(よくわからん)
int *data;
data=(int*)malloc(2000*2000*4);
free(data);
なら良い。
0334235
NGNG0335328
NGNGありがとうございます♪
この辺の関連がごちゃごちゃになってて困ってたんです。
すごく助かります。
intについてはよく分からなかったのですが、大きすぎるのは
やはり不向きでしょうか?
あと、やっぱり僕は基礎力不足ですね。
ご指導の通り、基礎から読み直してきます。
0336名無しさん@お腹いっぱい。
NGNGは
data=(int*)malloc(2000*2000*sizeof(int));
の方が良いとおもう、 またヘッダファイルに対応するのは
どっちかとゆーと.libファイルだと思う。
揚げ足取りでみたいでごめん。
0337おねいさん
NGNG配列から最大値を取り出す関数
最小値もこの応用で作ってね。
#include <limit.h>
int getmax(int data[],int count)
{
int i,max;
max=INT_MIN;
for(i=0;i<count;i++){
if(data[i]>max)max=data[i];
}
return max;
}
0338>336
NGNGには賛成。
> ヘッダファイルに対応するのはどっちかとゆーと.libファイル
だとすると.objの立場は?
ヘッダファイルに対応するのは外部関数や外部変数全てだと思う‥
0339名無しさん@お腹いっぱい。
NGNG増やせるけど、あんまりそれに頼らない方がいい。
0340超初心者
NGNGif(flag){
}
elseif(flag){
}
else{
}
0341超初心者
NGNG0342名無しさん@お腹いっぱい。
NGNG0343超初心者
NGNGどうもです。
0344名無しさん@お腹いっぱい。
NGNG.libファイルは複数の.objをマージして作ることが出来るの。
実行ファイルを作るときリンカーは.libの中から使う関数の
ある.objを選び出してくれるので、
関数毎に.cを作ってコンパイルして各.objを作って.libにまとめて
ヘッダーは.lib単位にまとめたのを作って提供するの。
0345名無しさん@優しい人
NGNG>>325
>>307
>プログラミング以外の質問はお断りですよ。
>エサやりなさい、エサ。<猫
307とおれは違うよ。
>>326
>お姉さんとおねいさんは別人です。
>1に応えてほしいなら「お姉さん」にきいて下さい。>317
もはやどっちでもいいです。
>>327
そうだねー、うん一度試してみるよ。
0346>337
NGNGint getmax(int *data,int count)
{
int i,max;
max = *data++;
for(i=1; i < count; i++){
if(*data > max)
max = *data;
data++;
}
return max;
}
0347>346
NGNG0348名無しさん@お腹いっぱい。
NGNG32bitのlongに変数を格納
それを8つの4bit値に分割し、8つのchar変数の配列の
それぞれ下位4bitに格納していくプログラム.
*/
int count;
long int i;
unsigned long bit; /* bit検査 */
unsigned char a[8] = {0,0,0,0,0,0,0,0}; /* これらの下位4bitに格納していく */
i = I;
for(bit = 1,count = 0;bit != 0;bit = (bit << 1),++count){
if(i & bit != 0)
a[count / 4] |= (1 << (count % 4));
else
continue;
}
やろうとしてもchar配列が皆同じ値になっているみたいです。
どこが間違っているのでしょうか?
お願いします。
0349名無しさん@お腹いっぱい。
NGNG日本語もプログラムもよくわかんない(;´Д`)
32bitsのlong値を4bitsずつに分割してcharの配列に代入するってことでいいの?
で、元の32bitslongの値ってどれ?
i = I; ってなに?
/4と%4はなに?
0350名無しさん@優しい人
NGNG>そんなのオプティマイザにまかせなって
可読性が落ちない範囲なら良い心がけだと思うぞ?
必ずしも良い環境で動かせるとは限らないからな。
0351名無しさん@お腹いっぱい。
NGNG原因はここだろ。
if(i & bit != 0)
0352名無しさん@お腹いっぱい。
NGNGunsigned long bit;
int i;
char a[8];
for( i = 0; i < 8; ++i ) a[i] = (bit >> (i*4)) & 0xf;
bit を 4ビットに分解して a[] に入れるならこう。
0354>346
NGNGさすがにdata+countは最適化してくれるでしょ
int getmax(int *data, int count){
int *p = data;
int ret = *p++;
for(; p < data+count; p++){
if(ret > *p) ret = *p;
}
return ret;
}
0355名無しさん@優しい人
NGNGなにがやりたいのかいまいちわからん。
が、一応想像してみた。
こういう事じゃないのか?
void bitset(unsigned char *bits, size_t i, int on) {
if (on)
bits[i >> 3] |= 1 << (i & 7);
else
bits[i >> 3] &= ~(1 << (i & 7));
}
0356348
NGNGif((i & bit) != 0)
でうまくいきました。どうもです。
>352
そういうやり方もあるのですね。
勉強になります。
0357わかりやすくしようぜ
NGNG0,8,16,24bitと
1,9,17,25bitの形にするんじゃない?
int i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 8; j++) {
if (number & 1)
a[j] |= 1 << i;
number >>= 1;
}
}
0358おじいさん
NGNGbits[i >> 3] って何ですか?使ったことないなあ。
0360354>359
NGNGマジデスカ?
組み込み系は安定性最重視って事なのかな
一応改訂版(こっそりバグ修正版)。
心もち可読性が落ちてきたような...
int getmax(int *data, int count){
int *p = data, *last=data+count;
int ret = *p++;
for(; p < last; p++){
if(ret < *p) ret = *p;
}
return ret;
}
0361名無しさん@お腹いっぱい。
NGNG例えば下のようなテーブルがある場合、
tm = [" X \n"] ++
[" X \n"] ++
["X "]
>Main putStr tm
X
X
X
このテーブルを(Int,Int,Int)のような型に変えて表示したい場合、
((x,y,z) x=列 y=行 z=もし'X'があるなら1、ないなら0)
(0,0,0),(0,1,1),(0,2,0),(0,3,0)
(1,0,0),(1,1,0),(1,2,1),(1,3,0)
(2,0,1),(2,1,0),(2,2,0),(2,3,0)
いったいどのようなファンクションを作ったらいいのでしょうか?
とりあえず頑張ってこんな↓アウトプットが出るファンクションを作ったんですが、
[[" X "],[" X "],["X "]]
後はこれをどうやってこんな↓風なアウトプットを出すのか知りたいのですが、
[[(0,0,0),(0,1,1),(0,2,0),(0,3,0)],[(1,0,0),(1,1,0),(1,2,1),(1,3,0)],[(2,0,1),(2,1,0),(2,2,0),(2,3,0)]]
どなたかご存知でしたら教えて下さい。アルゴリズムでも結構です。
0362361
NGNGtm =
[".X..\n"] ++
["..X.\n"] ++
["X... "]
>Main putStr tm
.X..
..X.
X...
0363名無しさん@優しい人
NGNGおじいさんへ
void bitset(unsigned char *bits, size_t i, int on) {
if (on)
bits[i / 8] |= 1 << (i % 8);
else
bits[i / 8] &= ~(1 << (i % 8));
}
0364名無しさん@優しい人
NGNGint bitget(unsigned char *bits, size_t i) {
return (bits && (bits[i >> 3] & (1<<(i & 7)))) ? 1 : 0;
}
0365名無しさん@優しい人
NGNGint bitget(unsigned char *bits, size_t i) {
return (bits[i >> 3] & (1<<(i & 7))) ? 1 : 0;
}
0366名無しさん@優しい人
NGNGお、何故か失敗したと思ったやつが書込まれてる。
鬱だ…
0367名無しさん@優しい人
NGNG0368名無しさん@お腹いっぱい。
NGNGあぷりけーしょんがつくりたいなー
あぷりけーしょんがつくりたいなー
あぷりけーしょんがつくりたいなー
あぷりけーしょんがつくりたいなー
0369名無しさん@優しい人
NGNG5回唱えることに意味はあるのか?
0370名無しさん@お腹いっぱい。
NGNG修行
0371名無しさん@お腹いっぱい。
NGNG0372名無しさん@お腹いっぱい。
NGNG0373おじいさん@早起き
NGNGbits[i / 8] |= 1 << (i % 8);
<<の使い方が未だにわからんのじゃが、、、
大小を比べているわけでもないしのお。
ま、きにせんでくれ。ありがたや。
0374名無しさん@お腹いっぱい。
NGNGビットシフト
0375お姉さん
NGNG0376名無しさん@お腹いっぱい。
NGNG0377VC++スレの優しい人
NGNGこのスレの優しい人とは、別人です。
まぁそれだけ・・・
0378名無しさん@お腹いっぱい。
NGNG僕はいま学生で、プログラマ目指してます。
ちょと大き目のプログラムを書いてると、
あとで「この機能を追加したい」とか、
思ったときとても苦労します。
最近しりあいになったプログラマに聞いたら、
UMLを勉強してみたら?っていわれたんですけど
やっぱりお姉さんも設計とか勉強すべきだと思いますか?
どうもUMLで絵を書いてると、頭が痛くなってコードを
さっさと書いてしまいたくなります
ちなみに知り合いのプログラマは年上(24)の女性で、
年上なのにかわいらしくて、好きになってしまいました
ところが最近知ったのですが、なんと彼女はすでに結婚していて、
子供がいるそうです
(ばつ一だそうですが)
告白するべきかどうか悩んでます
0379ミトコンドリ子
NGNGアタシはUMLとか使うべきだと思うわ。使ってるしね。
何度か苦労しているみたいだから、プログラムの規模が大きく
なるとすぐに手に負えなくなることはよくわかるでしょう?
図形的に構造を表現してゆくと、コーディングを始める前に
多くの問題に気付くわよ。
新しい言語を覚えたつもりで書いてみることね。
それから職場での不倫はオススメしないわ。オンナなんて
腐るほどいるんだからさっさと次の恋を探しなさいよ。
不倫はもうちょっと経験を積んでから、オトナのたしなみよ。
ほほほ
0380熱血!名無し先生
NGNGうおおおお!燃えているな若者!
愛とは!愛とは!愛とは奪い取るものじゃあ!
わかったか?わかったかあ!?わかったら逝け!
0381名無しさん@お腹いっぱい。
NGNGふんどし先生みたいだな(笑
このキャラで若人の深〜い悩みを
解決してやってくれ(感涙
0382名無しさん@優しい人
NGNG確かにおれとあんたは別人だが、
VC++スレ、って何処の事だ?
まあいいけど…
0383>378
NGNGえ?どうやって?
自分で考えよう
0384名無しさん@お腹いっぱい。
NGNG0385名無しさん@お腹いっぱい。
NGNGどうやってやればいいんですか?
0386お姉さん
NGNG0387お姉さん
NGNG普通に初期化するのと同じ要領ですが・・
0388名無しさん@お腹いっぱい。
NGNGhoge というクラスに i, j というメンバがあったとして、
それぞれ 10, 20 という値をセットしたいとき、
(1) class hoge::hoge() : i(10), j(20){}
(2) class hoge::hoge(){ i=10; j=20; }
(1)は「初期化」
(2)は「代入」 と言う。
メンバ変数に const な変数があったら「代入」が使えない。
そういった場合は「初期化」を用いて値をセットすべし。
詳しくは『Effective C++』第2版の12項を参照。
0389おねーさん
NGNG0390名無しさん@お腹いっぱい。
NGNGコンパイルしたら、以下のエラーが発生しました
Unsatisfied symbols:彼女(data)
*** error 1
どうやったら、正しくコンパイルできるのでしょう?
0391お姉さん
NGNGこの二つ、そういう違いがあったんだ。同じかと思ってたよ。
勉強になりました。
0392385
NGNGclass hoge::hoge() : i.a(10), i.b(20){}
ってやればいいんですね。
0393名無しさん@お腹いっぱい。
NGNGUMLを新しい言語を覚えるつもりで真面目に取り組んでみます。
彼女のことはもうちょっと冷静に考えてみます。
(ここで書くべき内容ではなかったです。すいませんでした)
アドバイス嬉しかったです。
すこし落ち着けました。
>お姉さん
どうもすいませんでした。
変なことを書いてしまいました。
昨日はいろいろあって思い詰めてしまって、
ちょっと冷静さを欠いていたみたいです。
反省しています。
0394初心者
NGNG「ax^2+bx+c=0」で、a,b,cの値を入力し、判別式を利用して、解の存在を確かめるんですが、
判別式を0より小さいか大きいかで分けなければなりません。
Cのプログラムでは、絶対値がどれくらい小さな値で0に近似されるのでしょうか?
また、ルートの出し方がわかりません。
√(b^2-4ac)の答えを出すにはどうすればいいでしょうか?
0395388
NGNGあ、ごめん、タイプミス。分かってると思うけど、
>class hoge::hoge() : i.a(10), i.b(20){}
は
>hoge::hoge() : i.a(10), i.b(20){}
だね。class はいりません。スソマンソ。
あと、構造体のメンバでポインタ関連の問題が無ければ、
typedef struct S{
int a;
int b;
}tagS;
class hoge {
public:
tagS i;
hoge(tagS argI) : i(argI){}
};
int main()
{
tagS s = {10, 20};
hoge h(s);
cout << h.i.a << " " << h.i.b << endl;
return 0;
}
としたほうが、わかりやすかもね。
あと構造体ではなくクラスを用いて、
コピーコンストラクタを作ってやるのもいいかもしれませんよ。
0396ハノイの塔
NGNG再帰関数使ってるみたいですが
どういう順番で処理してるんでしょう?
0397ミトコンドリ子
NGNGコンストラクタの初期化部分で、メンバ変数のメンバの初期化はできないんじゃ
ないかしら?
0398ミトコンドリ子
NGNG動くコードを探してきて、途中経過をプリントアウトしまくって、ながめて
ちょうだい。
それでわかんなかったら、いくら説明されてもわかんないんじゃないかしら。
がんばってね。
0399ミトコンドリ子
NGNG0400名無しさん@お腹いっぱい。
NGNG0401名無しさん@お腹いっぱい。
NGNG394の言うように0に切捨てになるのかな?
数値表現の範囲は俺の環境だと
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/float.h
に書いてる。
0402ミトコンドリ子
NGNG0への丸めは浮動小数点の規約でいろいろ決まっていて結構メンドウだったと思うわ。
ただ、浮動小数を使って計算する限り必ず演算誤差が入るので、
floatで表現できる最小値だけを考えても見積もりとしては甘くなる
場合が多いことを覚えておいてね。
とくに引き算は有効桁数が大幅に減ることがあるので(桁落ち)、
b^2-4ac > 0 じゃなくて b^2 > 4ac で判定したほうが精度は高いわよ。
(数値計算の常識,伊理正夫著,共立出版,1985,ISBN4-320-0134-3)
各組込型の表現できる最大値や計算時の丸め方法などの情報にプログラム的に
アクセスするなら 401さんの仰るfloat.hや、C++ならstd::numelic_limits<T>
を使うといいわよ。
0403名無しさん@お腹いっぱい。
NGNG>402
を見てて思ったんだが...
a, b, cは整数なのか?
整数ならばb^2-4acも整数なので浮動小数点の丸め誤差はなくなる
>floatで表現できる最小値
普通は浮動小数点を使うならdoubleじゃないか?
0404ミトコンドリ子
NGNG>普通は浮動小数点を使うならdoubleじゃないか?
仰るとおり。いまdoubleを使いたくない環境で作業しているので、ついクセで...
鬱ね氏ぬわ。
#係数を整数にするなら、オーバーフローに気を付けてね。
0405名無しさん@お腹いっぱい。
NGNG0406にょだ
NGNGプログラムをずっとじっこうしてると実行がおそくなるんですよね
アイドルがあるのに。
スケジューリングってどういうふうになってるのかなぁ〜
めっちゃお馬鹿なしつもんでごめんちゃい
0407>406
NGNG0408名無しさん@お腹いっぱい。
NGNG見るって?
0409名無しさん@お腹いっぱい。
NGNG0410>405
NGNGもう少し分かりやすく話してくれないと誰も答えられないと思います。
0411お姉さん
NGNGlisp詳しい人いますか?
0412>お姉さん
NGNGプログラマ板:lisp
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=963134110
common lispのお勧め参考書を教えてください
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965879532
0413405
NGNGどうすれば見ることが出来るのでしょうか?
0414名無しさん@お腹いっぱい。
NGNG無理です。
逆アセンブラ使えばアセンブラレベルでは見ることが可能。
Visual C++で読み込めば同様にアセンブラでステップ実行などが出来る。
0415385
NGNG遅くなりました、
タイプミスは気づきませんでした(^^;;;;;;;ホソマ スソマンソ。
hogeクラスメンバの初期化ですが、その方法はよさそーです!
ありがとうございました!
0416にょだ
NGNGman niceって優先度をかえたいんじゃなくて
スケジューリングのアルゴリズムをしりたかったんです
言い方がたりませんでしたね。
なんか古い実装のままの奴だとユーザの入力がないと
実行優先度がCPU時間に反比例しておちていくってのを
聞いたんで〜〜ほんとかな?って
0417にょだ
NGNGそれがいやならディスアセンブラ
0418優しい名無しさん
NGNGGYAHAHHAHA!!
http://www.geocities.co.jp/WallStreet/9044/sakurakai.html
BBS
http://sakurakai.virtualave.net/gunjin3/yybbs.cgi
l
0419名無しさん@お腹いっぱい。
NGNGバイナリファイルではソースは見れない。
0420名無しちゃん@背中おっぱい。
NGNG0421名無しさん@お腹いっぱい。
NGNGそのexeを作ったとこの開発チームに入れば見れる
0422名無しさん@お腹いっぱい。
NGNG検索しなさい。
0423お姉さん
NGNGありがとうございました。lispのスレッドがあったんですね。
早速行ってみます!
0425名無しさん@お腹いっぱい。
NGNGさいころの出た目を数えるプログラムです。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
int saikoro();
int main()
{
int s1,i,no;
int kaisu[6];
for(i = 0; i <= 5; i++){
kaisu[i] = 0;
}
printf("何回振る?\n");
scanf("%d",&no);
srand(time(NULL));
for(i = 1; i <= no; i++){
s1 = saikoro();
kaisu[s1-1] += 1;
}
for(i = 1; i <= 6; i++){
printf("%2d= %5d\n",i,kaisu[i-1]);
}
(void) getch();
return 0;
}
int saikoro()
{
return rand() % 6 + 1;
}
僕はs1 = saikoro();の
s1を使って、a,b,c,の初期化0でswitch(s1)
case 1:a++
case 2:b++
case 3:c++・・・
最後にprintf("%d = %d\n",i,a);・・・というふうにしたんですが、
これのkaisu[s1-1] += 1の意味がわかりません。kaisu[s1-1]の
[s1-1]ってなぜ1引くんですか?それと+=1はkaisu[s1-1] =kaisu[s1-1] + 1;ということは
わかるんですが、どうして1足すんですか。教えておね〜さ〜ん。マジで。
0426名無しさん@お腹いっぱい。
NGNGさいころの出目が1〜6でkaisuは0〜5までだから
>どうして1足すんですか
さいころの出た目を数えるプログラムだから
>kaisu[s1-1] += 1;
のかわりに
switch(s1) {
case 1:kaisu[0]++;break;
case 2:kaisu[1]++;break;
case 3:kaisu[2]++;break;
case 4:kaisu[3]++;break;
case 5:kaisu[4]++;break;
case 6:kaisu[5]++;break;
}
でも間違ってはいないが冗長だ
0427名無しさん@お腹いっぱい。
NGNG0428お姉さん
NGNG> kaisu[s1-1]の[s1-1]ってなぜ1引くんですか?
> それと+=1はkaisu[s1-1] =kaisu[s1-1] + 1;
> ということは わかるんですが、どうして1足すんですか。
それはね、コーディングした人が素人だからだわ。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#define saikoro() (rand() % 6)
int main()
{
int i, count;
int hindo[] = {0, 0, 0, 0, 0, 0};
printf("何回振る?\n");
scanf("%d", &count); /*あまり勧められないわ*/
srand(time(NULL));
for(i = 0; i < count; i++)
hindo[saikoro()]++;
for (i = 0; i < 6; i++)
printf("%2d = %5d\n", i + 1, hindo[i]);
return 0;
}
0429JSDK2.0〜
NGNGJSDK2.0〜はどこでDL出来るんでしょうか?
SUNのページに行っても無いのですが。。。
どうかこの3日間探し回っている厨房にお教えください。
0430JSDK2.0〜
NGNG0431お姉さん
NGNGまあいっか。
0432425
NGNGscanfって、あまり使われないという話を聞くんですが何でですか。
ところで、今ポインタをやってるんですが、これってよく使いますか?
関数へ配列渡す時とか、戻り値が1つじゃない時くらいしか使い道がないんじゃないか
って思いますし、非常に難しいです。出来ればつかいたくないっす。
**ptr ポインタのポインタなんてまるで解からないよ〜。
int *ptrの読み方は「int ポインタptr」って読むんですか。*は何て読むの?
0433初心者ですいません
NGNG壁は*、床は・、通った跡にXを表示し、一歩進むたびに迷路を再表示するプログラムなんですけど、
どうしたらいいのかさっぱりなんです。
ひとつ隣に移動したり、通った跡にXを表示させるにはどうしたらいいでしょうか。
どなたか教えてください。よろしくお願いします。
0434>433
NGNG0435オネーサン
NGNG>scanfって、あまり使われないという話を聞くんですが何でですか。
前回作成したプログラムの「何回振る?」の後に
0〜9以外の文字を入力してみてください。
# scanfの後に取得した回数を表示して見ると良いかもしれません。
>ところで、今ポインタをやってるんですが、これってよく使いますか?
>関数へ配列渡す時とか、戻り値が1つじゃない時くらいしか使い道がないんじゃないか
>って思いますし、
代表的な使われ方は上記の通りです。
Cでは上記のような場合、ポインタを使用しないと実現しにくいです
グローバル変数を使えば可能ですが、それは
不必要にgoto文を使用することと同じくらい好ましくありません。
>非常に難しいです。出来ればつかいたくないっす。
確かにC言語でポインタが理解できなくて挫折する人が多いという話は聞きます。
しかし、Cはポインタをよく使う言語でありポインタからは逃れられません。
また、Javaなどの言語もポインタは隠蔽されているだけであり、
ポインタを知ることにより、Javaなどの言語も深く理解できると信じています。
逃れられない以上積極的に学ぶのが上達の早道ではないでしょうか?
私もできる限り応援したいと思います
>int *ptrの読み方は「int ポインタptr」って読むんですか。*は何て読むの?
「ポインタ」、「アスター」、「スター」ですね
私は「アスター」と呼びます
0436名無しさん@お腹いっぱい。
NGNG例: int * = いんとほげ
0437どっかにあった気がするけど
NGNG0438名無し様@ハァハァ
NGNG勉強(リファレソス?)ぺぇじとか。
イッテヨシ?(´Д`;)
0439姐さん
NGNGそれ以前にアンタ何作りたいのさ?
0440おじいさん
NGNGSendMessage( hWndTarget,WM_KEYDOWN,VK_F1,0);
しかし、CtrlキーShiftキーAltキーができないのじゃよ・・
keybd_event(VK_CONTROL,0,0,0);
keybd_event(inputkey,0,0,0);
keybd_event(inputkey,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0);
みたくできる方法はdoするの?
0441小学3年生
NGNG0442名無しさん@お腹いっぱい。
NGNG>>83
0443425
NGNGやっぱりポインタは大事ですか。非常にとっても難しいけれどがんばります。
恐らく今度は構造体で質問する予定です。これも難しいですね。
ところで、windowsのプログラムって覚えるのに時間掛かりますか。
もうすぐCが一通り終わるし、ゲーム作ると覚えが早いと言っていたので、
テトリスとかオセロとか作ってみたいんですが。
0444hash
NGNGどうしたらいいですか?おねえさん、お願い!
/*オープンアドレス法*/
#include <stdio.h>
#include <string.h>
#define Tablesize 50
#define MEIBO "namefile"
FILE *fp;
int hash(char *);
int rehash(int);
struct Mtable{
char name[20];
int fulg;
}dat[Tablesize];
void main(void)
{
int h,i,last;
char a[20];
fp=fopen(MEIBO,"r");
while(fscanf(fp,"%s",a)!=EOF){
h=hash(a);
i=h;
last=(i+(Tablesize-1))%Tablesize;
while(dat[i].fulg==1&&i!=last)
i=rehash;
if(i!=last){
strcpy(dat[i].name,a);
dat[i].fulg=1;
}
else
printf("%s \n",a);
}
for(i=0;i<Tablesize;i++){
printf("%d %d\n",i,dat[i].name);
}
for(;;){
scanf("%d",a);
if(a[0]=='0')break;
h=hash(a);
i=h;
last=(i+(Tablesize-1))%Tablesize;
while(strcmp(a,dat[i].name)!=0&&i!=last)
i=rehash(i);
if(i!=last)
printf("%d%20s\n",i,dat[i].name);
else
printf("%20s\n",a);
}
}
int hash(char *s)
{
int n,i,sum=0;
n=strlen(s);
for(i=0;i<0;i++){
sum+=s[i];
}
return (sum%Tablesize);
}
int rehash(int h)
{
return (h+1)%Tablesize;
}
0445お姉さん
NGNG最初のアはエとアの中間で発音します。
0446お姉さん
NGNG0447お姉さん
NGNGchar meiro[12][12]
一つ右に移動 meiro[i][j++]='X';/*現在地meiro[i][j]とする*/
左 meiro[i][j--]='X';
上 meiro[i--][j]='X';
下 meiro[i++][j]='X';
一つ移動する度に更新された迷路全体をプリントするのですか?
だったら普通にループで出来ますよお
0448名無しさん@お腹いっぱい。
NGNGSCANという関数を用意する。調査位置をX,Yとする
1)4方向を調べて、空白が4の数を調べ SPC_COUNTに代入
2)SPC_COUNT==1なら空白の方向にX,Yを更新
3)SPC_COUNT>1ならすべての空白の位置に移動してみてはSCAN(つまり自分)を呼び出す
4)SPC_COUNT==0ならRETURNする(行き止まりまたは到着)
0449名無しさん@お腹いっぱい。
NGNGほげ、最高!
俺もほげと呼びます。
すばらしい名称ですね。
0450** ほげほげ
NGNG複数のウィンドウプロシージャがあるにもかかわらず
WinMainではメインのウィンドウプロシージャにしかメッセージを
ディスパッチしていません。子ウィンドウにはどのようにして
メッセージが渡されるのですか?
またメッセージキューには子ウィンドウとメインのウィンドウのメッセージ
がごちゃまぜになっているのですか?
0451名無しさん@お腹いっぱい。
NGNGVBやExcelで
1.5 - 1.0 - 0.5 = 0 は ture
なのですが、
1.6 - 1.0 - 0.6 = 0 は false
になるのはなぜですか?
本当に初心者の質問で申し訳ありませんが
どうかご教授願えればと思います。
正直困っていますので、どうかよろしくお願いします。
0452>451
NGNG0453名無しさん@お腹いっぱい。
NGNG0454451
NGNG早速のレスありがとうございます。
453さんのおっしゃるとおり、int()をつかったり
型の宣言をすれば問題無いと、解決策は見つかったのですが
なぜ、バリアント型だと上手くいかないかの理由がわかりません。
しかも、1.5 - 1.0 - 0.5 = 0 は ture になるのに・・・・。
どうか理由がお分かりでしたら、教えてください。
お願いします。
0455名無しさん@お腹いっぱい。
NGNGhttp://www.alpha-net.ad.jp/users2/ei9711/vbkouza/kouza04.html
0456>454
NGNG0.5000は2進数で書けば0.10000000...
0.6000は2進数で書けば0.10011001...
つまり無限少数になりますね
0457名無しさん@お腹いっぱい。
NGNG#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class strtype
{
char *p;
int len;
public:
strtype( char *ptr );
~strtype() { delete [] p; }
friend ostream &operator << ( ostream &stream, strtype ob );
};
strtype::strtype( char *ptr )
{
len = strlen( ptr ) + 1;
p = new char [ len ];
if( !p ) exit( 1 );
strcpy( p, ptr );
}
ostream &operator << ( ostream &stream, strtype &ob )
{
stream << ob.p;
return stream;
}
int main()
{
strtype ob_1( "hello!!" ), ob_2( "good morning!!" );
cout << ob_1 << endl << ob_2 << endl;
return 0;
}
0458名無しさん@お腹いっぱい。
NGNGフレンドの宣言の2つ目の因数の参照の&はついてる物として下さい
0459名無しさん@お腹いっぱい。
NGNG:\Windows\デスクトップ\プログラム\新しいフォルダ\K2.cpp(26) : error C2248: 'p' : private メンバ (クラス 'strtype' で宣言されている)にアクセスできません。
C:\Windows\デスクトップ\プログラム\新しいフォルダ\K2.cpp(8) : 'p' の宣言を確認してください。
C:\Windows\デスクトップ\プログラム\新しいフォルダ\K2.cpp(34) : error C2593: 'operator <<' があいまいです。
cl.exe の実行エラー
0460名無しさん様
NGNG0461名無しさん@お腹いっぱい。
NGNG0462じろうくん
NGNGお姉さんもこれじゃちょっとこまるかも。
0463名無しさん@お腹いっぱい。
NGNG演算子のオーバーライドも使ったこと無いなー
はい次の人
0464迷路の質問をしたものです
NGNGどこが違うのかまったくわからないのですが、移動ができないんです。(T_T)
添削お願いします。
#include <stdio.h>
main()
{
int a;
int i, j;
char *p;
char maze[12][12] = {
{'*','*','*','*','*','*','*','*','*','*','*','*'},
{'S','.','.','.','.','.','.','*','.','.','.','*'},
{'*','*','.','*','.','*','.','.','.','*','.','*'},
{'*','*','.','*','.','*','*','*','*','*','.','*'},
{'*','*','.','*','*','.','.','.','.','*','.','*'},
{'*','.','.','.','*','.','*','*','.','*','.','*'},
{'*','*','*','.','*','.','*','*','.','*','*','*'},
{'*','.','*','.','.','.','*','.','.','*','.','E'},
{'*','.','.','.','*','.','*','.','*','*','.','*'},
{'*','*','*','*','*','.','*','.','*','*','.','*'},
{'*','.','.','.','.','.','*','.','.','.','.','*'},
{'*','*','*','*','*','*','*','*','*','*','*','*'}
};
for(i=0; i<12; i++)
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
p = &maze[1][0];
*p = 'X';
while(1) {
printf("Which direction do you want to go?\n");
printf("up :1\ndown :2\nleft :3\nright:4\n");
scanf("%d",&a);
switch(a) {
case 1: /*up*/
p = &maze[i--][j];
*p ='X';
for(i=0; i<12; i++) {
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
}
break;
case 2: /*down*/
p = &maze[i++][j];
*p = 'X';
for(i=0; i<12; i++) {
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
}
break;
case 3: /*left*/
p = &maze[i][j--];
*p = 'X';
for(i=0; i<12; i++) {
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
}
break;
case 4: /*right*/
p = &maze[i][j++];
*p = 'X';
for(i=0; i<12; i++) {
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
}
break;
default:
printf("Input again\n");
break;
}
}
}
0465451
NGNGレスどうもありがとうございました。
おかげさまで、どうにか理解することができました。
本当にこんなくだらない質問に答えていただいて
感謝しております。
また、何かあったときはどうかよろしくお願いします。
452さん、453さん、455さん、456さん、
ありがとうございました。
0466464です
NGNG0467お姉さん
NGNG質問がたくさんで対応しきれないよう
みんな出てきて、いちろうくん、じろうくん、おじいさん、おねいさん、
おにいさん、姐さん、家族のみんな。
0468赤ちゃん
NGNGコンパイラ通って実行できたでちゅ。
L:\src\CPP_SOURCE\temp>bcc32 friend.cpp
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
friend.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
L:\src\CPP_SOURCE\temp>friend
hello!!
good morning!!
使ってるコンパイラとバージョンを教えて欲しいでちゅ。
0469>464
NGNGp = &maze[i--][j]; ここのi, jがループ毎に初期化されてまってます。
別の名前の変数を宣言して、ループで初期化されへんようにしてね。
他のcaseも同様に。
*p ='X';
for(i=0; i<12; i++) {
for(j=0; j<12; j++) {
printf("%c ",maze[i][j]);
if(j==11)
printf("\n");
}
}
0470>>464
NGNG壁チェックもしてます
#include <stdio.h>
#define SIZE 12
char maze[SIZE][SIZE] = {
{'*','*','*','*','*','*','*','*','*','*','*','*'},
{'S','.','.','.','.','.','.','*','.','.','.','*'},
{'*','*','.','*','.','*','.','.','.','*','.','*'},
{'*','*','.','*','.','*','*','*','*','*','.','*'},
{'*','*','.','*','*','.','.','.','.','*','.','*'},
{'*','.','.','.','*','.','*','*','.','*','.','*'},
{'*','*','*','.','*','.','*','*','.','*','*','*'},
{'*','.','*','.','.','.','*','.','.','*','.','E'},
{'*','.','.','.','*','.','*','.','*','*','.','*'},
{'*','*','*','*','*','.','*','.','*','*','.','*'},
{'*','.','.','.','.','.','*','.','.','.','.','*'},
{'*','*','*','*','*','*','*','*','*','*','*','*'}
};
int a;
int i, j;
char *p, *p_ch;
void show()
{
for( i = 0; i < SIZE; i++ ) {
for( j = 0; j < SIZE; j++ ) {
if( &maze[ i ][ j ] == p ) printf( "X " );
else printf( "%c ", maze[ i ][ j ] );
}printf( "\n" );
}
}
void main()
{
p = p_ch = &maze[ 1 ][ 0 ];
while( 1 ) {
show();
printf("Which direction do you want to go?\n");
printf("up :1\ndown :2\nleft :3\nright:4\n");
scanf("%d",&a);
switch( a ) {
case 1: p_ch -= SIZE;
break;
case 2: p_ch += SIZE;
break;
case 3: p_ch--;
break;
case 4: p_ch++;
break;
}
if( *p_ch == '*' ) {
p_ch = p;
puts( "input ererr!!" );
continue;
}
p = p_ch;
if( &maze[ 7 ][ 11 ] == p ) {
puts( "END" );
break;
}
}
}
0471名無しさん@お腹いっぱい。
NGNG_(._.)_ _(._.)_ _(._.)_ _(._.)_ _(._.)_ _(._.)_ _(._.)_
0472名無しさん@お腹いっぱい。
NGNGコンパイラはVC++6.0のすたんだ−とです
0473472
NGNG0474赤ちゃん
NGNGhttp://support.microsoft.com/support/kb/articles/Q192/5/39.asp
コンパイラのバグのようでちゅ。
サービスパックをあてればいいみたいっちゅ。
vcpp-ML の 11/16 [vcpp 00048499] から、苦肉の策を引用っちゅ。
>解決策は2つあります。
>1.<iostream>を<iostream.h>にする。
>2.using namespace std;を削除して、std内にあるもの(ostream&や
> cout、endl等)に個別にstd::をつけていく。
ところで vcpp に投稿したのはもしかしてキミでちゅか?
0475472
NGNGいいえ僕じゃないです
それにしても457のそ−すはみごとにそのバグにはまってますね
奇遇です
0476名無しさん@お腹いっぱい。
NGNGy^25=y*y^24=y*(((y^2)^2)^2)^3
こんなふーに冪乗の計算回数をなるべく節約して
冪乗の計算をして来いと言われました。
このプログラムを改造してください。再帰呼出を使ってくださっても
結構です。やる暇が無いので宜しくお願いします。
メアドにくださっても結構です。
#include <stdio.h>
main()
{
double x;
int n;
double beki(double x,int n);
while(1){
scanf("%lf %d",&x,&n);
if(x==0 && n==0){
break;
}
printf("%g^%d=%.15g\n",x,n,beki(x,n) );
}
}
double beki(double x,int n)
{
int i;
double s,t;
s=x;
t=1;
if(n>0){
for(i=1;i<n;i++){
s=s*x;
}
return s;
}else if(n==0){
return 1;
}else {
for(i=1;i<-n+1;i++){
t=t/x;
}
return t;
}
}
0477名無しさん@お腹いっぱい。
NGNGx^50=(x^2)^25
y^25=y*y^24=y*(((y^2)^2)^2)^3
こんなふーに冪乗の計算回数をなるべく節約して
冪乗の計算をして来いと言われました。
このプログラムを改造してください。再帰呼出を使ってくださっても
結構です。やる暇が無いので宜しくお願いします。
メアドにくださっても結構です。
#include <stdio.h>
main()
{
double x;
int n;
double beki(double x,int n);
while(1){
scanf("%lf %d",&x,&n);
if(x==0 && n==0){
break;
}
printf("%g^%d=%.15g\n",x,n,beki(x,n) );
}
}
double beki(double x,int n)
{
int i;
double s,t;
s=x;
t=1;
if(n>0){
for(i=1;i<n;i++){
s=s*x;
}
return s;
}else if(n==0){
return 1;
}else {
for(i=1;i<-n+1;i++){
t=t/x;
}
return t;
}
}
0478名無しのエリー
NGNGひとつツッコミいれると、そんなの展開するのダルイよ。
基本的に意味無いし。
素因数分解しないと最適化できないけど素因数分解なんてするくらいなら
素直に pow 関数でも使った方が速いよ!
0479名無しさん@お腹いっぱい。
NGNG^はビット演算子ざんしょ?
0480名無しさん@お腹いっぱい。
NGNG>>477のソースがCだからそういうツッコミもアリだと思うけど・・・(ニコッ
0481名無しさん@お腹いっぱい。
NGNG0482迷路の質問をした者です
NGNG教えてくれてどうもありがとうございました。
なんとか完成させることができました。
やっぱりポインターって難しいですね。
頭がパンクするかと思いました。
また質問することがあると思いますが、
そのときもまたよろしくお願いします。
おやすみなさい。m(_ _)mzzzzz
0483名無しさん@お腹いっぱい。
NGNGつーか、この技法はセオリー。宿題はきれいに解こう。
この技法が単純に n 回乗算するよりも計算量以外に優れている点を
考察してレポートに書くと評価があがるかも。
学生時代を思い出すよ。
double ipow(double x, int n)
{
int n2;
double r;
for( n2 = abs(n), r = 1; n2; n2 >>= 1 ) {
if( n2 & 1 ) r *= x;
x *= x;
}
if( n >= 0 ) return r; else return 1 / r;
}
0484悩めるプログラマ
NGNG0485名無しさん@お腹いっぱい。
NGNG0486名無しさん@お腹いっぱい。
NGNG0487山有り谷あり
NGNGあとスリーサイズと、初体験の年齢
0488岡あり谷あり
NGNGプロですか?アマチュアですか?ぼくも、プロ・グラマーになりたい
0489おねいさん
NGNGたしかBSD-Cだったわ‥♪
0490おねいさん、改め、オバサン?
NGNG0491おねいさん
NGNG0492>483
NGNG0493厨房アマチュアグラマ
NGNGLINUXでのプログラミングの解説サイトあったらおしえてください。
0494名無しさん@お腹いっぱい。
NGNG(゚Д゚ ) < >> 一発殺ラセロー
⊂⊂\──────
\ 〜 ────
<- し し ─────
0495おじいさん
NGNGOptimizing C-86 とか HiTech-C とか Power-C というのも
あったのう。
わしは Lattice C 2.11 が C 初体験じゃった。
0496名無しさん@お腹いっぱい。
NGNG0497おじさん
NGNG0498名無しさん@お腹いっぱい。
NGNGif(n2&1)
477です。調べてみたのですが483さんの
abs(n)というのがよくわかりません。
n2&1というのは論理積というものでしょうか
n2が1なら真になるということでしょうか
0499498
NGNGn2が0以外なら
0500SAGE
NGNGn2が奇数なら
0501お姉さん
NGNG花も恥じらう45歳。
0502名無しさん@お腹いっぱい。
NGNGそりゃ花じゃなくても恥ずかしい年だな。
妄想してる奴が可哀相だから、そんな数字書くな。
0503名無しさん@お腹いっぱい。
NGNGですが、delete abc に対応する C言語の命令はなんなのでしょうか。
0504>498
NGNG論理演算子の論理積は&&ですのでお間違えなきよう。
0505名無しさん@お腹いっぱい。
NGNG45なんてうそにきまってるでしょ.本当は20歳!(hexで)
0506お姉さん
NGNG>>502
冗談です。本当はそれマイナス20歳です。
0507お姉さん
NGNG32なんて行ってませんよお!
0508おねいさん
NGNGCのfreeとC++のdeleteは同等のものではないの。
C++でもmallocなんかで確保したメモリはfreeで開放します。
deleteはnewで確保したメモリに使います。
new〜[]で確保したメモリはdelete[]で開放。そゆこと。
0509お姉さん
NGNG0511名無しさん@お腹いっぱい。
NGNGnew==malloc+コンストラクタ起動
delete==デストラクタ起動+free
です。
deleteとdelete[]の違いは、そのオブジェクトをnewしたのが
単体か配列かによって。
0512お姉さん
NGNG0513511
NGNG実装はどうなってるのか知らんよ。
0514511
NGNGイメージがそうであるってことで、
細かい事はもうちょっと違うかも。
そのへんよう知らんので、突っ込み勘弁。
0515おねいさん
NGNGfreeとデストラクタを明示的によんでも、正常にdeleteできる
保証はぜんぜんありません。
特にnewは演算子オーバーロードされて期待とは全く違う動作に
なっていることもあるのでご用心あれ。
0516498
NGNGどなたか完璧に説明してくれませんか。
ちなみに配列と関数の書き方しかしりません。
だれかおせーて
0517名無しさん@お腹いっぱい。
NGNGあしたまでなんだよー
あしたまでなんだよー
あしたまでなんだよー
0518名無しさん@お腹いっぱい。
NGNG(゚Д゚ ) < >> 一発殺ラセロー
⊂⊂\──────
\ 〜 ────
<= し し ─────
0519おねいさん
NGNG504の回答じゃ、わからなかったのかな?
abs(n)は、nの絶対値。
if(n2&1)は、n2の最下位ビットが1なら真です。
0520おねいさん
NGNG0521483
NGNGまず x の10乗と−10乗を求めることを考えよう。
−10乗の場合 は乗数の性質から 1 / (x の10乗)で求められる。
これから、負の乗数の場合も正の乗数を求めることに置きかえることができる。->abs
で 10 は二進数であらわすと 1010 。 1*8 + 0*4 + 1*2 + 0*1 = 10
これはべき乗を最短の形で表しているよね。
それぞれのビットが求める答えになっているでしょう。
n の10乗 = 8乗×2乗
これから1、2、4、8乗を求めていき、n2 のビットが立っているところの
乗算値を答えの値にかけていけば良い。
for の条件式が n2 なのは乗数がオール0のとき終了することを意味し、
ループの中では n2 の最下位ビットを & 演算で調べ、1なら答えに掛ける。
次の演算のために x = x * x で x の2乗を求めて、
次のビットに着目するため n2 を1ビットシフトする。
最後に n の正負を調べ、負なら 1 / r を返す。
0522名無しさん@お腹いっぱい。
NGNGVisualC++のソースコードデバッガでトレースすると
int* ptr = new int[100];
に対して
delete ptr; も delete [] ptr;
も同じ関数を(中身はfreeだけ)呼んでるので、
本当に違いがあるのかなと疑問に思ったのでした。
それともこれはオブジェクトが単純型だからなのかな?
0523名無しさん@お腹いっぱい。
NGNGdelete[]だと、配列に入ってるオブジェクト全部にデストラクタ
起動していて、deleteだと先頭だけになっちゃうとか。
0524名無しさん@お腹いっぱい。
NGNGどちらを使っても同じと考えていいということでしょうか。
0525名無しさん@お腹いっぱい。
NGNGあなたの使っているコンパイラのあなたの使っているバージョンの
あなたが使っている現在のそのライブラリなどを含めた環境だけで
たまたまそうなっていたと考えるのが安全です。
0526名無しさん@お腹いっぱい。
NGNGC++の言語仕様に入っているの?
0527>483さま
NGNGプログラマめざしてがんばります。感謝です。
0528>483
NGNG0529名無しさん@お腹いっぱい。
NGNG複数のWindowを作成するにはどうすれば良いかな?
複数のWindowというのは、親Window内に子ウィンドウを作ったり
ダイアログボックス(モーダル・モードレス)を作ったりという
意味じゃなくて、親Windowと同等のWindowを複数作りたいんだけど。
子ウィンドウだと、親ウィンドウ内でしか表示できないし、ダイアログだと
制限あるし、困ってます。
0530名無しさん@お腹いっぱい。
NGNGSDKで組むんだったらエキストラバイトの使い方くらい
しっとるんやろな?ドアホ
0531529
NGNGエキストラバイトって、初めて聞きました。(w
このスレの1には初心者って書いてあったので
この程度なら良いかなと思ったんだけど、初心者過ぎたかな。
インスタンスハンドルに何を設定すれば良いのか、分からないのです。
ウィンドウハンドルは、親とは別のものを定義していますが
インスタンスハンドルは、どのように取得すれば良いですか?
現在は
HINSTANCE hInstance;
hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
のようにしてますが、これじゃ親と同じですな。(w;
+1とかしてみても駄目だし。
インスタンスハンドルは、どのように取得したら良いですかね?
0532名無しさん@お腹いっぱい。
NGNGCreateWindowに呉れてやるhInstanceのことを云っているのなら、
これはApplicationやDLLなどのモジュールのインスタンスハンドル
なのだから、親と同じなのは当然ぢゃないか。
面倒ならグローバル変数にでも保存しておき給え。
0533529
NGNGあら、そうなのですか。
親と同じインスタンスハンドルを渡してるんですが。
では、ウインドウが作成できない理由は他にあるのか・・・。
とりあえず、がんばってみます。
ありがとう。
0534りょう
NGNGヒントを下さい。お願いします。
0535名無しさん@お腹いっぱい。
NGNGとりあえずTCP/IPの情報調べて、SMTPとPOPだけ覚えなされ。
ソケットつかってアプリ層だけ作るならたいしたことじゃない。
0536名無しさん@お腹いっぱい。
NGNGSMTPのテスト送信は気をつけてね。
0537お姉さん
NGNGなんか初心者向けの質問が少ないねえ・・こたえらんないよ。
0538名無しさん@お腹いっぱい。
NGNGという事は、みんなが努力しているうちにお姉さんよりレベルが上がって、
『お姉さんが、この板のレベルよりも低いレベル』になったの?
0539529
NGNG複数Windowの表示出来ました。
532さんの言う通り、インスタンスハンドルは同じもので出来ました。
530、532の両氏、ご助言ありがとう。
ただ、未だに「エキストラバイト」ってわからないんですが。(w
複数の検索エンジンにかけても、それらしき結果が見当たらないのですが。
マジで、「エキストラバイト」ってなんですか?
0540名無しさんi486
NGNGギコ猫 > お姉さん
わかったか?
0541名無しさん@お腹いっぱい。
NGNGこのスレッドの最初の方を見ましょう。
元々、お姉さんはレベルが低いのです。
0542538
NGNG0543名無しさん@お腹いっぱい。
NGNGもっとよく調べんかボケ!おまえのように一つのクラス名から
たくさんのウインドウを開くときに必要な技術だアホ!
CMyWindow *object = new CMyWindow;
::SetWindowLong(hWnd, GWL_USERDATA, (LONG) object);
hWndにobjectを結び付けておけば、必要なときに
object = (CMyWindow *) ::GetWindowLong(hWnd, GWL_USERDATA);
でhWndに関連する情報がとってこれるだろアホ。。。え?まだわからん
ってか!おまえどうかしてるぞ!!
char window_data[1024];
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg, WPARAM wPrm, LPARAM lPrm)
{
if (uMsg == WM_KEY)
window_data[count++] = wPrm;
....
とかやって、同じウインドウを何枚も開くとwindow_dataがどうなるかわ
かるだろアホ!だから、
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg, WPARAM wPrm, LPARAM lPrm)
{
CMyWindow *object;
object = (CMyWindow *) ::GetWindowLong(hWnd, GWL_USERDATA);
if (uMsg == WM_KEY)
object->window_data[object->count++] = wPrm;
....
こうやって、エキストラバイトを使うんだろが!ボケナス!こんだけ教えてやりゃー
ウインドウ・クラスライブラリーがスクラッチできるからやってみろやオオボケ野朗!
(素直にMFCでも使いやがれボケ!じゃナイト新しい機能が使えないぞドアホ!)
0544名無しさん@お腹いっぱい。
NGNGもう5年くらいWinDo$は、やってねぇーんだよ!
0545名無しさん@お腹いっぱい。
NGNG0546名無しさん@お腹いっぱい。
NGNGコテハンは「おとうさん」あたりがしっくりきそう
0547名無しさん@お腹いっぱい。
NGNG0548529
NGNGああ、何か分かったような、分からないような…。
勉強します。
Windowを沢山作れたけど、マルチスレッドとかよく分からないから
それぞれのWindowでの処理が上手くいかなくて、結局また悩んでます。
ダメジャン>俺。
っていうか、詳しいResありがとう。感謝します。
しかし、お姉さんからは難しいって言われるし、一方では
ボケって言われるし、板ばさみだな。(w;
この板のレベルが掴めない。
0549名無しさん@お腹いっぱい。
NGNG0550名無しさん@お腹いっぱい。
NGNG短気そうだからHNは『カルシウム不足』で十分だろう、彼には。
0551名無しさん@お腹いっぱい。
NGNGアプリケーションとかゲームとか作りたいんですが、
visual C++とか覚えないと作れないんでしょうか。
0552名無しさん@お腹いっぱい。
NGNGホントにC覚えた?
0553>552
NGNG完璧だ!
失礼な事聞くんじゃねえ!
0554<553
NGNG0555名無しさん@お腹いっぱい。
NGNG0556お姉さん
NGNGそういえばこのごろ努力を怠っている気がするなあ。
>>540
うん、ギコ猫のがよく知ってるよ。
>>541
だからあここはあ初心者の館なの。わかった?よって私もそれほどレベルは
高くありません!
0557りょう
NGNGアドバイスありがとうございます。早速、SMTPとPOPについて勉強はじめたいと思います。
どこか参考になるような、サイトとかありますか??
私の理想??っていうのも変ですが、老人や子供(小学生)が簡単に扱えるような
構成のメーラーを作るっていうのが目標なんです。
頑張ってみます。
0558じろうくん
NGNGもう、しょうがないなあ、お姉さん。
>>557
SMTPなら、こことか参考にしてみるといいと思うよ。
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc821j.html
0559お姉さん
NGNGこれからも頼むよ!
0560いちろうくん
NGNG0561名無しさん@お腹いっぱい。
NGNGやめたほうがいいぞ。
0562名無しさん@お腹いっぱい。
NGNG0563名無しさん@お腹いっぱい。
NGNG単発の初心者質問に答えてやってくれ(;´Д`)
0564お姉さん
NGNG0565初心者
NGNG世界にいっちゃてるみたいで。。。。。
なんかいい方法ありませんか?
0566初心者
NGNG0567初心者
NGNG0568初心者
NGNG0569初心者
NGNG0570名無しさん@お腹いっぱい。
NGNG0571名無しさん@お腹いっぱい。
NGNG568>5年後に分かります
599>英語です
0572名無しさん@お腹いっぱい。
NGNG0573名無しさん@お腹いっぱい。
NGNGあせんぶらの何を勉強したいのかは知らないが
86系はとりあえずそこまでとんでもないことにはなっていないぞ。
「勉強したい」というレベルならとりあえず困らないだろう。
パイプラインとかキャッシュや予測分岐など、最初の86に比べると
ややこしいことにはなっているけども、ゴリゴリの最適化とかを
考えない限りそういうことは当分気にする必要ナシ。
0574名無しさん@お腹いっぱい。
NGNG・「中国語」は文字でしか存在しない。
(会話は地方によって全く別言語。選ぶとしたら広東語か?)
・コンピュータを使う階層は大抵エリートだから英語ぐらいできる。
・こすっからい中国人と交渉するのに相手のネイティブ言語を使うのは不利。
0575名無しさん@お腹いっぱい。
NGNG0576名無しさん@お腹いっぱい。
NGNG#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
struct buf {
int number;
struct buf *prebuf;
};
struct *buf input(); //ここがいけないみたいですけど・・
void change();
void display();void main(){
input();
change();
display();
}
0577名無しさん@お腹いっぱい。
NGNG全てのUNIXマシンで稼動することと標準的なLIBしか使っていないGCCでコンパイルできることが条件です。よろしく。
0578名無しさん@お腹いっぱい。
NGNG0579名無しさん@お腹いっぱい。
NGNG577です。
まじで知りたいです。僕が調べた限りではどうやらないような・・・気がしないでもないんですが
0580576
NGNG0581名無しさん@お腹いっぱい。
NGNGこうしたらどうでしょうか?
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
typedef struct{
int number;
void* prebuf;
} buf;
*buf input(); //ここがいけないみたいですけど・・
void change();
void display();
void main(){
input();
change();
display();
}
んで、bufのなかのprebufはして使うとか・・・
0582名無しさん@お腹いっぱい。
NGNG0583>575
NGNG0584>
NGNGstruct buf *input(); でないの?
あと
> struct buf {
> int number;
> struct buf *prebuf;
> };
これは通ったか?
struct buf;
struct buf {
int number;
struct buf *prebuf;
};
でないと、通らない処理系もあるぞ。
0585576
NGNGありがとうございました!無事コンパイルできました。深く感謝します。
0586名無しさん@お腹いっぱい。
NGNGUse tcgetaddr/tcsetaddr. See termios(4).
0587初しむ者
NGNGどうしたらこんな風に出来ますか?
0588名無しさん@お腹いっぱい。
NGNG0589名無しさん@お腹いっぱい。
NGNGえらー、そんな板orスレッドないです。
0590名無しさん@お腹いっぱい。
NGNGbinary
0591>588
NGNGそれだけで半年後、あなたは大金持ち。・・・・という夢のようなシステムですよ
0592名無しさん@お腹いっぱい。
NGNGテキスト以外のファイル
0593名無しさん@お腹いっぱい。
NGNG『でもテキストファイルをバイナリで読み込めば、バイナリファイル』
なんつったりしてぇ
0594名無しさん@お腹いっぱい。
NGNGバイナリ
http://www5.airnet.ne.jp/tomy/info-dic/e-b1.htm#binary
> 一般には、全て2進数で表現したデータのこと。
> 但し、可読文字(や一部の制御コード)以外を含みテキスト形式で
> 表示できないデータの意味で、あるいは単に「バイナリファイル」
> の意味で使われることも多い。
バイナリファイル
http://www5.airnet.ne.jp/tomy/info-dic/j-ha1.htm#binaryfile
> binary file。 2進数が収められたファイル。
> プログラムやアーカイブされたデータ、アプリケーションが作成する
> 各種データなどのファイルがこれに当たる。
> 通常の文字コードだけで構成されるテキストファイル以外は、
> 全てバイナリファイルに分類されると言ってよい。
0595名無しさん@お腹いっぱい。
NGNGすぐ思い付くのは、割る値を2の乗数に限定すれば、
それを -1 して立ったビットを数えて、それを右シフトすれば出ますが、
例)割る値(denom)を2の乗数(2,4,8,16,32,64,128,256,...)に限定したdiv()
static const int = bitcnttbl[0xf] = {
0+0, 0+1, 0+1, 0+2, //bin 0000 0001 0010 0011
1+0, 1+1, 1+1, 1+2, //bin 0100 0101 0110 0111
1+0, 1+1, 1+1, 1+2, //bin 1000 1001 1010 1011
2+0, 2+1, 2+1, 2+2, //bin 1100 1101 1110 1111
};
div_t mydiv2(int num, int denom) {
div_t d;
int mask = denom - 1;
int maskbitcount
= bitcnttbl[mask&0xf] + bitcnttbl[(mask>>4)&0xf]
+ bitcnttbl[(mask>>8)&0xf] + bitcnttbl[(mask>>12)&0xf] //;//16bitならここまで
+ bitcnttbl[(mask>>16)&0xf] + bitcnttbl[(mask>>20)&0xf]
+ bitcnttbl[(mask>>24)&0xf] + bitcnttbl[(mask>>28)&0xf];
d.quot = num >> maskbitcount;
d.rem = num & mask;
return d;
}
こういった方法を他の半端な値にたいしても行ないたいのです。
本来の割り算より効率が良くなければ意味が無いのですが。
#上の方法もbitの数える部分で効率が良いとはとても言えないけど…
0596名無しさん@お腹いっぱい。
NGNG>static const int = bitcnttbl[0xf] = {
は
static const int = bitcnttbl[0x10] = {
の間違いでした。
0597>595
NGNG例: 1/3 = (2^16/3)/2^16=21845/2^16
つまり21845倍して上位16bitを答えとするという方法
これで駄目ならここ参照
http://www.infoeddy.ne.jp/~tensyo/prog/ALGO.HTM#UDIV
0598名無しさん@お腹いっぱい。
NGNG0599名無しさん@お腹いっぱい。
NGNG0600お姉さん
NGNG書けばよかったんだ。。
0601ウルトラ初心者
NGNG0602名無しさん@お腹いっぱい。
NGNG0603名無しさん@お腹いっぱい。
NGNG0604名無しさん@お腹いっぱい。
NGNG(|)
*
0605お姉さん
NGNG0606ちゅーぼー
NGNG0607名無しさん@お腹いっぱい。
NGNG0608名無しさん@お腹いっぱい。
NGNG0609名無しさん@お腹いっぱい。
NGNG0610名無しさん@お腹いっぱい。
NGNG0611名無しさん@お腹いっぱい。
NGNGわーい、まんこだまんこだ。
ありがとう。
0612名無しさん@お腹いっぱい。
NGNG0613名無しさん@お腹いっぱい。
NGNG水曜までに高飛びする
0614>612
NGNGコメントの仕様がありません。いかんともしがたい気分です。
0615>612
NGNGで、そのしくだいはいつ出されたのかと
自分でどこまで調べたり作ったりしたのかいうてみ。
0616名無しさん@お腹いっぱい。
NGNGリファレンスみたいなのってありますか?
0617名無しさん@お腹いっぱい。
NGNGえぴーあいという意味でございます
>どうやって使うんですか?
>リファレンスみたいなのってありますか?
お買いあげになった方だけが分かるのでございます
0618名無しさん@お腹いっぱい。
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=974728873&ls=50
0619>616
NGNGWinならMNDN逝け
0620名無しさん@お腹いっぱい。
NGNGAPI本は高いぞ
0621名無しさん@お腹いっぱい。
NGNGもとネタは謎の老婆グッズシリーズだな?
0622名無しさん@お腹いっぱい。
NGNG私は仕事です。クリスマスまで、PCとにらめっこは苦痛です。鬱だなぁ。
0623おねいさん
NGNG0624ぱくぱく名無しさん
NGNGならないのですが、書き方がわからないのです。(今までVoidしか使った事がなかったので。)
これは英語のプログラミングですが、よろしくおねがいします。一応、
ブラックジャックを学ぶためのプログラミングです。
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
/*
int deal(void)
//ここに1から11のランダムナンバーがでるようなファンクションを入れる。
*/
void main(void)
{int Knowledge[31],Card1, Card2, Hit, Score, Previous, Games, P;
char Answer;
for(P=0;P<31;P++) Knowledge[P]=1;
cout<<" カードのナンバーを2つ入れよ。真中にスペースを忘れずに。"<<endl;
for(Games=0;Games<16;Games++)
{cout<<"私のカードは何?";cin>>Card1>>Card2;
Card1=rand()%11+1;
Card2=rand()%11+1;
cout<<"私のカードは"<<Card1<<" "<<Card2;
Score=Card1+Card2; Previous=Score;
while ((Score<22) && (Knowledge[Score]>0)) // Ask for hit if not busted,
// or have not yet learned to stand on this score
{cout<<"Hit me";cin>>Hit;
Hit=rand()%11+1;
cout<<" "<<Hit;
Previous = Score;
Score = Score + Hit;
}
cout<<endl;
if (Score<22)
Answer='y';
else
Answer='n';
cout<<"I stand, 私は勝った? (y/n)"; cin>>Answer;
if (Answer == 'y') Knowledge[Previous]++;// Reward the machine
else Knowledge[Previous]--; // Punish the machine
}
cout<<"My knowledge base contains the following numbers "<<endl;
for (P=0;P<22;P++) cout<<"Cell "<<P<<" contains "<<Knowledge[P]<<endl;
for (P=0;P<22;P++) cout<<Knowledge[P]<<" ";
cout<<endl;
}
0625名無しさん@お腹いっぱい。
NGNG> int dealの後Return文を書かなければ
> ならないのですが、書き方がわからないのです。(今までVoidしか使った事がなかったので。)
関数の書き方が分からない、と推察します。
1から11のランダムな数値を返す関数をdealとした場合、
以下のような書き方になります。
// 関数の宣言
int deal( void );
void main( void )
{
// 中略
Card1 = deal();
// 中略
}
// 1から11のランダムな数値を返す関数
int deal( void );
{
return rand() % 11 + 1;
}
0626622
NGNG彼氏といちゃいちゃするんだろうなぁ〜いいなぁ〜
0627おねいさん
NGNG代休もたまってるし‥ハァ‥
0628名無しさん@お腹いっぱい。
NGNG平日のそんな時間にここ見てるなんて
おねいさん、かなり可哀相な環境なのね。
0629おねいさん
NGNGちなみにブラインドタッチはできるけどどっちでもいいと思ってる派。
そ〜ゆ〜問題じゃないか‥はぁ‥
0630名無しさん@お腹いっぱい。
NGNG#include <fstream>
using namespace std;
void main()
{
cout.seekp( 3, ios::beg ) << "hello\n";
}
こうしてもディスプレイからの出力はし-くされません
ファイルでなくディスプレイからの出力で
最初や途中から上書きするにはどうすればいいのですか?
文字べ-すでてとりすやいんべ-だを作りたいのですが
それに必要です、できればC++で教えてもらいたいのですが
Cでもいいです、誰かたすけてください
0631名無しさん@お腹いっぱい。
NGNGどうすればいいでしょうか
1日考えてもわからない俺ってアホですか?(TT
0632名無しさん@お腹いっぱい。
NGNGswitch(num){
case 1:
case 2:
case 4:
...
case 1073741824:
case 2147483648:
break;
}
0633632
NGNG整数の範囲を限定してしまっているけど、それは実装に合わせて。
0634名無しさん@お腹いっぱい。
NGNGn-mの範囲の値を返す関数。
0635名無しさん@お腹いっぱい。
NGNGwhile (num > 1 && num % 2 != 0) num /= 2;
この結果 num == 1 になれば numは2の累乗。
0637名無しさん@お腹いっぱい。
NGNGif((double)num == pow(2,(int)(log((double)num + 0.1) / log(2.0))))
0.1をプラスしているところがミソ
0638名無しさん@お腹いっぱい。
NGNGビットを合計して1の場合2の累乗
0639名無しさん@お腹いっぱい。
NGNGx=1から初めて xを2倍しながら xとyが 一致するかどうかチェック。
x>yになったらそうでない
0640名無しさん@お腹いっぱい。
NGNG浮動小数点に変換して fxtractで仮数部が値1かどうか確認する
0641612
NGNGあんまり当てにしてないで適当に書いたんですけど、真面目にレスくれてありがとうございました。しかしあしたはもう水曜、ノートに計画は書いたのですけどプログラム自体は0%、お・て・あ・げ。
0642>612
NGNGでも、何かでっちあげるには十分な時間だぞ
さあ時計を見て、でっちあげられる事を考えろ
0643612
NGNGそれがですねぇ〜・・・3人でそれぞれプログラム作ってて共通部分もありますがアルゴリズムや手法がそれぞれ違うので基本的には一人でつくらなければならない・・・にもかかわらず3人が3人とも現時点でまだファイルの入出力やらをやっているのです。おまけにうちの助教授は講義でずーと座って本を説明するくらいやる気の無い人物で夜型でひきこもりでアニヲタでガンヲタで棚には声優のCDが満載で綾波で・・なので1週間の遅れくらいどーってことないと自分達高をくくっています。
それでもやっぱり期日には仕上げたいなァ〜というのが心情で612書いたのですけど・・・・うちの研究室やばいなぁ〜・・
0644631
NGNGの方々、ありがとう〜
こんなにまともなレスがつくとはビックリです(失礼
>>632-633
さすがにそれを実装するのはちょっと(^^;
しかし、そんなに数は多くないのでできなくはないですね
ただ機種依存しそうなんで
>>634
?
>>635-636
これは一番わかりやすくて、安心して使えますね
計算時間もたいしたことはないので十分つかえますね
>>637
こ、これは何をやってるんでしょうか?
試したところちゃんとなりましたけど、どうしてなるのか誰か証明してください(w
ループを使ってないところが凄いです
>>638
コーディングの仕方がわかりません(T−T
誰か教えて〜
>>639
これは考え方としては635さんの逆バージョンですね
>>640
これもコーディングがわかりません〜
fxtractってアセンブラじゃないですか?アセンブラはわかりませ〜ん
結構いろいろな方法があるんですね、勉強になりました
0645635-636
NGNGy = a^x ←→ x = log_a y = (log y / log a)
というlogの性質を使うのが>>637の方法。
y = a^x において、a = 2かつx = int xなら、
y = 2^x = 2^(int x) = 2^(int(log_2 y)) = 2^(int(log y / log 2))
が成り立つ。0.1を足しているのは浮動小数点演算の誤差対策。
0646637
NGNG書き込もうと思ったら先を越された。その通りです。
補足するなら、ある整数nが整数aで割り切れるか、を調べたいとき、
(% とか MOD とか使えない場合ね)
if(n == (n / a) * a)
で調べられるでしょ。それを累乗に応用しただけ。
ちなみに、0.1を足さなかったら、私のテストした環境 BC3.1 では、
16384が2の累乗じゃ無いって事になるんだなあ。
0647名無しさん@お腹いっぱい。
NGNG0648名無しさん
NGNGtime(NULL) % radomkansuu(); it++); //だろうね
0649647
NGNG0650名無しさん
NGNGfor (p = root; time(NULL) % RANSUU % YOUSOSUU;
p = p->next);}
0651名無しさん
NGNGループ終端でcounter++だった。
0652647
NGNG0653名無しさん
NGNG乱数とって割り算のあまりとって確立調整。
二で割ってあまり0なら50%。
で末端超えないように回数の上限どっかにおく。
殴り書きでスマセン。
0654名無しさん@お腹いっぱい。
NGNG648の実装例
int bitcount(unsigned x)
{
int b;
for(b = 0; x != 0; x >>= 1) {
if(x & 01) b++;
}
return b;
}
0655名無しさん@お腹いっぱい。
NGNG各種ビットカウントアルゴリズム
http://www.pc.p.chiba-u.ac.jp/~foota/develop/bitcount.html
好きなアルゴリズムで実装してみろ
0656647
NGNGなるほど!わかりました!ありがとうございました。
0657名無しさん@お腹いっぱい。
NGNG0658似非おねえたん
NGNG0659かも
NGNG0660名無しさん@お腹いっぱい。
NGNG0661あげ
NGNGを教えてください。
0662あげ
NGNG指定の仕方がわかりません。
0663あげ
NGNG今すぐ1から10まで教えろ。
0664名無しさん@お腹いっぱい。
NGNG662を頼む。
厨房ですまん。
0665あげ
NGNG0666カレー
NGNGまたは所在のリンクでも良いです。
C言語で宜しくお願いします。
0667名無しさん@お腹いっぱい。
NGNG0668名無しさん@お腹いっぱい。
NGNG0669名無しさん@お腹いっぱい。
NGNG0670名無しさん@お腹いっぱい。
NGNG0671647
NGNG次のタスクをさすメンバがもちろん必要なんだろうと思うんですけど、2つ以上さす場合はいったいどうすればいいか悩んでます。あと前のタスクをさすメンバは必要なのかということについても悩んでいます。どなたか詳しし方いらっしゃりませんか?
C言語で書いています。
0672名無しさん@お腹いっぱい。
NGNG0673名無しさん@お腹いっぱい。
NGNGそういう低レベルな処理だと安定性と高速性を重視
0674名無しさん@お腹いっぱい。
NGNGひとつのタスクが複数のタスクをさす場合はどうすればいいですか?
>673
おれはデータをファイルから格納するとき構造体の配列にするということですか?
0675674
NGNG0677名無しさん@お腹いっぱい。
NGNGワイルドカードレベルのパターンマッチングができればいいのですけど。
0678673
NGNGご名答、612です。
締め切りはあやふやになりました。
0679673
NGNG0680673
NGNGint number;
int size;
struct task *predecessor;
struct task *successor;
};
こういう感じにした場合、どういう問題点があるのでしょう?
0681名無しさん@お腹いっぱい。
NGNG0682ギコハト
NGNG0683ギコハト
NGNG配列とリストの組み合わせ。
つーか、そんなコンテナの構造なんて隠蔽しとけ!
0684名無しさん@お腹いっぱい。
NGNGい。。隠蔽とは!!?
初心者厨房なのでもうさっぱりです。
0685ギコハト
NGNG0686名無しのエリー
NGNG0687ギコハト
NGNG無いならとりあえず図書館で借りるか、買っとけ。入門書買うより損は絶対に無いから。
ついでに、隠蔽のメリットはあとですげ替え可能な点ね。
0688名無しさん@お腹いっぱい。
NGNG0689ギコハト
NGNGじゃあまずおまえがおしえてヤレ
0690688
NGNGこの辺はC++の「クラス」ってのを調べればわかるんじゃないかと。
C でやれつうのならよくわからん。俺も勉強不足ゆえにな。
別にギコハトの言ってることは至極最もだと思うし共感するが
見てるとクレイマーに見えそうなのでな。
書き方が素っ気無いのは別にいいのだが。
0691Cでも
NGNGたとえば〜〜〜
リストのルートへのポインタを非externのgrobalにすれば、
同一ソースファイルの外からはアクセスできません。
そのグローバル変数にアクセスする関数だけを同一ソース
ファイルに作成し、外部参照できるようにしておけば、
簡易隠蔽完成!っす。
0692ギコハト
NGNGprivateどうこうじゃなくてC/C++に限らず、コンテナの実装を隠せっていってるの。
とりあえず固定配列でもなんでもいいから動くようにして、
あとで最適なデータ構造にすげ替えれる余地を作れ、と言いたかったわけ。
0693名無しさん@お腹いっぱい。
NGNG0694名無しさん@お腹いっぱい。
NGNG外部にはvoid*で保持させて
内部で任意の構造体のポインタにキャストして使う
ってやり方をしているのがあったよ
0695ギコハト
NGNG|| /_ノ _) < >>694 Cなら当たり前だな
||__//y_y____ \__________
||~~~~~~~~~~
0696名無しさん@お腹いっぱい。
NGNG俺の場合はそのケースで「キャスト」は使わないことが多いな。
↓みたいにする。
後は、Windowsの世界だと、void*ではなく、それのtypedefである
HANDLEを使うことも多い。
int foo(void *cookie)
{
struct cookie_t * cp = cookie;
:
}
0697>694
NGNGというかCだと別ファイルならキャストせずにそのまま使える
DLLとかで公開する時には便利。
利用者に情報を公開しなければ確実にインターフェース関数を
呼んでくれるからな
0698名無しさん@お腹いっぱい。
NGNG//devide.c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int randomizer(int a);
typedef struct p{
int a;
int error;
}proc;
void main() {
int bunnkatu;
proc *x;
int yousosuu;
int i;
int temp;
x = NULL;
printf("要素数を入力してください\n要素数=");
scanf("%d",&yousosuu);
printf("分割値をいれてください。\n");
scanf("%d",&bunnkatu);
x = (proc *)calloc(bunnkatu,sizeof(proc));
if(x == NULL)exit(-1);
for(i=0;i<bunnkatu;i++)
{
if(i== (bunnkatu -1)){
(x+i)->a = yousosuu;
break;
}
temp = randomizer(yousosuu);
(x+i)->a = temp;
yousosuu = yousosuu - temp;
}
printf("結果!!!\n");
for(i=0;i<bunnkatu;i++)printf("%d\n",(x+i)->a);
free(x);
}//end of main
int randomizer(int i){
int a;
srand((unsigned)time(NULL));
a = rand()%i + 1;
return a;
}
0699名無しさん@お腹いっぱい。
NGNG> 解決方法をおしえてください。
根本的な解決方法は残念ながらありません。
しかし、メモリエラーを出しにくくする方法はあります
1.物理メモリを増やす
2.確保する構造体のサイズを小さくする、
または、構造体の要素数に制限を持たせる
0700698
NGNGしかしこのプログラムで用いているメモリの量はたいしたことないように思えますけど。使用するメモリは数十キロバイトとかではないのでしょうか?
0701名無しさん@お腹いっぱい。
NGNG具体的にどのくらいの値にするとエラーになんの?
0702699
NGNG> 使用するメモリは数十キロバイトとかではないのでしょうか?
なぜ、数十キロバイト?
callocで指定している値はscanfから取得しているんで
INT_MAXも指定できると思うが?
sizeof(int) == 4の場合、多分INT_MAX = 約2G byteだから
そんな値を入力したら、数百M byte位しか実メモリを積んでいない
パソコンは大概メモリ確保エラーになると思う
それとも、数十キロバイトでメモリ確保エラーが起きるってこと?
0703698
NGNG8くらいから起きます。
>702
数十キロバイトというのは、ほかのこれよりかなり小さいプログラムで、友達が使用するメモリはせいぜい数十キロバイトくらいだろうと言っていたのでそう書きました。
たくさんメモリを確保する必要がある場合はどのようにすればいいでしょうか?
0704名無しさん@お腹いっぱい。
NGNG俺が確認したところ、いきなり0除算のせいで、floating exception
が発生した(関数randomizerに0が渡るためだ)。
そもそもこの仕事にはメモリ確保は不要であるし、
randomizerの中で毎回srandを呼んでいるなど、好ましくない点は多い。
以下のは適当に書いた例だが、ちゃんと自分で理解した上で
自分の力で書き直してみるとよいだろう。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int randomizer(int max)
{
return rand() % max + 1;
}
int main()
{
static const char *tab[] = { "要素数", "分割値" };
int i, val[2], youso, bunkatsu, tmp;
srand(time(NULL));
for (i = 0; i < 2; ++i) {
printf("%sを入力してください\n%s = ", tab[i], tab[i]);
if (scanf("%d", &val[i]) != 1) {
fputs("入力エラー\n", stderr);
return 2;
}
}
youso = val[0], bunkatsu = val[1];
puts("結果!!!");
for (i = 0; i < bunkatsu && youso > 0; ++i) {
printf("%d\n", tmp = randomizer(youso));
youso -= tmp;
}
for (; i < bunkatsu; ++i)
puts("0");
return 0;
}
0705698
NGNG0706花と名無しさん
NGNG> 分割数がおおきくなるとメモリエラーがでます。
こう判断したことが誤りです。実は除算エラー(ゼロで割った)が起こっています。
エラーメッセージの意味を正しく読み取る努力をする、とか
デバッガなどの道具でエラーが起こった場所を特定するとか、
そういう努力をするとこの山を越えられるぞ。
今日のところは、実行中の変数の様子を表示する printf を突っ込んで
いろいろ実行してみな。
例)
for() ループの末尾(じゃなくてもいいけどさ)の様子を見る。
// ...
(x+i)->a = temp;
yousosuu = yousosuu - temp;
printf("ループの[i = %d] ... temp = %d 取り分けるぞ。あと %d 残ってるぜ。\n", i, temp, yousosuu); // これを追加
}
ついでに乱数を使ってどんな値を作っているかも覗いておく。
srand((unsigned)time(NULL));
printf("ramdomizer(%d) ... %d での剰余、ってのは %d で割る、ってことだぜ。\n", i, i, i); // これを追加
a = rand()%i + 1;
※ いろいろな値で実行すれば、下の方の printf には、じつは「答え(失敗の理由)」が書いてあることが判ってもらえると思う。
0707706
NGNG0708704
NGNGそういうことは最初から言えよ...
それと、メモリ確保がどういう形でエラーになっているのか
(カーネルに殺されているのかcalloc/mallocがNULLを返しているのか)
と、環境(OS)も書くべきだ。
それと、以下のプログラムはどういう挙動を示す?
int main()
{
size_t block;
for (block = 1024; malloc(block); block += 1024)
fprintf(stderr, "%ld\n", block);
return 123;
}
0709名無しさん@お腹いっぱい。
NGNG「同じような」ってエラーの出方も本当に同じかい?
上で指摘された 698 での誤りを見ると、本当にメモリの確保のやり方が
失敗しているとは思えんぞ。
0711698
NGNG”例外 unknown software exception(0x0000094)がアプリケーションの0x0000027で発生しました”
が2回と
”例外 unknown software exception(0x0000027)がアプリケーションの0x77f0c518で発生しました”
が一回です。
これが除算エラーですか?
708さんの問題には手も足もでません。まだ超初心者ですので・・・
わからないもの
size_t,mallocのこの場合の使い方,fprintf,stderr(スタンダードエラーと読めそうだけど使い方さっぱり),%ld,123
0712708
NGNG708は別に「問題」のつもりじゃなくて、「動かして見れ」という
つもりだったんだが....。
わがんねんなら説明すると、単純にエラーになるまでメモリを要求
しつづけるプログラム。
まあでも、原因は「メモリ確保エラー」じゃなくてやはり
バグのようだから、試さなくていいぞ。デバッガ使うなどして、
ちゃんと調べるんだね。
# それにしても上の710は俺なんだけど何をトチ狂ったか"204"に
# なってるな。スマソ。
0713名無しさん@お腹いっぱい。
NGNGエラーメッセージの16進数を読もうとしてないんです。最近ランタイムエラーに悩まされて毛嫌いしていて・・・
0714名無しさん@お腹いっぱい。
NGNGしかしエラーでて動きませんが・・・
0715onegai
NGNG最小値を求めるプログラムを作成せよ.配列を使用すること.
0716名無しさん@お腹いっぱい。
NGNG言語は?
0717onegai
NGNG0718名無しさん@お腹いっぱい。
NGNGなにがわからないのでしょう?
・10個の整数値をキーボードから読み込む処理
・それらの合計、平均値、最大値、 最小値を求める処理
・配列の使い方
・全部
0719onegai
NGNG0720名無しさん@お腹いっぱい。
NGNG#include <stdio.h>
#define MAX_DATA 10
#define ArrayOf( ary ) sizeof (ary) / sizeof (ary[0])
static int sum( const int *, const size_t );
static int avg( const int *, const size_t );
static int max( const int *, const size_t );
static int min( const int *, const size_t );
int main( void )
{
int data[MAX_DATA];
int cnt;
for ( cnt = 0; cnt < ArrayOf( data ); ) {
cnt += scanf( "%d", &data[cnt] );
fflush( stdin );
}
printf( "sum %d\n", sum( data, ArrayOf( data ) ) );
printf( "avg %d\n", avg( data, ArrayOf( data ) ) );
printf( "max %d\n", max( data, ArrayOf( data ) ) );
printf( "man %d\n", min( data, ArrayOf( data ) ) );
return 0;
}
static int sum( const int *dat, const size_t num )
{
int cnt;
int tmp;
tmp = 0;
for ( cnt = 0; cnt < num; cnt++ )
tmp += dat[cnt];
return tmp;
}
static int avg( const int *dat, const size_t num )
{
return sum( dat, num ) / num;
}
static int max( const int *dat, const size_t num )
{
int cnt;
int tmp;
tmp = dat[0];
for ( cnt = 0; cnt < num; cnt++ )
if ( dat[cnt] > tmp )
tmp = dat[cnt];
return tmp;
}
static int min( const int *dat, const size_t num )
{
int cnt;
int tmp;
tmp = dat[0];
for ( cnt = 0; cnt < num; cnt++ )
if ( dat[cnt] < tmp )
tmp = dat[cnt];
return tmp;
}
0721onegai
NGNG0722名無しさん@お腹いっぱい。
NGNG前々から思っているんだが、こういう類の危ないDEFINE使うのは
いい加減止めてほしい。専門学校の提出課題じゃないんだから。
0723名無しさん@お腹いっぱい。
NGNG> こういう類の危ないDEFINE使うのはいい加減止めてほしい。
マクロにはいろいろな副作用がある事は認めますが、
このマクロにはどのように危ないと思ったのでしょう?
0724>723
NGNGArraySize とかならokだったとか・・・・
0725名無しさん@お腹いっぱい。
NGNG0726名無しさん@お腹いっぱい。
NGNGstatic int sum( const int *dat )
{
int cnt;
int tmp;
tmp = 0;
for ( cnt = 0; cnt < ArrayOf( dat ); cnt++ )
tmp += dat[cnt];
return tmp;
}
こう書く奴もいるかも知れないってこと?
# こんなことする奴の方がアホだと思うが
0727名無しさん@お腹いっぱい。
NGNGary --> _ary
ならどうよ?
0728名無しさん@お腹いっぱい。
NGNGint main(int argc, char* argv[]){
char a[10];
char* b;
char c;
printf("A:%d B:%d C:%d \n", sizeof(a),sizeof(b),sizeof(c));
}
HP-UXのCCでA=10,B=4,C=1。
B/C=4になるよ。危なくて使えないよ。
0729名無しさん@お腹いっぱい。
NGNG0730名無しさん@お腹いっぱい。
NGNG> B/C=4になるよ。危なくて使えないよ。
B/Cをやる奴がアホ
ポインタと配列の違いが解らない人は使わないほうが良い。
0731725
NGNGちがうよ。 その最初の行が
static int sum(int dat[32] )
だったらどう?
このマクロが32を返すように思う人が居ても責められないと思うが?
0732725
NGNGだいたいがアムナイのがC言語らしい使い方じゃないの?
安全が好きならpascalでどうぞ
0733あぶないとかほざいてるアホへ
NGNG{
int array[5];
printf("arg = %d array = %d\n", sizeof(arg), sizeof(array));
}
0734名無しさん@お腹いっぱい。
NGNGsizeof演算子は使わないほうがいい。
0735715
NGNGこれってどれぐらいのレベルでしょうか??
全くのど素人が出来るんでしょうか??
しかも、これは1番の問題であと4題あります。
0736助けてください。
NGNGこのプログラムはどうやってつくればいいですか?
∫4÷(1+a×a)
(∫の上限は1、下限は0)
台形法およびシンプソン法で
円周率の小数点第6位まで一致させるのに
必要なn(整数)の値を決定するプログラムを作りなさい。
提出期限が明日までなのに全然出来てません。
C言語です。助けてください。
0737>735
NGNGコン専学校なら、出来るか出来ないかのレベルは中央値でしょう
工業系の大学ならこれが出来ないのは2σ付近
この板を覗いてる人の中では3σ付近ではあるまいか
0738>736
NGNGもし台形法やシンプソン法のレベルでわからないというのなら、
何か芸を見せなさい。後は芸の出来如何です
0739735
NGNG理工学部です。2σ付近 ←意味が分かりません??
0740名無しさん@お腹いっぱい。
NGNG>715ですけども
>これってどれぐらいのレベルでしょうか??
これがまったく解らなかったら
プログラマはあきらめた方がいい
0741名無しさん@お腹いっぱい。
NGNG偏差値70以上の人という意味じゃない?
0742名無しさん@お腹いっぱい。
NGNGそれともマイナス3シグマか
0743>736
NGNGだから答えは 4(atan(1)-atan(0))=πだろうと予想がつく
で、その問題は、やっぱりnを大きくしていって誤差が収まるnを求めればいい
そのためには、シンプソン法,台形法のそれぞれ nを引数にして求める関数を作っておく
あとはnを大きくしていってその誤差が 1E-6以内に収まるところをでっちあげればいい
適当にでっちあげると
#include <stdio.h>
#include <math.h>
double func(double x){return 4.0/(1.0+x*x);}
double daikei(double a,double b,int n)
{ int i;
double dx=(b-a)/(double)n;
double y0=func(a);
double sum=0;
for(i=1;i<n;i++) sum += func( a+=dx );
return (sum*2+(y0+func(b)))*dx/2.0;
}
int test( double (* sum)(double a,double b,int n) )
{
int nmax=10000;
int i;
double end=sum(0,1,10*nmax);
for(i=10;i<nmax;i++)if( fabs(sum(0,1,i)-end)<0.0000001 )return i;
return 0;
}
int main()
{
int d1=test(daikei);
printf("台形法では n=%d で %12.8f\n",d1,daikei(0,1,d1) );
return 0;
}
0744名無しさん@お腹いっぱい。
NGNG0745>744
NGNG0746744
NGNGすいませんよくわからないんです。。
立体の表示まではできているんですけど。。(というかそこまでは教科書にあった)
0747744
NGNGありがとうございました。よろしくお願いしますです。。
0748>744
NGNG0749744
NGNG面積= (Sqr((2) * b(3) - a(3) * b(2)) ^ 2 + (a(3) * b(1) - a(1) * b(3)) ^ 2 + (a(1) * b(2) - a(2) * b(1)) ^ 2)) / 2
でよろしいんでしょうか?
0750744
NGNGDim a(3), b(3)
For j = 1 To nf /* 構成面数だけ繰り返す */
s = 0 /*面積sの初期化*/
For i = 1 To (fnv - 2) /*いくつの三角形ができるか*/
s = (Sqr((a(2) * b(3) - a(3) * b(2)) ^ 2 + (a(3) * b(1) - a(1) * b(3)) ^ 2 + (a(1) * b(2) - a(2) * b(1)) ^ 2)) / 2 /*三角形の面積を求める式*/
s = s + s
Next i
Next j
Print (s)
こんな感じだと思うんですけれど、うまく動いてくれないんです…。
0751名無しさん@お腹いっぱい。
NGNG0752名無しさん@お腹いっぱい。
NGNG正の数 n を正の数 m で割り算して、答えを正の無限大へ
収束させるにはどうしたらいいですか?
/ はつかってもいいけど、% を使うのはダメみたいなんです。
0753名無しさん@お腹いっぱい。
NGNG0754752
NGNG{
unsigned d = n / m;
if( n - d * m ) d++;
return d;
}
あまり・・スマートじゃないですよね・・
すぱっと解決できないものでしょうか
0755752
NGNG0756名無しさん@お腹いっぱい。
NGNGベクトルの内積を使えば
4S^2 = (|AB||AC|)^2 - (AB・BC)^2
ヘロンの公式を使えば
S^2 = s(s-BC)(s-CA)(s-AB) where 2s = BC+CA+AB
消防風には
底辺×高さ÷2
じゃなかったけ? (^^;
0757>744
NGNG3角形は3つの点で示される
よって、3角形は3次元中では9つの値の集合で示される
しかしその公式では6つの値しか出現していない 如何?
0758Visual名無しさん
NGNG>>749の (→OA × →OB)÷2 で合うだろう。
>>750がまずいのは s を使い回しすぎてたり
a,b がどっから出てくるのか謎なとこだと思うが・・・
0759初心者
NGNG#include<conio.h>
void main(void){
int a,b,c,i;
printf("整数を2つ入力せよ");
scanf("%d,%d",&a,&b);
printf("%d から %d までの積を計算する\n",a,b);
c=1;
if(a<=b)
for(i=a;i<=b;i++)
c=c*i;
else
for(i=b;i<=a;i++)
c=c*i;
printf("答え:%d\n",c);
getch();
}
この問題をC++で関数(引数)って言うんですか? を使って書き換えろ
って問題なのですが、どうやったらいいのかわかりません。
どうか教えてください。知識は0に等しいです。
よろしくお願いします。
0760名無しさん@お腹いっぱい。
NGNGあなたのE-mail欄を見てなんか知らないけどむかついたので
教えて君に認定いたします。
0761名無しさん@お腹いっぱい。
NGNG拡張子を.c から .cppに変えろ
0762名無しさん@お腹いっぱい。
NGNGをとった値を出力せよという課題が出ていて明日がシメ切りで朝
からがんばってみたんですけどやっぱりできませんでした。誰か
優しいお方がいたら是非お願いします!
0763762です。
NGNGつです。
read a
read b
L_1:
load a
jump L_2
load b
jump L_2
load answer
add ONE
save answer
L_2:
load a
shift 1
save a
load b
shift 1
save b
load COUNTER
sub ONE
save COUNTER
jump L_3
load answer
shift 1
save answer
jump L_1
L_3:
load answer
write answer
jump 0
COUNTER:
lit 7
ONE:
lit 1
a:
decl 1
b:
decl 1
answer:
decl 1
0764じろうくん
NGNGわかってないなあ。
ここは、教えて君だろうがなんだろうが、お姉さんが優しく教えてくれるスレッドなんだよ。
0765質問
NGNGあまりを切り捨てたいんですが、どうすれば良いですか?
char a[5]
cin >> a[5];
の時、hokkaidoならhokkaまでを入力して残りを切り捨てたいのですが。
0766名無しさん@お腹いっぱい。
NGNGint i,c;
char a[6];
for (i = 0; i < (sizeof(a) - 1); i++) {
if ((c = getchar()) == EOF) break;
a[i] = c;
}
a[i] = '\0';
0767名無しさん@お腹いっぱい。
NGNGこれはファイル名の *.c を *.cpp にするよりはマシな回答だが、
何も考えてないアホな回答でもある。ファイル名はたとえば
seki.cpp という風に .cpp にする。
#include <stdio.h>
#include <conio.h>
class MyClass {
public:
MyClass() {
int a,b,c,i;
printf("整数を2つ入力せよ");
scanf("%d,%d",&a,&b);
printf("%d から %d までの積を計算する\n",a,b);
c=1;
if(a<=b)
for(i=a;i<=b;i++)
c=c*i;
else
for(i=b;i<=a;i++)
c=c*i;
printf("答え:%d\n",c);
getch();
}
}
MyClass mc;
int main() {}
0768744
NGNG参考にさせていただきます。
もう一度、頭を整理して考えてみます。
0769うら
NGNG簡単に教えてください。
0770名無しさん@お腹いっぱい。
NGNG0771名無しさん@お腹いっぱい。
NGNGqsort 関数じゃなくて自分で書きたいんだけど・・・
クイックソートを分かりやすく解説してるページってない?
0772SAGE
NGNGお好きなのをどれでもどうぞ。ってゆーか訊く前に検索くらいしとけや。
http://www.google.com/search?q=%83N%83C%83b%83N%83%5C%81%5B%83g&site=search&hl=ja&lr=&safe=off&output=search
0773うら
NGNGそう、たぶん基本挿入法です。
0774名無しさん@お腹いっぱい。
NGNGhttp://www.lares.dti.ne.jp/~mash/pro/kizi/5.html
http://www.ed.info.kanagawa-u.ac.jp/~s975523/paper/node7.html
http://www.people.or.jp/~fussy/argo5-4.htm
http://www.ed.noda.sut.ac.jp/~j7497060/seventhweek.html
http://www.klic.org/software/klic/lang/node84.html
http://www.ed.noda.sut.ac.jp/~j7497112/java9.html
http://www.ed.noda.sut.ac.jp/~j7498094/quicksort.html
http://www.ed.noda.sut.ac.jp/~j7497088/Ensyuu115.html
0775名無しさん@お腹いっぱい。
NGNG5文字に制限したいのなら、'\0'のエリアが必要なので
char a[5 + 1]; → char a[6]; となる
>>766のループのほかに
fgets( a, sizeof a, stdin );
を使う方法もある
0776名無しさん@お腹いっぱい。
NGNG関数のところがよくわかりません。
#include <stdio.h>
#include <string.h>
struct hito{
char name[14];
};
void sort(struct hito dt);
main()
{
int i;
struct hito goru[50];
printf("input name\n");
for(i=0;i<50;i++){scanf("%s",goru[i].name);}
sort(goru);
}
void sort(struct hito dt)
{
int i,j;
char taihi[14];
for(i=0;i<50;i++){
j=i+1;
if(strcmp(dt[i].name,dt[i].name)>0){
taihi=dt[i].name;
dt[i].name=dt[i].name;
dt[i].name=taihi;
}
}
}
0777訂正
NGNGこれでした。
void sort(struct hito dt)
{
int i,j;
char taihi[14];
for(i=0;i<50;i++){
j=i+1;
if(strcmp(dt[i].name,dt[j].name)>0){
taihi=dt[i].name;
dt[i].name=dt[j].name;
dt[j].name=taihi;
}
}
}
0778できましたが。
NGNG0779名無しさん@お腹いっぱい。
NGNG小技(構造体にいれる等)使わないと配列の一括代入はできないねん
つーか、配列名は定数なので代入できんのねん
0780なるほど納得
NGNG0781名無しさん@お腹いっぱい。
NGNG知っている人がいたら教えてください。
(昔、噂で聞いただけなのでどういう物かは良く分かりませんでした。)
スピードはどれぐらいかなあ
0782名無しさん@お腹いっぱい。
NGNG0783名無しさん@お腹いっぱい。
NGNG人に聞くのが検索なのでしょう。
0784781です
NGNGなんか電波な感じのページでしたが、有難うございました。
検索の仕方にも寄るんだとおもいますが、
ほとんど引っかからないんですよ。>コムソート
bit誌に載ってたそうですね。そっちを図書館行って見た方が早いかな。
>783
そうです。聞いた方が早いって場合もありますもんね!
0785名無しさん@お腹いっぱい。
NGNG0786名無しさん@お腹いっぱい。
NGNG0787名無しさん@お腹いっぱい。
NGNG0788名無しさん@お腹いっぱい。
NGNGgoogle使え
0789名無しさん@お腹いっぱい。
NGNG0790ねかまさん
NGNGはい>789
0791名無しさん@お腹いっぱい。
NGNG/* combsort.c */
#define SIZE 100000
int a[SIZE];
main() {
int i, d, done = 0;
for(i = 0; i < SIZE; ++i) a[i] = rand();
for(d = SIZE-1; d > 1; d = (10*d + 3) / 13)
for(i = d; i < SIZE; ++i)
if(a[i-d] > a[i]) { int x = a[i-d]; a[i-d] = a[i]; a[i] = x; }
while(!done) {
done = 1;
for(i = 1; i < SIZE; ++i)
if(a[i-1] > a[i]) { int x = a[i-1]; a[i-1] = a[i]; a[i] = x; done = 0; }
}
}
0792名無しさん@お腹いっぱい。
NGNGこれ以外にどんな言語を学んだらよいの?
0793名無しさん@お腹いっぱい。
NGNG0794名無しさん@お腹いっぱい。
NGNG0795名無し娘。
NGNG英語はマジで覚えた方が良い。
資料はほとんど英語だから
0796名無しさん@お腹いっぱい。
NGNG0797>793 、795
NGNG0798名無しさん@お腹いっぱい。
NGNG0799名無しさん@お腹いっぱい。
NGNG正解だしナー
0800ヒロヒト
NGNG0801優しい名無しさん
NGNGしつこいなー。
>>795
英語はできないときつい。
主要なリファはすべて英語だよ。
0802名無しさん@お腹いっぱい。
NGNGどうして日本語に訳してくんないの?
なんか裏事情とかあるの?
0803優しい名無しさん
NGNG0804名無し娘。
NGNG面倒臭いんだろ。
0805優しい名無しさん
NGNGだからこそ、英語は必要。
0806新之助
NGNGさっぱり判らなくって・・・。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Q.ソフトウェア開発に関する下記の課題に回答しなさい。
問題1. ソフトウェアを企画してから、作られたソフトウェアが寿命を終えるまでの過程(ライフサイクル)を述べなさい。
問題2. ソフトウェアを構成するプログラムの作成にあたり、既に稼動しているプログラムであっても、同一部分をあちこちにコピーして使うとどのような技術的問題点が起きるかについて述べなさい(ヒント:試験・改良などライフサイクルの観点から)。
問題3. ソフトウェア・コピーに関してA君とB氏がとった下記のような行動の倫理的な問題点を列挙しなさい。つぎに、その各問題点は、「情報処理学会倫理綱領」、「ソフトウェア・エンジニアリングのための倫理規範」のどの条項に反するかについて述べなさい。
「A君は会社が受注したソフトを開発中だが、納期が迫ったのにそのソフトは一向に動き
そうにない。みかねた上司のB氏はA君に、ソースが公開されている他社製Cソフトのプ
ログラムの一部をコピーして使うようにと指示した。A君はいわれるがままにプログラム
の一部をコピーし、そのブランドを信用してコピーした部分のデバッグはほとんどしない
で納品した。しかし、B氏は試験報告書には十分に試験したと記載した。」
0807しらんけど
NGNG→運用→ソフトウェアの陳腐化→新しい目標の設定→古いソフトウェアの統合、廃棄
2>デバッグ、改良のときすべてのコピー部分の修正が必要→リスク、コスト増大
3>Cソフト社のリエンジニアリング規定の無視および違反、
高度な技術に関する特許に関する無視および違反
試験報告書の虚偽
0808新之助
NGNGすごい。
すご〜〜い。
しらんけどさん。あなたを愛しそうです。
本当にありがとうございます。
0809807
NGNG3は、情報処理学会倫理綱領やソフトウェア・エンジニアリングのための倫理規範も
調べる必要あるから
A君が
1.社会人として
1.3 他者の知的財産権と知的成果を尊重する
2.専門家として
2.1 たえず専門能力の向上に努め,業務においては最善を尽くす.
2.2 事実やデータを尊重する.
B氏は
3.組織責任者として
3.1 情報システムの開発と運用によって影響を受けるすべての人々の要求に応じ,その尊厳を損なわないように配慮する.
3.3 情報システムの開発と運用について,資源の正当かつ適切な利用のための規則を作成し,その実施に責任を持つ.
あたりなんじゃないの?
がんばって自分でも考えてこなしてください。
0810>808
NGNG0811名無しさんi486
NGNGでも、公文書を一字一句間違いなく覚えることが評価されたり
するんだよね。くだらんけど。
0812名無しさん@お腹いっぱい。
NGNG0813おねいちゃん
NGNG問題1は一般に・・・ってゆーかあ情報処理試験で出るような問題の解答なら、
設計・コーディング・デバッグ・メンテナンスの4つに大別されてるのねえ。
問題3だけど、他社製Cソフトのソースがいかなる使用規定に
基づいたものか明らかでないので、「再利用条件」を自分で
考えて書くといいのね。その条件がどんなものかは、実際の
規定を調べてねん。
0814名前ついてますか?
NGNG0815テル
NGNGFirst name, Last name, Tel number, Gender(M or F)
の書式で書かれたデータがすでにあったとして、そのデータをプログラム中から
読んだり、書き換えたりするにはどうしたらいいんでしょうか。
また、いくつあるかわからない、上に書いたようなデータを表示するにはどうした
らいいでしょうか。
誰か教えてください。よろしくお願いします。
0816おねいさん
NGNGちゅうか、ここのとこおねいさんの出番がいるような
宿題がないようだけども‥
あ、学生さんはもう冬休みかぁ‥いいなぁ‥
0817おねいさん
NGNGなにがしたいのか、言語や環境がわからないから、たいしたアドバイスできないけど‥どういう形式のデータなのかな?
なにかのデータベースなら、それの使い方を
テキストファイルとかなら、ファイルの入出力をお勉強してみてね。
いくつあるかわからないなら、数えてみるのはどうかな?
それとも、とりあえず何個か読んでみて、そこまで表示してしまう。
続が見たいときは、さらに何個か読んで‥という方法じゃダメなのかな?
0818名無しさん@お腹いっぱい。
NGNG0819テル
NGNG細かいことを書くの忘れてすいません。言語はC言語です。
テキストファイルの入出力なんですけど、fopen か何かを使うらしいんですが。
struct を使って形式を決められるって言うのも使えるんでしょうか。
その場合、テキストファイルの中に書き込むデータの形式は決めておかないと
いけないんでしょうか。あと、データはどこに置いておかなければいけないとか
あるんでしょうか。
データの数は最大100なんですが、もし100個なかった場合はどうすればいいですか?
何個か読んでっていうのは使えそうですね。
よろしくお願いします。
0820名無しさん@お腹いっぱい。
NGNGCよりはperl向けだよ。
open(FILE,"filename");
foreach $x(<FILE>){
@cell=split(',',$x);
print "FirstName:$cell[0],LastName:$cell[1],TN:$cell[2],Gen:$cell[3]\n";
}
close(FILE);
Cではひょろっと答えるには面倒な長さになるね。
0821おねいさん
NGNGでも宿題だったらそうも言ってられないだろうし
他の言語のお勉強も面倒よね。
データの内部保持にstructを使ってるなら、まずはその構造体を
ひとつ書き出す関数と、ひとつ読み込む関数を作ってね。
形式はテキストがお勧め。バイナリだとあとから困るかもしれないゾ
0822名無しさん@お腹いっぱい。
NGNGクリスマスの予定はありますか?
ボクはありません。
モテナイ工学部の学生です。
デートして!
0823名無しさん@お腹いっぱい。
NGNGそれでも?>822
0824822
NGNG実は私は女子大生♪
0825名無しさん@お腹いっぱい。
NGNG「ボク」はモテナイ工学部の学生で、実は女子大生・・・
逝ってよし♪
0826名無しさん@お腹いっぱい。
NGNG0827名無しさん@お腹いっぱい。
NGNG0828名無番長
NGNG0829名無しさん@お腹いっぱい。
NGNG0830名無しさん@お腹いっぱい。
NGNG0831828≡
NGNG0832828
NGNG一応やってみたけど、当然ムリか。
つーかNTならそんなこと訊かれないのに。
2kは変わってるのか?
0833>832
NGNGの様にワイルドカードを指定すると訊かれる。
/q付けると訊かれなくなる。
0834名無しさん@お腹いっぱい。
NGNG/qはどのWin2K依存のスイッチ?
つーか
>(Y/y)?
の時点でネタだと思ってたんだけどなー
0835828
NGNG829は偽者です。828が本物なんで。つーかそんなネタが書いてあること自体気付かなかった。
今試してみたところ、ファイルだと(Y/n)って訊かれないんですけど、フォルダごと消そうとすると、よろしいですか?(y/n)訊かれるみたいです。
どう答えればいいんでしょうか?
0836名無しさん@お腹いっぱい。
NGNGy(Enter)
消すとまずいファイルなら
n(Enter)
0837828
NGNGそれで消えないから困ってるんです。
フォルダごと消すのってムリなの?
0838名無しさん@お腹いっぱい。
NGNG何を消そうとして、どんなコマンドを打ち込んだかを示すべし。
OS名も書くように。
ちなみに、Win9x だと
del [フォルダ名]
だと、フォルダの中身のファイルは消せるが、
フォルダ自体と、フォルダの中のフォルダは残る。
フォルダの中のフォルダがなければ、del した後で、
rd [フォルダ名]
とすればそのフォルダは消える。
NTなら、
del /S [フォルダ名]
で、ばっさり消せるんだけどね。
どっかから、
rm -rf *
で、ばっさり消せる道具を拾ってくるのが吉。
0839名無しさん@お腹いっぱい。
NGNG08401000
NGNG{
va_list argp;
if (gnut_lib_debug>=a) {
pthread_mutex_lock(&_g_debug_mutex);
fprintf(stderr,"%li > ", (long) pthread_self());
va_start(argp,format);
vfprintf(stderr,format,argp);
va_end(argp);
pthread_mutex_unlock(&_g_debug_mutex);
}
}pthread_t pthread_self()
{
// this is only used for debugging, so it's okay to lie here
return (pthread_t) GetCurrentThreadId();
}
このプログラムについて教えてください!
ずっと考えたんですが、超初心者な私にはさっぱりです。
お願いします!!
08411000
NGNGのところが、読みにくくなってしまいました。
すみません。
お願いします!
0842名無しさん@お腹いっぱい。
NGNG0843名無しさん@お腹いっぱい。
NGNGデバッグメッセージ出力用関数。
1つめの引数はメッセージの重要度で、小さい数ほど重要なメッセージであることを示す。
gnut_lib_debug に設定されている値よりも重要な(=値が小さい)メッセージだけが出力される。
2つめ以降の引数はprintfの第1引数〜と同じように書く。
pthread_ほげほげ を使っているのは、
この関数が複数のスレッドから同時に呼び出されたときに
出力が混ざらないようにするため、出力開始から終了までの部分を
同時実行できないようにロックを掛けている。
0844840
NGNGようやく理解できました。
0845名無しさん@お腹いっぱい。
NGNGおねがいします
0846名無しさん@お腹いっぱい。
NGNG0847840
NGNG{
conf_key_pair *ckp;
int i,len;
uchar ret;
ckp=arg;
len=strlen(ckp->key);
for (i=0,ret=0; i<len; i++) {
ret+=ckp->key[i];
return ret;
}
ここでretはどういう意味でしょうか?
keyのi文字目を+していくというのがよく分かりません。
0848名無しさん@お腹いっぱい。
NGNG{
conf_key_pair *ckp;
int i,len;
uchar ret;
ckp=arg;
len=strlen(ckp->key);
for (i=0,ret=0; i<len; i++) {
ret+=ckp->key[i];
return ret;
}
ここでretはどういう意味でしょうか?
keyのi文字目を+していくというのがよく分かりません。
0849名無しさん@お腹いっぱい。
NGNG0850名無しさん@お腹いっぱい。
NGNGアルゴリズム関係の本でも読んでみ?
0851名無しさん@お腹いっぱい。
NGNGする関数だねえ。(ハッシュテーブルの事が分からんと
何でこんなことしてるのか分からんと思う。)
キー文字列の文字コード番号を頭から順番に加えつづけてる
&retがucharなのですぐオーバーフローするけど気にしない。
文字列全部の分のコード番号をたし終わった後の下位1バイト
(かどうかしらんが)をハッシュコードとして返してるって
事じゃないでしょうか。
0852名無しさん@お腹いっぱい。
NGNG報告だけなので、さげ
0853名無しさん@お腹いっぱい。
NGNG仮にa->b->cとあって、そのcとある値を何度も比較するとき、そのまま参照して比較するのと一時的に変数に代入してそれを比較するのとではやはりスピードに差が出るでしょうか?
0854名無しさん@お腹いっぱい。
NGNG環境によると思います。
一時変数を使うことで遅くなることはないとは思いますが
参照しているのは実体ではなく過去のコピーであることには
注意してください。
(他のタスクで書き換えられないのかとか
値を書き換えるときに実体に描きこむのを忘れるとか‥)
0855名無しさん@お腹いっぱい。
NGNG従って、実際どうなるかは流して速度計るとか、
アセンブラレベルで眺めてみるしかないです。
とはいえ、最近のコンパイラなら、勝手にその辺
最適化してしまう「はず」だけど。
0856名無しさん@お腹いっぱい。
NGNGそんなのは普通は気にしないでいいよ。>>854が言っているように、
正しい動作をするコーディングかどうかがまず大切。
「正しい動作をするプログラム」ができあがったら、速度を見てみる。
遅くなければ、めでたしめでたし。
遅い場合は、「どこが遅いのか」を調べて(自分が思いもよらなかった
箇所で遅くなっていたりするので)、一番足を引っ張っているところの
高速化の手段を考えて適用する。適用した後でまた速度を見てみる。以下繰り返し。
0857名無しさん@お腹いっぱい。
NGNGおいおい、全部で100秒かかる処理で、そこの所が
0.1msかかるのか10msかかるのか気にしてもしょうがないだろ。
0858>853
NGNG0859名無しさん@お腹いっぱい。
NGNG0860名無しさん@お腹いっぱい。
NGNG動的変数(スタック変数)
ヒープ変数
アクセス速度に違いってあるの?
0861名無しさん@お腹いっぱい。
NGNG古いCPUなら間接参照のない静的変数が速いでしょう。
あなたが古い8ビット16ビットCPUのためのプログラミングをして
いるのなら静的変数を多用して速度を稼ぐのは効果的かもしれません。
しかし比較的新しいCPUにおいては、間接参照は速度をおとす直接的原因
にはなりません。
それよりもキャッシュのミスヒットのほうが大きなペナルティとなるので
静的変数のほうが遅いなんて事も起こります。
(スタックメモリはキャッシュにおさまっていることが多いのです)
0862名無しさん@お腹いっぱい。
NGNG今どきはユーザよりコンパイラの最適化のほうが賢くなってるかもしれない。
0863名無しさん@お腹いっぱい。
NGNG難しいけど短い命令より
簡単だけど長い命令の方が早く処理する
と聞いたことがある。
0864名無しさん@お腹いっぱい。
NGNGsleep(1);
return 0;
}
という文がプログラムの最後にでてきたのですが、
よく意味がわかりません。
無限ループはわかるのですが、
sleepが分かりません。
初歩的なのですが教えてください。
0865名無しさん@お腹いっぱい。
NGNGman 3 sleep
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/sleep.3.html
0866名無しさん@お腹いっぱい。
NGNGそこみてもわからないのです。ごめんなさい
0867名無しさん@お腹いっぱい。
NGNG----------------------------------------
sleep() は、現在のプロセスを seconds 秒間または無視されないシグナルが到着するまで休止する。
----------------------------------------
って書いてあるじゃん?
とりあえず
main()
{
sleep(10);
return 0;
}
とかってプログラムして実行してみたら?
10秒間ほど帰ってこないから
0868名無しさん@お腹いっぱい。
NGNGそれ間違ってないか?
> while(1) sleep(1);
無限ループでスリープして何になる?
0869名無しさん@お腹いっぱい。
NGNGDOS厨房が書いたサンプルでしょ。
0870名無しさん@お腹いっぱい。
NGNG0871お姉さん
NGNGなんかこのスレ私がいなくてもどんどん続いちゃってるみたいね
今javaに浮気中です!
0872名無しさん@お腹いっぱい。
NGNG870>そういうことなのかなあ、とかってに納得させました。
一度実行してみます。
0873名無しさん@お腹いっぱい。
NGNG0874名無しさん@お腹いっぱい。
NGNGさあ >>888 は誰だ?
0875名無しさん@お腹いっぱい。
NGNGえ゛、まだやるの
「ウルトラ初心者の質問スレ」とかぶらない?
# ここシモネタ多いし...
0876デフォルトの名無しさん
NGNGここは宿題丸投げでも許すところです。
0877じろうくん
NGNGかわいそうだから、あげてみるよ。
0878デフォルトの名無しさん
NGNGなにぶん初心者な者で//多めでお願いしまう。
VC++6.0で、MFCを使ってもかまいません。
(お題)
テキストファイルの数値データを、配列に読み込みなさい。
2.5 2.5 2.5 2.5
2.7 2.5 2.5 2.5
2.835 2.633 2.5 2.5
2.911 2.748 2.546 2.5
こんな感じで、空白と改行で数値が区切られてます。
行数と1行のデータ数が、ファイルごとに違います。汎用性を持たせなければなりません。
ただし、同じファイル内では、1行のデータ数は変わりません。
最終的には、読み込んだデータを元に2次元グラフ(時間t-地点xグラフ)を描いて動かさなければなりません。
例えば、1行目なら、左から順にx=0,1,2,3地点のデータです。
そして、1行目が1コマ目のデータで、2行目が2コマメで、、、といった感じです。
とりあえず、データをファイルに取り込むとこまでやりたいです。
よろしくお願いします。
0879878
NGNG間違えました。
時間t−地点xグラフではなく、y−xグラフです。
数値データがyです
0880デフォルトの名無しさん
NGNGきっと100行越すね。
眠いから無理。
0881878
NGNGそーですか、わかりました。コメントありがとうございます。
どなたか目が冴えてる方お願いできませんか。
0883初心者教育係
NGNGsscanf でパターンにもっともマッチするものを採用して
配列にほうり込んでください。
0884878
NGNGむう、、、そのヒントだけで私にできるとは、、、むう、、、
でも初心者教育係さんありがとうございます。
やっぱ丸投げってのは考えが甘すぎましたかねえ、、、
0885デフォルトの名無しさん
NGNGundef @data;
while (<FILE>){chop;
$data[i]=[split(| |)];
i++;}
close FILE;
print $data[x][y];
てきとー
0886878
NGNGシャレですよね、、、もしかして本物のコードですか?
ってレベルの知識しかない初心者なんです。
月曜が期限なんですよね。はー、寝れないよー。
0887初心者教育係
NGNGFILE * fp; double exp_data[4];
if( (fp = fopen("hogehoge","r")) == NULL )
printf( "can't open hogehoge\n");
else
{
char buffer[4096];
double tmp[4];
int exp_type;
while( fgets( buffer, sizeof(buffer), fp) != NULL )
{
exp_type = 0; // どれにもあてはまらない
// case 1 を調べます
if( sscanf( buffer, "%lf %lf %lf %lf", tmp, tmp+1, tmp+2, tmp+3) == 4)
{ exp_type = 1; exp_data[0] = tmp[0]; exp_data[1] = tmp[1]; exp_data[2] = tmp[2]; ... }
// case 2 を調べます
if( sscanf( buffer, "%lf %lf %lf", tmp, tmp+1, tmp+2) == 4)
{ exp_type = 2; exp_data[0] = tmp[0]; exp_data[1] = tmp[1]; exp_data[2] = tmp[2]; }
}
// てきとーに処理してちょーだい
}
0888887
NGNGいろいろミスがあって調整が必要なので・・ハイ・・
0889デフォルトの名無しさん
NGNG0890困っった
NGNGMS-DOSの表示を画面一杯にしちゃって
不便なので元に戻したいのですが
どなたか教えて頂けないでしょうか?
0891デフォルトの名無しさん
NGNGalt+enter
0892卒業間近女子大生
NGNG「=まで入力された数式を計算し、結果を出力するプログラム」
電卓を作れ、という課題なんですが…。
C言語の授業で死にそうです、誰かヒントでもわかる方教えて下さい。
0893>892 再帰降下型構文解析
NGNG0894878
NGNG初心者教育係さん、どうもありがとうございました。
動的な配列ではないようですが、参考にさせていただき自力でがんばってみます。
他の皆様、引き続きまるなげ解答お待ちしております。
0895890
NGNGありがとうございます。
参考書ができるWindows98なもので。
0896890
NGNGありがとうございます。
参考書ができるWindows98なもので。
0897名無しさん
NGNGtypedef struct
{
union
{
int i;
float f;
}
} DATATYPE;
DATATYPE d[] =
{
1, 2, 3, 4.5678f, 5, 6.789f, 0,
};
このような変数dをint型float型マゼコゼで初期化したいのですが、
コンパイルすると、float型部分がint型に初期化されてしまいます。
構造体内部を
union
{
float f;
int i;
}
とすると、float型に初期化されます。
何かいい手はないですか?
0898デフォルトの名無しさん
NGNGネカマでなければ容姿にもよるが、一発やらせてくれるなら、
手取り足取り教えてやる。
0899デフォルトの名無しさん
NGNG16進数にして初期化。
0x00010135 とか。
float も一応4バイトの擬似整数?の16進で表現できるから。
でも面倒だよ。
0900>897
NGNG0901デフォルトの名無しさん
NGNG共用体の初期値式は同じ型の単一の式か、あるいはその共用体の最初のメンバー
に対する大カッコ付きの初期値式のいずれかである。〜K&R第2版A8.7初期化より〜
あー、意味がつかみにくいのー。
ともかくそういう仕様らしい。
共用体使う場合だと、どのメンバが有効かどうかを示す識別用の変数を使うのが多いと思うが、
ソレが入ってるならば、共用体やめるのがいいんじゃないか。
0902初心者教育係
NGNGそれで初期化すると1がfloatの1.0なのかintの1なのか
不明瞭なのでは。素直にfloatにしてintには変換してはいかがですか?
0903デフォルトの名無しさん
NGNGd[0].i=1;
d[1].i=2;
d[2].i=3;
d[3].f=4.5678f;
d[4].i=5;
d[5].f=6.789f;
d[6].i=0;
ってやれば(藁
こういう風に書きなおすプログラム作ってコンピュータにやらせりゃ良いじゃん。
っていうか int と float の共有体の配列ってどういう場合に使うの?
なんかものすごく使いにくい気がする。
int と float ってメモリ的には全然互換性ないし。(サイズは同じだけど)
0904名無しさん
NGNGありがとうございます。
用途としては、
#define END 0, 2,
#define SETPOSITION(x,y,z) 1, 5, x, y, z
#define GOTO_LABEL(L) 2, 3, L
#define LABEL(L) 3, 3, L
//1番目の引数 = SETPOSITION識別用
//2番目の引数 = マクロのデータサイズ
//3番目以降の引数 = 不定(可変)
のようなマクロを作り、インタープリタのような制御したいのです。
//スクリプト
DATATYPE a[] =
{
GOTO_LABEL(100)
SETPOSITION(1.23f, 4.56f, 6.78f)
LABEL(100)
END
};
//制御プログラム
DATATYPE *p = a;
DATATYPE *q;
switch (*p)
{
case 0: //END
break;
case 1: //SETPOSITION
SetPosition(p[2], p[3], p[4]); //関数
p += p[1];
break;
case 2: //GOTO_LABEL
q = a;
while (TRUE)
{
if (q[0] == 3 && q[2] == p[2])
{
//ラベルかつ引数が同じならば、pはラベルの次のデータを指す
p = q + q[1];
break;
}
q += q[1];
}
break;
}
こんな感じです。
今は解決方法として、>>902さんの方法をとっていますが、すっきりしないので、
もっとスマートな方法は無いのかと思い、質問させていただきました。
データ記述部もマクロを工夫すればなんとかなりそうですね。
大変参考になりました。
0905デフォルトの名無しさん
NGNG根釜の彼もやるき無いみたいだし。
お姉さんときたから、次はなんだろ。妹とか、おばさん?w
0906デフォルトの名無しさん
NGNGそこらへんの兄ちゃんよりできる妹 萌え
0907デフォルトの名無しさん
NGNG演じるのはむずかしいぞw
0908892
NGNGでも東京○×館短期大学情報社会学科のバカ女子大生です。
マジ宿題困ってます、単位ヤバイんです。
善意のある方ヒントでいいんで助けて下さい…。
0909デフォルトの名無しさん
NGNGまぁ、どっちでもいいや、助けてやろう。
朝一で本屋に走って、
「C言語による最新アルゴリズム事典」奥村 晴彦 著(技術評論社)
を買いなさい。
99ページの「式の評価」に該当コードがあるので参考にするなり、
コピーするなりしなさい。
あとは、lex&yaccという手段もあるが、宿題ならダメッポイ。
一応ネットで調べる事をオススメする。
0910デフォルトの名無しさん
NGNG0911デフォルトの名無しさん
NGNGあ>>892は=あるからRPNじゃダメか。
0912デフォルトの名無しさん
NGNGええと、全角スペース→半角スペース2個の変換をしてね。
#include "stdio.h"
#include "string.h"
#define PARSE_OK 1
#define PARSE_ERR 0
#define NUMBER '0'
#define ERRSYM '9'
void getsym(void);
void factor(int *val);
void term(int *val);
void expression(int *x);
int syntax(char *str,int *val);
char sym;
int symval;
char *buff;
void getsym(){
int val=0;
char ch=*buff;
if('0'<=ch && ch<='9'){
sym = NUMBER;
while('0'<=ch && ch<='9'){
val=val*10+(ch-'0');
buff++;ch=*buff;
}
} else {
sym = ch;buff++;
switch(ch){
case '+':
case '-':
case '*':
case '/':
case '(':
case ')':
case '\0':
break;
default:
sym=ERRSYM;
}
}
symval=val;
}
void factor(int *val){
int val1;
if(sym=='-'){
getsym();
if(sym==NUMBER){
val1=symval*(-1);
getsym();
} else goto ERROR;
} else if(sym==NUMBER){
val1=symval;
getsym();
} else {
if(sym!='(')goto ERROR;
getsym();
expression(&val1);
if(sym!=')')goto ERROR;
getsym();
}
*val =val1;
return;
ERROR:
sym=ERRSYM;
return;
}
void term(int *val){
int val1,val2,op;
factor(&val1);
while(sym=='*'||sym=='/'){
op=sym;
getsym();
factor(&val2);
if(op=='*')val1*=val2;
else {
if(val2!=0)val1/=val2;
else sym = ERRSYM;
}
}
*val = val1;
return;
}
void expression(int *val){
int val1,val2,op;
term(&val1);
while(sym=='+'||sym=='-'){
op=sym;
getsym();
term(&val2);
if(op=='+')val1+=val2;
else val1-=val2;
}
*val = val1;
return;
}
int syntax(char *str,int *val){
buff = str;
*val = 0;
getsym();
expression(val);
if(sym=='\0')return PARSE_OK;
return PARSE_ERR;
}
void main (){
char str[255];
int val,i;
scanf("%s",str);
for(i=0; i<strlen(str); i++)
if(str[i] == '=')
str[i] = '\0';
while(strcmp(str,"end")!=0){
printf("%s",str);
if(syntax(str,&val)==PARSE_OK){
printf("=%d\n",val);
} else printf(".. error\n");
scanf("%s",str);
}
}
0913デフォルトの名無しさん
NGNGつまらんプログラムですがよろしかったらお使いください。
/*
<expr> ::= <term> <expr'>
<expr'> ::= '+' <term> <expr'> | '-' <term> <expr'> | ε
<term> ::= <fact> <term'>
<term'> ::= '*' <fact> <term'> | '/' <fact> <term'> | ε
<fact> ::= 整数 | '(' expr ')'
*/
#include <stdio.h>
#include <ctype.h>
char buf[200];
int pos = 0;
match(char c) { if(buf[pos] != c) err(); else ++pos; }
err() { fprintf(stderr, "syntax err\n"); exit(1); }
main() { int v;
fgets(buf, 200, stdin); v = expr(); match('='); printf("%d\n", v); }
expr() { int v = term(); return expr1(v); }
expr1(int v) {
switch(buf[pos]) {
case '+': match('+'); return v + term();
case '-': match('-'); return v - term();
case '=': case ')': return v;
default: err(); } }
term() { int v = fact(); return term1(v); }
term1(int v) {
switch(buf[pos]) {
case '*': match('*'); return v * fact();
case '/': match('/'); return v / fact();
case '=': case ')': case '+': case '-': return v;
default: err(); } }
fact() { int v = 0;
switch(buf[pos]) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
while(isdigit(buf[pos])) { v = v * 10 + (buf[pos] - '0'); ++pos; }
return v;
case '(': match('('); v = expr(); match(')'); return v;
default: err(); } }
0914892
NGNGさっそく参考にしてみます。
そして本屋にも走ってみます。
突然すみませんでした!!
0915デフォルトの名無しさん
NGNGサイトからの転送速度って、サイトに対するダウンロード要求
アップロード要求により変わってくるのでしょうか?
つまり大量のファイルをダウンロード中のサイトからの
ファイルをダウンロードする際の転送速度は
やはり遅くなるのでしょうか?
卒論のテーマの一貫なので、教えていただければ・・・
他にサイトからの転送速度を遅くする方法はどんなのがありますか?
0916デフォルトの名無しさん
NGNGecho y>yyy
del \*.* < yyy
0917915
NGNG他に聴くところ&詳しそうなところが
わからなかったもので・・・・
助けてください。
0918デフォルトの名無しさん
NGNGネットワーク板向きじゃないの?
0919915
NGNG0920マジレスさん
NGNG万年カレンダーC言語で作っています。
日にちの改行のとところがうまくいきません。
どうしたら良いですか?
0921ひげ
NGNG質問の仕方が悪いですよ。
お姉さんもテレパシーを受信できるわけではないので、
きちんとソースを提示してからお願いしましょうね。
0922デフォルトの名無しさん
NGNGa*(bのθ乗)を計算するプログラムを作ったのですが、
これを、θの値を変動させたときの結果をグラフにして
だしたいのですが、どのようなコマンドを
打てばいいのでしょうか?gnuplotだった
と思うのですが使い方がわかりません。
論文締め切り2日前であせってます。
厚かましいですが、くわしめに教えてください。
0923デフォルトの名無しさん
NGNG0924nana
NGNGC言語です。
(課題)
ポインタ渡しの手法を用いて以下で示すプログラムにおいて
● 「各配列のメモリ確保」の部分
● 「各行列」の部分
● 「行列C=A*Bの計算」の部分
● 「各行列の表示」の部分
を関数化しそれぞれ汎用的に用いられるように、プログラムを修正せよ。
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,k;
double value,**a,**b,**c;
/*----各配列のメモリ確保----*/
a=(double **)malloc(3*sizeof(double *));
b=(double **)malloc(3*sizeof(double *));
c=(double **)malloc(3*sizeof(double *));
for(i=0 ; i<3 ; i++){
a[i]=(double *)malloc(3*sizeof(double));
b[i]=(double *)malloc(3*sizeof(double));
c[i]=(double *)malloc(3*sizeof(double));
i++;
}
/*-----------行列のAの入力--------------*/
printf("input values for matrix A\n");
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
printf("A(%d,%d)=",i,j);
scanf("%lf",&value);
a[i][j]=value;
}
}
/*-----------行列のBの入力--------------*/
printf("input values for matrix B\n");
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
printf("B(%d,%d)=",i,j);
scanf("%lf",&value);
b[i][j]=value;
}
}
/*-----------行列のC=A+Bの計算--------------*/
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
c[i][j]=0;
for(k=0 ; k<3 ; k++){
c[i][j] += a[i][j]*b[i][j];
}
}
}
/*-----------行列のAの表示-------------*/
printf("A=");
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
printf("\t%f", a[i][j]);
}
printf("\n");
}
/*-----------行列のBの表示-------------*/
printf("B=");
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
printf("\t%f", b[i][j]);
}
printf("\n");
}
/*-----------行列のCの表示-------------*/
printf("C=A*B=");
for(i=0 ; i<3 ; i++){
for(j=0 ; j<3 ; j++){
printf("\t%f", c[i][j]);
}
printf("\n");
}
}
なにとぞよろしくお願いします。
0925924
NGNG上のプログラミングは2個の3×3の行列の要素をキーボードから入力し
行列の乗算を行うものです。
0926デフォルトの名無しさん
NGNG0927デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
double** malloc_matrix(int x)
{
double** p = (double**)malloc(x * sizeof(double*));
int i;
for(i = 0; i < x; i++)
{
p[i] = (double*)malloc(x * sizeof(double));
}
return p;
}
void free_matrix(double** p, int x)
{
int i;
for(i = 0; i < x; i++)
{
free(p[i]);
}
free(p);
}
void input_matrix(double** p, int x, const char* name)
{
int i, j;
double d;
printf("input values for matrix %s\n", name);
for(i = 0; i < x; i++)
{
for(j = 0; j < x; j++)
{
printf("%s(%d,%d)=", name, i, j);
scanf("%lf", &d);
p[i][j] = d;
}
}
}
void calc_matrix(double** p, double** p1, double** p2, int x)
{
int i, j, k;
for(i = 0; i < x; i++)
{
for(j = 0; j < x; j++)
{
p[i][j] = 0;
for(k = 0; k < x; k++)
{
p[i][j] += p1[k][j] * p2[i][k];
}
}
}
}
void print_matrix(double** p, int x, const char* name)
{
int i, j;
printf("matrix %s values: \n", name);
for(i = 0; i < x; i++)
{
for(j = 0; j < x; j++)
{
printf("\t%f", p[i][j]);
}
printf("\n");
}
}
int main()
{
int x = 3;
double** a = malloc_matrix(x);
double** b = malloc_matrix(x);
double** c = malloc_matrix(x);
input_matrix(a, x, "A");
input_matrix(b, x, "B");
calc_matrix(c, a, b, x);
print_matrix(a, x, "A");
print_matrix(b, x, "B");
print_matrix(c, x, "C");
free_matrix(a, x);
free_matrix(b, x);
free_matrix(c, x);
return 0;
}
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNGCの画像処理プログラムで、
「与えられた濃淡画像の中から最も面積の大きい領域を抽出するプログラム」
がどうしても作れません。
どなたか出来る人いませんか?
#include <stdio.h>
#include <math.h>
#define line 80
#define L 300
#define M 300
FILE *fin,*fout;
char c[100];
int f[400][400];
int g[400][400];
void initfile(void);
void scandata(void);
void hajidata(void);
main()
{
int i,j;
initfile();
scandata();
hajidata();
for(i=1;i<L+1;i++)
{
for(j=1;j<M+1;j++)
{
/* g[i][j] = ??? */
fprintf(fout,"%4d",g[i][j]);
}
fprintf(fout,"\n");
}
}
void initfile(void)
{
int i;
fin = fopen("image1.pgm", "r");
fout = fopen("idou.pgm","w");
for(i=0;i<4;i++)
{
fgets(c,line,fin);
fputs(c,fout);
}
}
void scandata(void)
{
int l,m;
int N;
for(l=1,m=1;l<L+1;m++)
{
fscanf(fin,"%d",&N);
f[l][m]=N;
if(m==M)
{
l=l++;
m=1;
}
}
fclose(fin);
}
void hajidata(void)
{
int i,j;
for(i=1;i<M+1;i++)
{
f[0][i] = f[1][i];
f[L+1][i] = f[L][i];
}
for(j=1;j<L+1;j++)
{
f[j][0] = f[j][1];
f[j][M+1] = f[j][M];
}
f[0][0] = f[1][1];
f[L+1][0] = f[L][1];
f[0][M+1] = f[1][M];
f[L+1][M+1] = f[L][M];
}
0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNG教えてもいいけど・・・
幾ら出す?
説明はだるいからコードプレゼントしてあげるよ。
0932デフォルトの名無しさん
NGNG誰か助けて!
0933デフォルトの名無しさん
NGNG必死だな。勉強しろよ。
0934デフォルトの名無しさん
NGNG人に聞くのはそれからだ
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNGageても>>932は助けてもらえないよ、たぶん。
高校の問題解けない大学生かまって暇あったら、煽ってたほうがいいしさ。
定期ageならご苦労様です。
0937デフォルトの名無しさん
NGNG0938デフォルトの名無しさん
NGNG0939デフォルトの名無しさん
NGNG0940デフォルトの名無しさん
NGNG0941デフォルトの名無しさん
NGNG関係無い事書くならsageろや。
大学生の宿題くらいしか依頼出してまでやるような事じゃない気はするが、
知能的にアヤシイな、確かに。
0942デフォルトの名無しさん
NGNG誰か助けて!
0943デフォルトの名無しさん
NGNGどんなレスがついたら満足なんだ?
ソースファイル全部とか。あほか。宿題の意味ないだろが。
0944デフォルトの名無しさん
NGNGあ゛ー、テメェ本当にウゼェよ。あちこちに書くんじゃねぇ。
そもそも、何が解んないんだよ?
「n次行列の行列式を求める」アルゴリズム?
「JAVAプログラム」自体?
前者なら単位落とせ。バカは勉強シロ!
後者ならどこまで作ったかソース出せ。場合によっては助けてやる。
本買って勉強したか?してないならそっから始めろ。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNG「計算機プログラムの構造と解釈 第二版」
って言う本の答えがあるページ知らない?
0947デフォルトの名無しさん
NGNGさすが大学ですね。
こんな難しい問題が出るなんて。
>>945
わからないので答えられません。
0948デフォルトの名無しさん
NGNGpublic class ドキュソ学生
{
public ドキュソ学生()
{
Syste.out.println("逝ってよし");
System.exit(1);
}
public void main(String args)
{
new ドキュソ学生();
}
}
0949デフォルトの名無しさん
NGNGで、どこの大学なの?
0950名無しさん@お腹いっぱい。
NGNG0951しんじ
NGNGし〜りた〜い〜?
し〜りた〜い〜?
し〜りた〜い〜?
ちんたいば〜〜〜ん!
0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNG0955デフォルトの名無しさん
NGNGわかんねぇんならいちいち口出しするんじゃねー!
0956942
NGNG0957デフォルトの名無しさん
NGNG0958マジレスさん
NGNGさすがドキュソ(藁
行列式なんて余裕でもとまるじゃん。
一応さあ、線形代数とかやってんだろ?
0959一堂零
NGNG0960デフォルトの名無しさん
NGNG0961924
NGNGどうもありがとうございました。
大変感謝しています。
0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNGstring2 = ""
For i = Len(string1) To 1 Step -1
string2 = string2 + Mid(string1, i, 1)
Next
MsgBox string2
0965名無しさん
NGNG力を貸していただきたいのですが。
0966名無しさん@電話にはでんわ
NGNG0967デフォルトの名無しさん
NGNGある程度ソースができてるならまだしも、問題をみてもどーしていいかも
わからない。だから、ここで聞くともできない。
配列ってかなり嫌いだ!
0968デフォルトの名無しさん
NGNGちなみに。C++です。
0969sage
NGNGプログラミングの才能ないんだよ
まぁ世の中プログラミングができなくても
生きていけるから頑張って
(進級はどうなるか知らないけど・・・)
0970デフォルトの名無しさん
NGNGここに問題をだしてくらはい。
0971名無しさん@お腹いっぱい。
NGNG数値解析の本を見るべし。
0972デフォルトの名無しさん
NGNG参考書希望。
0973C言語独習3ヶ月目
NGNGA*A−sinA=0
の実数解を以下の5通りの方法で、
小数点第7位が一致する精度で解き、
その精度が得られる計算回数とともに示す。
ただし初期値 A1=1
(1)ニュートン法
(2)ベイリー法
(3)二分法
(4)10等分法(区間縮小法)
(5)逐次代入法(反復法)
0974名無しさん@お腹いっぱい。
NGNGおいおい、そんな宿題出すところなら図書館に数冊置いてあるだろ。
一番わかりやすいやつ、っつーか
サンプルコードが載ってるやつを奪取する。
0975名無しさん@お腹いっぱい。
NGNG(5)以外はやり方忘れた。で、(5)だが、まずはテイラー展開
(注)d/dxは本当は偏微分。
f(x)=x*x-sinx=0
f(x)=f(x(n-1)+x(n)-x(n-1))
f(x)≒f(x(n-1))+(x(n)-x(n-1))*(d/dx)*f(x(n-1))
∴x(n)=x(n-1)-{x(n-1)*x(n-1)-sin(x(n-1))}/{2*x(n-1)-cos(x(n-1))}
あとはx(n-1) に初期値1を代入してx(n)を求める。
次に、求めたx(n)をx(n-1)に代入してまた、x(n)を求めるというのを繰り返す。
小数点第7位以上が変動しなくなったら終了。読みにくくてスマソ
0976名無しさん@お腹いっぱい。
NGNG#include <stdio.h>
main(int argc,char *argv[]) {
  double diff;
  double x, xn;
  double hoge;
  diff = xn = 1.0;
  for (i = 0; (diff < 1e-7) || (i > 1e4); i++) {
hoge = (xn*xn) - sin(xn);
hoge /= (2*xn - cos(xn));
x = xn - hoge;
diff = x - xn;
xn = x;
  }
  printf("counter = %d", i);
  printf("x = %f",x);
}
間違ってったら訂正頼みます。
0977デフォルトの名無しさん
NGNGこのスレの常連の奴は、パート2を作れよ。
0978デフォルトの名無しさん
NGNG似たようなスレがあるし。
0979976
NGNG0980976
NGNG#include <math.h>
#include <stdio.h>
main(int argc,char *argv[]) {
   int i;
   double diff;
   double x, xn;
   double hoge;
   diff = xn = 1.0;
   for (i = 0; (diff > 1e-7) && (i < 1e4); i++) {
     hoge = (xn*xn) - sin(xn);
     hoge /= (2*xn - cos(xn));
     x = xn - hoge;
     diff = x - xn;
     diff = (diff < 0) ? (-diff) : (diff);
     xn = x;
   }
   printf("counter = %d\n", (i-1));
   printf("x = %10.8f\n",x);
   hoge = x*x-sin(x);
   printf("f(x) = %f\n",hoge);
}
0981C言語独習3ヶ月目
NGNG実行しようとしたんですけど、
undefined symbol: cos
undefined symbol: sin
って出るんですけど。MS−DOSプロンプトにて。
0983976
NGNG食後で気分良いからVC++で動かしてみた。
全然問題なし。やっぱり1行目かいてないだろ。
ただし、細かいところは修正してね。(diff > 1e-7)とかだめだよ。
0984デフォルトの名無しさん
NGNG誰か助けて!
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG984のいってる意味わかる人いる?n次行列の行列式もとめろ?
0987お姉さん
NGNGどうせなら1000行ってもらいたいね。
>984
n痔行列の行列式って、なんですか??
0988260
NGNGab AB aA+bC aB+bD
( cd )( CD ) = (cA+dC cB+dD)
とかっていうやつの
のn痔になったやつ?
0989デフォルトの名無しさん
NGNG0990お姉さん
NGNG次いってみよ!
0991厨房
NGNGC言語です。とりあえず作ってみたものの
ちゃんと答えがでないんですよ。
for文の中身が悪いんだと思うんですけど・・・お願いします。
#include<stdio.h>
int mona,giko,kaijyo;
int main(void)
{
printf("数字 => ");
scanf("%d",&mona);
if ( mona == 1){
giko = 1;
} else {
for ( giko = 1; giko <= mona; giko++){
kaijyo = ( giko - 1 ) * giko;
}
}
printf("階乗 = %d\n",kaijyo);
}
0992デフォルトの名無しさん
NGNGkaijyo *= giko
}
かな?
0993デフォルトの名無しさん
NGNGのうしろに
printf("kaijo=%d giko=%d\n",kaijo,giko);
をいれてその出力をみてればすぐわかるよ。
(*=演算子を使えばカンタン)
0994厨房
NGNGありがとうございます。
やっと次に逝ける・・・(TT)
0995デフォルトの名無しさん
NGNG巧くいったことはどうでもいいから、どうして巧くいかなかった
のかをちゃんと考えた方がいいぞ。
それが厨房脱出の近道〜〜〜。
0996デフォルトの名無しさん
NGNGつうかデバッガつかえよ。ブレークポイント張り&ステップ実行は、
プログラマ初心者ならはまる事請け合い。
0997デフォルトの名無しさん
NGNGオーバーフロー対策しなくていいの?
ついでに言うと、表引きにした方がいいんじゃないっすか?
0998見習い
NGNG0999デフォルトの名無しさん
NGNGソースじゃなくてソースファイルね。
paste.cpp
でどう?
1000デフォルトの名無しさん
NGNG1001デフォルトの名無しさん
NGNG1002お姉さん
NGNG1004
NGNGもう書けないので、新しいスレッドを立ててくださいです。。。 ,
レス数が1000を超えています。これ以上書き込みはできません。