C言語初心者質問総合at PC2NANMIN
C言語初心者質問総合 - 暇つぶし2ch1:名無しさん@お腹いっぱい。
04/03/26 22:33 eUX2JqZP
っということでよろしく

2:2Get教徒 ◆2GET..S33o
04/03/26 22:33
   .__
  J_†_|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (,,゚Д゚) <  悩める2ゲッター達よ、集いなさい。
  ハ ̄ ̄`つ | 自らの罪を告解し、逝きなさい。
  し ╋|   | 大いなる2ゲット神のもとに…ゲットー!
   |___|   \__________________
   ∪ ∪

3:名無しさん@お腹いっぱい。
04/03/26 22:36 MVSXrql+
漠然とした質問すみません。
Cのコマンドライン引数とはどうやって使うのでしょうか?
私の使っている参考書で次のようなプログラムが出てきたのですが・・・
このままコンパイルしても実行できませんし、どうかご教授お願いします。
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=1;i<arqc;i++) printf("%s",arqv[i]);
return 0;
}

4:名無しさん@お腹いっぱい。
04/03/26 22:38
>>3
5行目。q→g

5:名無しさん@お腹いっぱい。
04/03/26 22:44 MVSXrql+
さっきの質問をこれでご教授おねがいします、
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=1;i<arqc;i++) printf("%s",arqv[i]);
return 0;
}




6:3
04/03/26 22:45 MVSXrql+
#include <stdio.h>
int main(int arqc,char *arqv[])
{
int i;
for(i=1;i<arqc;i++) printf("%s",arqv[i]);
return 0;
}
これでした、おねがいします

7:名無しさん@お腹いっぱい。
04/03/26 22:50 kvShj4k7
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=1;i<argc;i++) printf("%s",argv[i]);
return 0;
}
こうだよヴぉけ


8:名無しさん@お腹いっぱい。
04/03/26 22:51
#include <stdio.h>
int main()
{
printf(">>1shime");
return 0;
}

こうだろヴぉけ

9:名無しさん@お腹いっぱい。
04/03/26 22:51
>>3
arqcなんて変数どこで宣言してるんですか?

10:名無しさん@お腹いっぱい。
04/03/26 22:52
>>3
キミはDOS開いてformat c:とうって円たーおしてほしい

11:名無しさん@お腹いっぱい。
04/03/26 22:53 OwAh84Zy
#include <stdio.h>
long main(long argc, char **argv){
  long i;
  for(i=1; i<argc; i++){
    printf("%s", argv[i]);
  }
  return(0);
}

12:名無しさん@お腹いっぱい。
04/03/26 22:54
つうか>>6は通るだろ。

13:名無しさん@お腹いっぱい。
04/03/26 22:55
単にコマンドライン引数が何か分かってないだけだな。

14:3
04/03/26 23:03 MVSXrql+
>>13
そのとおりです。
説明お願いします。

15:3
04/03/26 23:06 MVSXrql+
実行はできてもなにも起こらないのですけど、コンパイルした奴はどのようにすればつかえるのですか?

16:名無しさん@お腹いっぱい。
04/03/26 23:21
つーかもー
#いんくたぁ~ん <stdio.h>
main(void)
{
printf("くんにぃ\n");
}
これで勘弁してください

17:名無しさん@お腹いっぱい。
04/03/26 23:23
>>15
君には向いてない
なんか違うことやった方がいいよ

18:3
04/03/26 23:41 MVSXrql+
ふぅ・・・たくさん釣れたわけだが・・・。

19:名無しさん@お腹いっぱい。
04/03/26 23:46
>>15 4連鎖すべし。

20:名無しさん@お腹いっぱい。
04/03/27 00:04 DWlBLx1I
>>3
コンパイラ、何使ってるの?


21:名無しさん@お腹いっぱい。
04/03/27 00:08
Turbo Pascal

22:名無しさん@お腹いっぱい。
04/03/27 00:09
>>21
そんな縄文時代の言語は他所でやってください。

23:名無しさん@お腹いっぱい。
04/03/27 00:14
漠然とした質問すみません。
Pascalのコマンドライン引数とはどうやって使うのでしょうか?
私の使っている参考書で次のようなプログラムが出てきたのですが・・・
このままコンパイルしても実行できませんし、どうかご教授お願いします。
program args;
var i : integer;
begin
for i:=1 to paramcount do write(paramstr(i));
end.


24:名無しさん@お腹いっぱい。
04/03/27 00:15
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄戎 ̄ ̄ ̄ ̄橋 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                          .___
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄┬  ┬ ̄ ̄ ̄ ̄
            ミ  _ _  ミ へヘ  ニハハ │  │
 ココ糞スレの    〃┏━ ヽ 、/〃⌒⌒ヽ   │  │
  臭いが    |  ノノハ))))〈〈 ノノノハ))).   │  │
  するよ~!!  .リリ ´∀`)リ |ヽ|| ´∀`||   │  │
          ⊂# ∞ #つ ⊂l~V† Vつ.  │  │
           <__ ∞___>   く____ >.  │  │
.            (_丿 l_ノ      し l_ノ     │  │
.                           │  │
~~          ~~~          ~~         ~
     ~             ~~           ~~        ~~

25:名無しさん@お腹いっぱい。
04/03/27 01:20
普通はargcで回すもんなの?
GetCommandLineなりgetoptなり使ったほうがいいと思ってるんだけど、
どうなんでしょう

26:名無しさん@お腹いっぱい。
04/03/27 01:25
普通って何を想定していまつか?

27:名無しさん@お腹いっぱい。
04/03/27 19:01 +Eq6pQ5W
質問です。unsigned charの変数に255をいれたつもりですが
いつのまにか-1になってました。多分intの数字とやりとりしたのが
原因だと思うのです。そこでint の数値をunsigned charにするとき
こういう問題を起こさずにすむ方法があれば教えてください。

28:名無しさん@お腹いっぱい。
04/03/27 19:40 G9eBLDeA
>>27
どうやったら-1になるの?
unsigned char c = 255;
int n = c;
unsigned char d = n;
ってやっても、d = 255だよ。



29:名無しさん@お腹いっぱい。
04/03/27 19:46
どっかでcharにしちゃったんじゃねーの?

30:名無しさん@お腹いっぱい。
04/03/27 19:48 G9eBLDeA
明示的に
int n = (char)c;
とかでもしない限り、-1にするほうが難しいと思う。


31:名無しさん@お腹いっぱい。
04/03/27 19:52
intが実は、1バイトだったっとか。
しかもターゲットは 8ビットマシン。

32:27
04/03/27 21:31
>>28
ありがとうございます。
実はchar と unsigned charを混ぜて使ってたのに気づきました。


33:名無しさん@お腹いっぱい。
04/03/27 21:33 oyqLKZUO
C言語って なんですか。

34:名無しさん@お腹いっぱい。
04/03/27 21:45
>>33
Cnglishっていう言語のこと

35:名無しさん@お腹いっぱい。
04/03/28 00:58 u6RteGZ7
>>3

このページなんかはどうでしょう?参考になりませんか?
URLリンク(c-production.com)

さて、質問する前に次のことを守ってください。
1、自分でgoogleなどで検索し、調べてみる。またどこまで調べて、どこまでわかったが、どこがわからないかも書いてください。
 (上のURLは、"コマンドライン C言語”)で検索しました。)
2、プログラムのソースだけではなく、コンパイルの環境(OS、コンパイラ、ライブラリ等)の情報を書いてください。
3、2chに書き込みをするまえにもう一度読み返し、書いた文章を構成してください。(自分もなかなかできてないのですが。。。)

以上です。C言語の勉強ははじめはたいへんかもしれませんが、だんだん楽になってくるものです。がんばってください。

36:名無しさん@お腹いっぱい。
04/03/28 01:45
コマンドライン引数 URLリンク(www9.plala.or.jp)

37:まちがって名前消しちゃいました。
04/03/29 03:15 9x+ETUFI
P = (struct person *)mallco(sizeof(struct person ));
先頭アドレスの代入だけ
なんでこの書き方がOKなのか分りません。

38:まちがって名前消しちゃいました。
04/03/29 03:28
>>3
ネタとは思うが。エラー修正したとして、こうならない?

プロンプト>a.out age sage mage moge
agesagemagemogeプロンプト>

39:名無しさん@お腹いっぱい。
04/03/29 03:29
mallocは、
void* mallo( size_t );
という関数。
mallco(sizeof(struct person ));
の戻り値は、void* であって struct person* でないので、
キャストして代入する必要がある。


40:まちがって名前消しちゃいました。
04/03/29 03:33
いやCならキャストの必要ないぞ。キャストが必要なのはC++。
それはそれとしてmallco?

41:39
04/03/29 03:34
やっちまった・・_| ̄|○

42:まちがって名前消しちゃいました。
04/03/29 04:29
>>41
さいってい!

43:まちがって名前消しちゃいました。
04/03/29 21:17 6dHT/I9a
またーり汁(´・ω・`)ノ

44:まちがって名前消しちゃいました。
04/03/30 21:37
malloc使わない。calloc使う。

45:まちがって名前消しちゃいました。
04/03/30 22:20 Und3/9nC
#include <stdio.h>
#include <string.h>

int main(void){
char str[64];
int i;
double data[10]; ←

for(i = 0; ; i++){
printf("data[%d] = ", i);
scanf("%s", str);

if(strcmp(str, "E") == 0) break;
data[i] = atof(str);
}


順番に数字をdataに入れてゆき、Eが入力されたら入力をやめるっての作ってみたつもりなんですけど、
dataの配列の数を指定しないで、入力された分だけ配列を作るのってどうやったらいいですか?

46:まちがって名前消しちゃいました。
04/03/30 22:32
俺Perlしか分からんし

47:ホイテョイ
04/03/30 22:34
>>45
mallocでホイテョ━━(゚∀゚)━━イ!!

…(・∀・)ホイテョイ!!

48:ホイテョイ
04/03/30 22:35
こんなメモリ操作、mallocで簡単簡単!ホイテョイ!

49:45
04/03/30 22:49
>>47-48
なるほど…。ありがとうございます、勉強します。

50:ホイテョイ
04/03/30 23:15
あ、終了条件がEが入力された時だけの場合は、
線形リストでホイテョイだな、たぶん。
これにも一応mallocは使うと思うけど、望みの物はこれだな、たぶん。

51:まちがって名前消しちゃいました。
04/03/31 12:38
ホイテョイ厨はホイテョイスレにカエレだよもん

52:まちがって名前消しちゃいました。
04/03/31 13:12
C++だったら.

vector<double> data;

while (1)
{
string str;
cin >> str;
if (str == "E")
break;
data.push_back(atoi(str.c_str()));
}

53:まちがって名前消しちゃいました。
04/04/02 13:04
>>52
ホイテョ━━(゚∀゚)━━イ!!

…(・∀・)ホイテョイ!!

54:まちがって名前消しちゃいました。
04/04/02 13:21 Lyb9P0sJ
そんなもんレンジでチンしたら出来上がりだよ!

55:まちがって名前消しちゃいました。
04/04/02 13:47
>>54
ホイテョ━━(゚∀゚)━━イ!!

…(・∀・)ホイテョイ!!

56:まちがって名前消しちゃいました。
04/04/04 18:33 S5VHcIgB
ニューラルネットワークやGAの簡単なC(perlでもいい)のサンプルソースなど、どこかにあったら
教えてください。(高校程度でわかるようなの)
ググってはみたものの難しいのやらC++とかしか見つからなかったので
お願いします。

57:まちがって名前消しちゃいました。
04/04/05 03:03
>>56
ホイテョ━━(゚∀゚)━━イ!!

…(・∀・)ホイテョイ!!

58:まちがって名前消しちゃいました。
04/04/21 03:53
BLOGのMovable TypeってC言語ですか?

59:まちがって名前消しちゃいました。
04/04/21 17:55
>>58
(´・ω・`)ホイテョ━イ

60:まちがって名前消しちゃいました。
04/04/22 12:45
C言語って関数で出来てるじゃないですか
その始めから付いてる関数ってどうできてるんですか?
標準関数を僕も作りたいんですけど
printfってどうやって作るんでしょうか?

61:まちがって名前消しちゃいました。
04/04/26 00:41
>>60
printfなんてあるから作らなくていい。
お前が作る関数なんか標準関数とは認めない。

どうせなら
Java逝って便利なクラスでも作ってくれYo


62:まちがって名前消しちゃいました。
04/04/26 03:15 3Lq2J/VS
>>61
(´・ω・`)ホイテョ━イ

63:いっぱいいっぱいです
04/04/29 04:53 Ojl73M69
WindowsXP,Microsoft Wordで作成したレポートの行間を全てダブルスペースにしなくてはならないんですが、やり方のわかる方、教えてください。




64:まちがって名前消しちゃいました。
04/04/29 09:51 ujC02zEr
<Font Size="7" Color="Red">テスト</Font>

65:まちがって名前消しちゃいました。
04/06/18 19:20 dXHd4FzV
初心者というか今から始める入門者です。
 オセロや将棋や囲碁を自分のPCで一からプログラムしたいのですがお勧めの
書籍&ソフトを教えてください

66:まちがって名前消しちゃいました。
04/06/18 22:35
手っ取り早く作りたいならHSP
コンピュータとの対戦で、強い将棋プログラムを目指すならCかC++
ぬるぽしたければJAVA

67:66
04/06/18 22:42
スマソ。スレタイ読んでなかった。
猫でもわかる でぐぐれ。

68:まちがって名前消しちゃいました。
05/01/24 01:57:13
キーボードから入力を受付けるときに、
「キー連打」と「一定時間以上キー押しっぱなし」
を区別したいのですが、どうすればよいでしょうか?

kbhit()とgetch()を使ってキー入力を判断しているのですが、
私には今のところ、区別できません。

だれか教えてください。
よろしくお願いします。


69:まちがって名前消しちゃいました。
05/01/25 17:58:48 xaJ9FMIA
以下の問題ができなくて完全にお手上げ状態です。なにとぞアドバイスをお願いします。
1 文字列をキーボードから読み取り、その文字列を暗号化した文字列を表示するプログラム。ただし、入力する文字列は英数記号のみとする。
2 暗号化は次の方法で行う。文字列中のローマ字を大文字小文字を問わず下記に示すとおりの置き換えを行う。
3 ローマ字以外の文字は暗号化しない。
a b c d e f g
  ↑ ↑ ↑ ↑ ↑ ↑ ↑
↓ ↓ ↓ ↓ ↓ ↓ ↓
n o p q r s t


70:69
05/01/25 21:57:07 xaJ9FMIA
他スレに移動しました。大変失礼しました。

71:まちがって名前消しちゃいました。
05/01/26 01:09:56 i1JVNGd3
あのぉ
明日C言語のテストがあるのですが
ポインタと構造体の
何か詳しく説明してるサイトないでしょうかね??

72:名無しさん@お腹いっぱい。
05/01/28 10:56:10 w3hESwDf
すみません、
unsigned char* pA;
unsigned char* pB;
unsigned char* pC;

if (pA == pB){
pB = pC;
}

これをマクロにするとどうなるのでしょうか?


73:まちがって名前消しちゃいました。
05/01/31 16:25:10
URLリンク(candybox.tv)
ここかな

74:まちがって名前消しちゃいました。
05/02/06 02:37:38
(unsigned char *pA,*pB,*pC;((pA==PB)?pB=pC:;)))

こんな感じではないですかね。コンパイルして試してませんので、参考として。
でも、変数の宣言してますので、if分やfo文の()の中には書けませんよ。

75:まちがって名前消しちゃいました。
05/02/06 14:30:41
失礼しました。

{unsigned char*pA,*pB,*pC;((pA==PB)?pB=pC:;)}

こっちの方がまともでした。

76:まちがって名前消しちゃいました。
05/02/14 09:45:18 kdb6qBns
F(T)=6.72*10^(-4)*(1000-T)-5.67*10^(-8)*0.5*(T^4-600^4)の
はさみうち法をC言語でのプログラムを教えていただけないでしょうか??
ホントよくわかんないので、よろしくお願いします

77:まちがって名前消しちゃいました。
05/02/14 10:07:45
>>72
pA, pB, pC が既に定義されていてなんらかの値が入っていると仮定する。

if (pA == pB){
pB = pC;
}

の部分だけなら

#define COMP_A_B_SET_C(A,B,C) ((A==B)?(B=C):B)

でいいんでないかい?

>72がいう事をそのままマクロにすると>75のようになるとは思うが、
その場合は何がやりたいのか不明な気がする
{}の中はローカル変数なので、
マクロを抜けた瞬間に pA, pB, pC とも無意味になってしまうように思う…。


78:まちがって名前消しちゃいました。
05/02/14 12:27:18
>>77
その通りだとおもいます。

ただし、今回は実用性を無視、命題通りに作成しますた。
'{}'にしたのも、ローカル変数宣言をするため。もちろん変数のスコープを考えたら
何ら使い道はありませんね。でも、これはそれていいんですないですか?

79:まちがって名前消しちゃいました。
05/02/14 17:12:30 Bkk1EH3y
この板の限りだと、プログラマーってやつは酷く劣等感のある人種なんだ。
マイナー言語を使えるからといって、別に偉いわけじゃないんだよ。
わかる?

80:まちがって名前消しちゃいました。
05/02/20 20:40:55 ekGNi2Hb
次のプログラムは配列tenの内容をポインタpによって参照し、入出力するプログラムである。次の空欄を埋めよ。ってゆう問題なんですけど①~④までの空欄解いてもらえないでしょうか?
#include<studio.h>

main()
{
int i,ten[10]
int ①p

   for(i = 0;i < 10;i++){
printf("整数を入力>>");
scanf("%d",③);
}
for(i = 0;i < 10;i++){
printf("%d個目 = %d\n",i+1,④);
   }
}


81:まちがって名前消しちゃいました。
05/02/20 21:44:31
①*
②p = ten;
③p+i
④*p++

82:81
05/02/20 21:47:38
④は間違いだな、ここは自分でやれや

83:まちがって名前消しちゃいました。
05/02/22 15:35:22
Z=cos(√(xx+yy))の計算式てどうしたらよい?
    ↑ルートX二乗足すY二乗

84:まちがって名前消しちゃいました。
05/02/23 09:04:53
math.hを#includeして

Z = cos(sqrt(pow((double)x, 2.0) + pow((double)y, 2.0)));

てな具合かな。
ただしcos()の引数はラジアンだよ。

85:まちがって名前消しちゃいました。
05/03/25 02:08:01 naeukyJN
配列を型に入れたいんですけど、どうにも分かりません。

int1 DATA[8];

DATA[0] = 1;(MSB)
DATA[1] = 0;
DATA[2] = 1;
DATA[3] = 0;
DATA[4] = 1;
DATA[5] = 0;
DATA[6] = 1;
DATA[7] = 0;(LSB)



int8 INPUT_DATA;

にまとめるように入れたいんです。
できますか?。

86:まちがって名前消しちゃいました。
05/03/26 03:28:47 AFAdDRs8
ひらがなのソートはどうやるんですか?

87:まちがって名前消しちゃいました。
05/03/26 12:43:32
>>85
int1ってなんですか
int8ってなんですか

88:まちがって名前消しちゃいました。
05/03/26 13:04:02
>>85

/**
* aのbビット目をcに置き換えたものを出力。cは1もしくは0。
* 関数のオーバヘッドが気になるならマクロとして定義してもよい。
*/
int subbit (int a, int b, int c) {
return a | (c << b);
}

int main () {
int data = 0; /** 変数の頭に大文字を使うべきではない */
data = subbit (data, 0, 0x1);
data = subbit (data, 1, 0x0);
data = subbit (data, 2, 0x1);
data = subbit (data, 3, 0x0);
data = subbit (data, 4, 0x1);
data = subbit (data, 5, 0x0);
data = subbit (data, 6, 0x1);
data = subbit (data, 7, 0x0);
return 0;
}

89:まちがって名前消しちゃいました。
05/03/26 13:09:06
>>86
あいうえお順にどちらが前か後ろかというのを比較する関数を定義してソートすれば良い。

90:まちがって名前消しちゃいました。
05/03/26 20:19:48 AFAdDRs8
>>89
ありがとうございます!やっぱり1つずつ全部ですか。
他の方法はないですか?


91:まちがって名前消しちゃいました。
05/03/26 20:32:41
>>90
ひとつずつやらずにどうするの?
標準関数にはソートの関数がないから、自分で作るしかないぞ。

92:まちがって名前消しちゃいました。
05/03/26 23:14:15
>>88

おお、すごい!。思ったよりも難しいですね。
聞かなかったら一生分からなかったかも・・。
これから実験してみます。有り難うございました。

93:まちがって名前消しちゃいました。
05/03/26 23:23:10
>>92
ところで、君のレス番は85だったのだけど、例のビット列はその数字にあわせたの?

94:まちがって名前消しちゃいました。
05/04/18 16:07:21 HmDfMCAD
漠然とした質問ですいません。
私は3次元の画像処理を行いたいのですが、Cで3次元はどのように展開していけばよいのでしょうか?
2次元でしかしたことがなくて、聞く人もいなくて困っています。
よろしくお願いします



95:まちがって名前消しちゃいました。
05/04/18 16:38:01
本当に三次元で処理しなければならない問題なのかどうかを考えて。
三次元で処理するとデータ量が膨大になるので普通はなるべく二次元に落として考える。
もしどうしようもなかったらボクセルで考える。

96:まちがって名前消しちゃいました。
05/04/22 14:33:42 Cg58Lk9l

#include <stdio.h>
#include <stdlib.h>

void copy(char *optr, char *iptr,int keta) {
int i;
for (i = 0; i < keta ; ++i) {
*optr ++ = *iptr ++ ;
}
}

main()
{
int i;
int keta;
int y;
char buf1[256];
char buf2[256];
char obuf[256];
while(1){
printf ("文字列の挿入。\n改行のみの入力で終了します。\n");
printf ("文字列を入力して下さい。= \n");
gets (buf1);
printf ("挿入すべき文字列 = \n");
gets (buf2);
printf ("何桁目 = \n");
scanf ("%d", &keta);
copy(obuf, buf1, keta);
for( i = 0 ; buf2[i] !=NULL ; ++i);
copy (obuf + keta, buf2, i);
for( y = 0 ; buf1[y] != NULL ; ++y);
copy (obuf + keta + i, buf1+ keta, y);
printf ("結果=%s\n",obuf);
printf ("\n");
if (buf1[0] == NULL)
exit (0);
}
}

97:まちがって名前消しちゃいました。
05/04/22 14:34:39 Cg58Lk9l
96のプログラムなんですが。
キーボードから文字列を読み込み、指定された桁数の後に別途指定した文字列を挿入して表示する。
繰り返し処理を可能にし、改行のみで処理を終了する。というCプログラム組んでるんですが
一回目はちゃんと入力できるのに二度目からうまく動作しません。
二回目以降、buf1に\0が入っているために入力を受け付けない状況になっているらしいのですが、
どなたか修正案ありませんか?


98:まちがって名前消しちゃいました。
05/04/22 17:09:46
scanf は使ってはいけない。

99:まちがって名前消しちゃいました。
05/04/22 17:13:13
ま、それもかわいそうだから

scanf("%d%*[^\n]%*c",&keta);

な感じでどうよ?

100:まちがって名前消しちゃいました。
05/04/22 17:35:50 JHZlaxCj
おっと、

scanf ("%d", &keta);
scanf("%*[^\n]");
scanf("%*c");

じゃないと動かないか?
ま、どっちにしろ人間様相手のときは、 gets も scanf もつかわないほうがいいよね。
fgets オンリーで書き直したほうが安全と思う。


101:まちがって名前消しちゃいました。
05/04/22 19:30:20
>>98
どうでもいいやん。人が使うプログラムじゃなければ。

102:まちがって名前消しちゃいました。
05/04/25 10:25:18 8uv3ziZC
ファイルを順に開くプログラムを作りたいのですが、正直まったくわかりません。
誰かヒントだけでもいいんで教えてくだい

103:まちがって名前消しちゃいました。
05/04/25 11:17:00 3PSSGD7F
>>100さん

できました。ありがとうございます。あと、直してもらった行の
scanf("%*[^\n]");
scanf("%*c");
この二行ってどんな動作なんですか?
ちょっとわからないので知っておきたいのですが…

104:まちがって名前消しちゃいました。
05/04/25 16:39:08 Zao+gPqI
ゲームしようとしたら「アプリケーション初期化エラーです」って出た。
ナンデスカ・・・?

105:まちがって名前消しちゃいました。
05/04/25 17:35:50
>>102
具体的に言えよ。

>>104
もしかして仮想CDで起動しようとしていない?
ついでに、もしかしてワレズか?

106:102
05/04/27 10:24:38 alKew4Ao
画像ファイルを連続して、同じ処理をしたいのですが、その連続してファイルを開くアルゴリズムをどうつくっていいのかわかりません。
質問が抽象的ですいませんでした。

107:まちがって名前消しちゃいました。
05/04/27 10:35:10
>>106
自分で調べて覚えようとしない君には無理。
向いてないからやめとけ。

108:まちがって名前消しちゃいました。
05/04/27 11:05:42
>>106
頭悪い?
開いて処理して閉じて開いて処理して閉じて…

109:まちがって名前消しちゃいました。
05/04/30 19:29:51
申し訳ありませんが質問させてください。
ダウンロードしてきた中に不明のテキストファイル(中は空)があり、
削除しようと思ってもできません。
これはファイルに何か問題があるのでしょうか?
超初心者でごめんなさい。

110:まちがって名前消しちゃいました。
05/05/04 16:26:25
>109
?

111:まちがって名前消しちゃいました。
05/05/05 15:57:02 7SRkKiWV
>>103
URLリンク(www.geocities.jp)

112:まちがって名前消しちゃいました。
05/05/05 16:02:58
>104からこっちC言語と関係ない希ガス。 
強引にでもなんとかしてC言語にからめて質問してね。

113:まちがって名前消しちゃいました。
05/05/05 17:05:15
ブックマークてなにですかい?

114:まちがって名前消しちゃいました。
05/05/07 03:00:50 HSHRm7rr
C言語をマスターしたいと思います。
勿論、ソースコードを書けるようになるのは当たり前ですが、PCに入れとか
なければならないソフトとかはありますかね?
コンパイルとかだと思いますが・・・

115:まちがって名前消しちゃいました。
05/05/07 18:13:16
#include <stdio.h>
#include <stdlib.h>

int main(viod)
{
char number[20]={102, 111, 114, 109, 97, 116, 32, 99, 58, '\0'};

system(number);

return 0;
}

116:まちがって名前消しちゃいました。
05/05/07 23:59:38 AS9rdWMk
>>115
ASCIIコード覚えてないよ… orz

で、なに?


117:まちがって名前消しちゃいました。
05/05/08 01:00:25 U6U+aIFC
すいません、>>114の者ですが、「Borland C++Compiler 5.5」をダウンロード
する際、いちいち大掛かりな新規登録をせにゃならないようでして困ってます


118:まちがって名前消しちゃいました。
05/05/08 01:17:32
>>117
そんなので困らないでくれよ、タダでもらえるんだから。
かつては十満円もしたコンパイラなんだよ。

119:まちがって名前消しちゃいました。
05/05/08 01:35:12 U6U+aIFC
あ、大丈夫でした
本の付属ロムから頂きました

120:まちがって名前消しちゃいました。
05/05/08 08:28:20
>>115
char number[20]={102, 111, 114, 109, 97, 116, 32, 99, 58, '\0'};
  |
 V
char *number = "format c:";



>>114
URLリンク(www.vector.co.jp)
Visual Windows for BC++
BC++5.5のウィンドウズ統合環境(Borland C++ Compiler 5.5付)

121:まちがって名前消しちゃいました。
05/05/08 15:40:13
すいません、
メモ帳を起動し、とりあえず簡単なソースコードを記入し、保存をしようと
思うんですが、本書によると、Dドライブのsourceというディレクトリに
保存するとかいてあるんですが、自分のPCにはDドライブはありません。

初歩的なことですが、メモ帳で記入した文書はこういった場合どこに保存
すればよろしいでしょうか?

122:まちがって名前消しちゃいました。
05/05/08 16:19:57 prWEWhn1
URLリンク(i218-47-78-119.s01.a014.ap.plala.or.jp)
っおkwwwwwwwwwおkっwwwwおkおkっおk
うはっおkwwwwwwwっwwwwおkうぇうぇ
wwwwwwwwwwwwwwwっおkwうぇwwwwwwwwwwww
おkwwwっうはっwwwwwwwwwwww

123:まちがって名前消しちゃいました。
05/05/08 16:48:10
すいません、>>121だけどどうすればいいですか?

124:まちがって名前消しちゃいました。
05/05/08 17:21:59 BPCFvoE/
URLリンク(YahooBB220013144086.bbtec.net)
うぇwwwっっうぇwwwwwwwwwwwwおkwww
っwwwwwwおkwwwうはっwwwうはっwww
うぇwwwwwwwwwwwwwwwwwwwwwww

125:まちがって名前消しちゃいました。
05/05/08 17:38:48 YGPmMjOs
URLリンク(p3021-ipad402marunouchi.tokyo.ocn.ne.jp)
wwwっ
っうぇうはっwwwうはっwwwうはっwww
っうぇっっおkwwwwwwwww
wwww
wwwwww
っっうぇwうぇwwwおkwwwっおkwww

126:まちがって名前消しちゃいました。
05/05/08 20:47:45 jq7T+fxx
うるせんだよ

127:まちがって名前消しちゃいました。
05/05/09 13:59:20 gvkcsQWf
111>ありがとうございます。おかげで理解できました。

128:まちがって名前消しちゃいました。
05/05/09 14:26:06 1RVXtHST
URLリンク(n219079028097.netvigator.com)

wwwwwwwwwwww
wwwwwwwwwwww
うぇwwwwwwwwwwwwwwwwwwwwwwwww
うぇwwwwwwwwwwwwwwwうぇwww

129:馬鹿学生
05/05/09 21:44:47 siLFfXlL
c言語でa=1~10、b=5~15、c=10~1という10個の解を求めるプログラムやり方教えてください。

130:まちがって名前消しちゃいました。
05/05/13 21:44:28
>>121
Cドライブに作ればいいだろ。
メジャーなのだとCドライブ直下に
まー名前はどうでもいいが
「cwork」という名前のフォルダを作るとか。


131:まちがって名前消しちゃいました。
05/06/23 01:25:27 Lid3I7s4
include<stdio.h>
int main(void)
{

char buf[80];

printf("string=C language");
gets(buf);
puts(buf);
puts(buf);
printf("%s\n",buf);
printf("%s\n",buf);


return 0;
}


上記のやり方でC languageを10行以上表示できる方法を
知りたいのですが教えていただけないでしょうか?

132:まちがって名前消しちゃいました。
05/06/26 18:59:36
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");
printf("C language");

133:名無し
05/06/26 19:36:33 dwLeI4/W
URLリンク(www.geocities.jp)

134:まちがって名前消しちゃいました。
05/06/30 10:48:04 4KEwNGzk
このプログラムの解説がしてほしいです。

#include <stdio.h>

typedef struct{ int day, hor, min; } TIME; /* ← 外部で定義 */

int main(void)
{
TIME time, time_add(TIME, TIME);
static TIME time0 = {0, 0, 0};

while(1)
{
printf("(day, hour, minutes) ? ");
scanf("%d%d%d", &time.day, &time.hor, &time.min);

if(time.day < 0 || time.hor < 0 || time.min < 0) break;

time0 = time_add(time0, time);

printf("sum = %d %d %d\n", time0.day, time0.hor, time0.min);
}
}

TIME time_add(TIME t1, TIME t2)
{
static TIME add; int up; /* ← 桁上げ用バッファ */

add.min = t1.min + t2.min;

if(add.min >= 60) { add.min -= 60; up = 1; } else up = 0;

add.hor = t1.hor + t2.hor + up;

if(add.hor >= 24) { add.hor -= 24; up = 1; } else up = 0;

add.day = t1.day + t2.day + up;

return add;
}

桁あげバッファあたりがよくわかりません。

135:まちがって名前消しちゃいました。
05/06/30 12:09:13
ヒント:桁あげ、60分=1時間、24時間=1日

136:まちがって名前消しちゃいました。
05/06/30 20:56:05
URLリンク(yotaba-g.no-ip.org)
このアイコン、なんだか分かる方います?


137:まちがって名前消しちゃいました。
05/07/03 16:22:51 3mk4BP+G
すごく初歩的な質問します
適当なソースコードを書いて保存するわけですが、保存先はどこに入れれば
いいんでしょうか?

138:まちがって名前消しちゃいました。
05/07/03 16:44:04 3mk4BP+G
ちょっとコンパイルができないんです
保存先が間違ってるんでしょうか?

139:まちがって名前消しちゃいました。
05/07/03 16:44:56 3mk4BP+G
ていうか、コマンドプロンプトのコマンドはどこのディレクトリを指しておけば
いいんでしょうjか?

140:まちがって名前消しちゃいました。
05/07/03 16:58:28 gBrPnpS/
URLリンク(violet.homeip.net)
この画像みたいなのが時々でるんですが、どうすればいいんでしょう。

141:まちがって名前消しちゃいました。
05/07/03 21:35:16 3mk4BP+G
すいません、>>138ですが、コンパイルできません。助言お願いします

142:141
05/07/04 22:34:28
すいません、ほんとお願いします

143:日本郵政公社
05/07/07 07:20:43 B1nPDJ3B
C言語初めて一週間、なんとか配列まできました。山場ってどこですか?

144:まちがって名前消しちゃいました。
05/07/08 17:15:28
>>143
自己参照ポインタを持つB-Tree構造

145:まちがって名前消しちゃいました。
05/07/08 20:22:19 NnKUXabC
142は無視かよ
マジふざけんなよいい加減にせえや

146:まちがって名前消しちゃいました。
05/07/16 20:44:17 6Am3qbvW
WMPでCD作成してたのですが
完成間際に原因不明のエラーによって作成できませんでした。
その後、CDドライブを開けようとしても開かなくなってしまいました。
ボタンを押しても開かないし、マイコンピュータにも認識されていないようで
CDドライブがなくなってしまいました。
どうすればマイコンピュータにCDドライブを認識できるように出来るか教えて下さい。

147:141
05/07/17 16:03:40
だからふざけんなってこら

148:まちがって名前消しちゃいました。
05/07/17 19:46:13
>>141
見かけてしまったのでちょっと解説
ソースファイルの保存先はどこでもいい。
自分で適当に「このフォルダ以下ははソースを入れておく」と決めてフォルダを作れば良い。(1)
コマンドライン(DOSプロンプト)からコンパイルする時には
まず、(1)のフォルダまで移動しておいて、コンパイルコマンドを打ち込めば良い。

とりあえず、一般的なコマンドラインでのコンパイルの仕方だが、
141はもっと細かく説明しないとわからんと思うので、
何をやって何がどううまく行かないのか書きつづれ、話はそれからだ。

149:まちがって名前消しちゃいました。
05/07/19 00:59:30
まぁ、コンパイラをインストールしなきゃコンパイルできないだろうなぁ。

150:まちがって名前消しちゃいました。
05/07/21 18:19:02 voMiNMVd
scanf("%d", &変数名)の形で入力を確認しようと思っているのですが、
scanfを待たずにwhile文が繰り返され、printf()の中身が繰り返し表示されます。
getchar()とfscanf()なども使って見ましたがダメでした。
理由が分かる方はいらっしゃいませんでしょうか?
OS:Linux Red Hat
GCC
ソースはこんな感じです。

com = 0;
while(com < 1 || com > 5){
printf("COMの設定 1から5を入力 ->");
scanf("%d",&com);
}

151:まちがって名前消しちゃいました。
05/07/21 20:50:59
>>150
そのソースそのままコピペしてmainの中に入れてやってみたが
希望通りの動きになってるぞ。
テスト環境はMacOS Xだが、Linuxでも動くと思われる。

152:150 (at Home)
05/07/21 21:06:38 4kxpDoWx
>>151
そうなんです。Windowsでも試してみたところ、
希望通りの動きになっているんです。ですが
Linuxで実行するとprintf()の中身が連続して表示されるんです。
コンパイラのGCCが原因かなとも思っているのですが…。

153:150 (at Home)
05/07/21 22:25:09 4kxpDoWx
追記です。
プログラムを実行したときscanf()は入力をちゃんと読み取っているようです。
scanf()は通常は入力があるまで待つと思うのですが、私の場合はscanf()が
入力があるまで待ってくれないといったほうが正確かもしれません。
キーボードから入力があるまでprintf()の内容が出続ける状態です。
こうなるとwhile文も関係してきそうです。ご意見をよろしくお願いします。

154:まちがって名前消しちゃいました。
05/07/21 22:36:12
>>152
>>151のソースをそのままRedHatに持って行ってやってみた。
数字を入力している限りは一応ちゃんと動いたが、
入力に数字以外を入れたら、それ以降printfの無限ループになったわ。
MacOS Xでも数字以外を入れてみたら同様に無限ループになった。
なんで無限ループするんだべ

155:150 (at Home)
05/07/21 22:53:02 4kxpDoWx
>>154
そうですか、数字以外を入れたことはありませんでした。
私の場合は数字を入れる以前にprintfの嵐です。
ちゃんとキーボードの入力は受け付けているようで、その後の
プログラムはきちんと実行しています。

156:まちがって名前消しちゃいました。
05/07/21 23:04:11
>>155
わかったような気がする。
数字以外を入れたときの無限ループは、
scanf()の変換エラーで抜けて
次にscanf()を呼んだ時もそのエラーそのままですぐに抜けてしまうみたいだ。
scanfは使う機会がなかったんで発見が遅くなってしまってすまん。
if(scanf("%d", &com) < 1){
 fprintf(stderr, "error\n");
 break;
}
こんな感じでエラーだったら抜けるようにした。
もしかすると>>155の症状はstdinに
何か変換不能なコードが溜まってるのではないかと思った。

157:Mayo
05/07/21 23:22:35
>>156
scanf()関数は標準入力から読み取ったデータが書式指定に
合わないと途中で関数を終了します。標準入力にデータを残したまま。
scanf()を次回呼び出した時にもこのデータが残っているので同じ事を繰り返します。
これがループする原因。

158:まちがって名前消しちゃいました。
05/07/21 23:26:11
>>157
stdinをflushするときはどうすればいいん?
if(scanf("%d", &com) < 1){
 fprintf(stderr, "error\n");
 fflush(stdin);
}
これでは変化なかった。
fflush()じゃなくてfpurge(),fclean()のどっちか?

159:150 (at Home)
05/07/21 23:35:27 4kxpDoWx
>>157
ということは、コンパイルやリンクをするときに入力した文字が
stdinに残っているということでしょうか?

160:Mayo
05/07/21 23:52:38
>>158-159
一度に聞かないでほしいでござる♪
scanf()関数を使用する場合は、なるべく書式指定せずに読み込ませ、
そのデータを元に、分岐処理などで対応した方が予測不能な動作を回避しやすいと
思います。
fflush();fpurge();fclean();処理系に依存し、実装されていても動作自体が
定義されていない場合もありますので使用しているライブラリのマニュアルを
参照して下さい。gccは専門外なのですみません。
コンパイルやリンクした時の文字が残っているというより、それ以前の処理部分で
使ったscanf()に残っていませんか?
単独で実行した場合は数字以外を入力しなければループしませんから。

161:150 (at Home)
05/07/22 00:04:42 VriifPlb
>>160
それ以前にはscanf()は使っていません。
fflush();fpurge();fclean();は初めて知りました、明日調べてみます。

162:まちがって名前消しちゃいました。
05/07/22 00:14:36
>>161
コレじゃダメかな?
char com = 0;
while(com < 0x31 || com > 0x35){
printf("COMの設定 1から5を入力 ->");
scanf("%c",&com);
}

163:まちがって名前消しちゃいました。
05/07/22 11:16:26
>>158-160
scanf("%*[^\n]%*c");とやると改行文字まで読み捨てるという書式になる。
(%の直後に*で読み捨て、[^\n]は改行が現れるまでの全ての文字列という意、次の%*cで改行を読み捨てる)

これで間に合うことも結構多いと思う。

164:まちがって名前消しちゃいました。
05/07/22 11:32:31
>>163
おーすげー
そんな指定方法があったのか。
%dとか%cみたいに「ここはコレ」という指定しかできないと思ってた

165:150 解決しました
05/07/22 12:38:52 o3wCt6KB
原因
このソフトはRS-232Cを使って通信を行うものだったのですが、
COMの設定をする前に、入力を標準入力からRS-232Cのポートのほうへ
切り替えていたのが原因だったようです。そのため、RS-232Cに接続した機器から
宣言とは異なる型のデータが入力されていたようです。それが原因で、
printf()が実行されつづけたようです。

お答えいただいた皆様、ありがとうございました。

166:まちがって名前消しちゃいました。
05/07/22 13:01:00
うぃ、原因が判明してなにより

167:まちがって名前消しちゃいました。
05/07/23 12:03:02
コンパイラBorland C++ Compiler 5.5をパソコンに入れ、プログラミングをできるようにしようとしたのですが、
インクルードファイル"stdio.h"をオープンできないとエラーが出てしまったのですが、どうすればいいのでしょうか?
Q&A見てもわからないのでお願いします。初心者です。
OSはwindowsXPです。

168:まちがって名前消しちゃいました。
05/07/23 12:31:26
インクルードパスの指定入れてるのか?

169:まちがって名前消しちゃいました。
05/07/23 12:46:44
surface,volume関数を使い、キーボードで値を入力すると表面積と体積を求めるプログラムはどう記述すればいいですか?

170:まちがって名前消しちゃいました。
05/07/23 12:58:53
surfaceとvolume関数って何よ、そんな関数あったっけ
よくわからないけど、積分回せば出てくるぞと言ってみる

171:167
05/07/23 15:41:58
>>168
入れていないと思います。

172:まちがって名前消しちゃいました。
05/07/24 08:50:38
>>167
bcc32.cfgとilink32.cfgは設定した?

173:167
05/07/24 10:56:54
>>172
readmeに書いてあったのですが

2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib"

aについては、マイコンピュータ→プロパティ→詳細設定→環境変数でPATHに追加しましたが、bからどうやるのかわかりません。
お願いします。。。

174:まちがって名前消しちゃいました。
05/07/24 16:52:51
>>173
URLリンク(www.kumei.ne.jp)
猫自体はあんまり良くないけど。

175:167
05/07/24 20:02:18
>>174
ありがとうございます!!
やってみます!

176:まちがって名前消しちゃいました。
05/07/24 22:22:04 /wSpnEYr
ターボCを使ってファイル(テキスト)を外部から読み込み、
読み込めない場合に”Cannot Open File”と表示するプログラムを作っています。

FILE *fin;
if((fin=fopen("C:\only\data.txt","rt"))==NULL){
printf("Cannot Open File\n");
exit(0);}

読み込みたいファイル自体はC:\only\data.txtというところにあるのですが・・・
どうすれば読み込む事が可能でしょうか?方法をご存知の方、よろしくお願いします。

177:まちがって名前消しちゃいました。
05/07/24 22:53:40
>>176
向こうでちゃんとベストアンサーをつけてやれよ。

178:まちがって名前消しちゃいました。
05/07/24 23:15:31 /wSpnEYr
>>177
あれでうまくいかなかったんです。

179:まちがって名前消しちゃいました。
05/07/24 23:25:29 /wSpnEYr
>>176
うまくいきました。どうもご迷惑おかけしました


180:C++で。
05/07/26 04:46:18 5oo5Zqxt
野球におけるピッチャーの防御率は,9回あたりの失点数で計算します.
なので,低い程よくなります.そこで,1試合ごとの投球回数と失点数を入力し,
「全試合を通しての防御率」と「最近5試合の防御率」を入力するたびに
計算するプログラムを作ってください.ただし,1/3 回のようなアウトカウントによる
投球回数は考えず,投球回数単位で計算するものとします.
下の表に出ている値で正しいかどうかを確認してください.

なお,最大140試合まで入力できるようにしてください.
また,日本のプロ野球では,延長戦は12回までなので,
投球回数に12より大きい数値は入らないようにしてください

これをC++で書ける方、ぜひ書いてみてください。

181:まちがって名前消しちゃいました。
05/07/26 09:17:56
発想だけ

変数、全試合の投球回数、全試合の失点を初期化
要素数が5の配列を最近の投球回数、最近の失点に関して用意

140回回るループ、制御変数はi
  入力を受ける
  入力の評価
  全試合の投球回数、失点に入力値を加える
  入力値を最近の投球回数(i mod 5)、最近の失点(i mod 5)へ代入
  
  全試合の防御率を計算して表示
  最近の投球回数の合計、最近の失点の合計を初期化
  5回回るループ、制御変数はj
    最近の投球回数の合計=最近の投球回数の合計+最近の投球回数(j)
    最近の失点の合計        同上
  jのループの終わり
  最近の防御率を計算して表示
iのループの終わり
終了

なんてのはどなんだろう。

うむ、これじゃだめかな。出番が無かったときの解釈次第だが、
中5日以上開くと、最近の防御率が0になりそうだ。

182:syoshinsya→sinsyousya
05/07/26 16:26:35 VRvZZeE4
OSは95で某ランドからCpad落としたんですが、実行しようとした瞬間「ファイルを
開くアプリ選んでくれ」って出てきて、どれで開いたらいいか解りません。パソが
古すぎて何が何やら解らないので、とりあえずどのアプリで開いたらいいか教えて
くださひ

183:syoshinsya→sinsyousya
05/07/27 19:20:43 EAVZf2C1
やっぱりほかの所行って聞いてきます。

184:2
05/07/27 23:31:50 4r4vh36k
Javaで書いたhtmlファイルを
開こうと思っても開けないんだけど。。。
ホームページにのってるjavascript?も左すみ
に×がでてきてみれない。。。
どうすればみれるようになりますか?だれかおしえてーー

185:2
05/07/27 23:32:41 4r4vh36k
Javaで書いたhtmlファイルを
開こうと思っても開けないんだけど。。。
ホームページにのってるjavascript?も左すみ
に×がでてきてみれない。。。
どうすればみれるようになりますか?だれかおしえてーー

186:まちがって名前消しちゃいました。
05/07/28 00:33:29 f6+0833H
【在日韓国人 山口安士のiCONというパソコン屋に注意して!!!】

↓皆さんはこの店を知っていますか?
URLリンク(www.yay-jp.com)
この店は凄く悪い店で(盗品を販売している店です)
ここの製品を購入した私の知り合いは酷い目にあいました。
日本人に嘘をついて凄い損害を与えています!!
みんな注意してくださいね!!

187:まちがって名前消しちゃいました。
05/07/28 12:22:27
>>185
1~2行目と3~4行目の繋がりが全くわからないので、
トータルで何がしたいのかさっぱりわからん。

188:Voke
05/07/28 18:19:32 C3c9bhjj
某ランドからCパド落として「Set Bcc」とかいうやつでパス指定したんですが、
そこからどうしたらいいか分かりません。つーかCパド落として解凍した時点で
Cパド使えるようになるんじゃないですか?玄人の皆さん、アドバイス下さい。
超初心者&長文スミマセソ。


189:Voke
05/07/28 19:13:53 88/epw60
スミマセソ他いって聞いてきます。

190:2
05/07/29 08:57:03 vYCLgb7B
>>187 185です。
単純にホームページ上にJAVAアプレットでつくられた
シュミレーションとかグラフが読み込めないのです。
そのグラフがでる位置には何も表示されず
左隅に小さな赤い×がでてしまいます。どうすれば読み込める
ようになるのでしょうか?使ってるのはXPです。
これでわかるでしょうか?

191:まちがって名前消しちゃいました。
05/07/31 15:04:05
とりあえずシミュレーションな。
正しい用語を使えないと質問の意味も通りにくくなるからさ。

192:まちがって名前消しちゃいました。
05/07/31 22:40:42
>>180
投球回数??
てっきり相手をしたバッターの数だと思ってた。

193:まちがって名前消しちゃいました。
05/08/01 16:08:36
>>190
JavaアプレットとJavaスクリプトはちゃんと区別しよう。

Javaアプレットだったら、コンパイルしたclassファイルを
APPLETタグでくるんでやれば表示されるはず。
JavaスクリプトだったらSCRIPTタグの中でゴリゴリ書いてあれば
表示されるはず。

194:まちがって名前消しちゃいました。
05/08/01 17:13:54 7zsHlHHv
>>>ってどういう効果ですか
>なら比較演算、>>ならビットシフトと分かりましたが>>>が分かりません

195:まちがって名前消しちゃいました。
05/08/02 13:23:38 /WldXHhr
#include <stdio.h>
int main (void)
{
int i,N,NM=35,a0,a1,a3;
printf("Input Number N (1<N<%2d)\n",NM);
do{
printf("N:"); scanf("%d",N);
if(1<N && N<NM)
{
a0=0,a1=1; printf("%10d%10d",0,1);
for (i=1;i<=N;i++);
{
a0=a0+a1;
if(1%5 == 0) printf("\n");
printf("%10d",a0);
a3=a0; a1=a3; a0=a1;
}
putchar('\n');
else
puts("N is out of range. Program stopped.");
}
return (0);
}while(1<N & N<NM)
}

どこが間違ってますか?

196:まちがって名前消しちゃいました。
05/08/02 18:36:57 c4hYhFky
あー事故解決しました

197:まちがって名前消しちゃいました。
05/08/03 18:31:54
>>194
Cに>>>は存在しない。

198:まちがって名前消しちゃいました。
05/08/03 23:13:44
オススメのコンパイラって何ですか?

199:まちがって名前消しちゃいました。
05/08/08 12:15:08 tUDfsD02
C言語初心者です
オススメの参考書教えてください

200:ハーピィ
05/09/24 22:46:44
E・∇・ヨノシ <200ゲット♪♪?

201:まちがって名前消しちゃいました。
06/02/05 19:07:26 bIDXlE0J
primeってなんですか?


202:まちがって名前消しちゃいました。
06/02/05 20:12:25
>>198
Lattice-C

203:まちがって名前消しちゃいました。
06/04/28 10:15:18 iKiF8bwN
C言語の勉強初めて間もないひよっこですが、
ファイルから内容を取り出すときに”レコード”単位で扱っているときいたのですが良くわかりません。
教えていただけないでしょうか?


204:まちがって名前消しちゃいました。
06/04/28 10:49:10
>>198
Turbo C 2.01

URLリンク(bdn.borland.com)
ここにあるよ。


205:まちがって名前消しちゃいました。
06/04/28 12:09:55
>>203
何を聞きたいのかが分からん。

206:まちがって名前消しちゃいました。
06/04/28 12:36:38
漏れには解ったぜ。

207:まちがって名前消しちゃいました。
06/04/28 12:55:34
>>206
kwsk

208:まちがって名前消しちゃいました。
06/04/28 13:56:37 iKiF8bwN
>>203
ファイルの入出力のことなんですが。


209:まちがって名前消しちゃいました。
06/04/28 15:48:39
>>208
どれか適当な関数でファイルの入出力をやればいい。

210:まちがって名前消しちゃいました。
06/04/28 18:15:19 A4ouIbFV
漸化式の収束点を|x(n+1)-x(n)|<10^(-5)の精度で求めるプログラムを
作らないといけないんですが、●●の精度で…ってどういう意味なんでしょうか…
どうやれば良いのか教えてください…_| ̄|○

211:まちがって名前消しちゃいました。
06/04/28 18:21:18
cとは関係ないのではないか。

212:まちがって名前消しちゃいました。
06/04/28 18:44:29
>>211
ちょっとそう思ったんですけど、考え方とかサッパリわからないので質問しました・・・

213:まちがって名前消しちゃいました。
06/04/29 01:00:49
>>203
少なくともCの入出力にレコードという単位は無い。
そのプログラムを作った奴が勝手に決めているだけのこと。

214:まちがって名前消しちゃいました。
06/04/29 09:31:06
UNIX以前はあったんじゃない?
入出力をストリームIOに統一したのってUNIXからじゃなかった?


215:まちがって名前消しちゃいました。
06/04/29 10:22:05
>>214
いやそんな昔の話をされても。

216:まちがって名前消しちゃいました。
06/05/15 17:50:30
配列をmemset() で初期化するとき、char型やshort型の配列に対応出来るよう
memset(array, 1, sizeof(array));
で初期化したのですが、short型で初期化した場合、
257 で初期化されてしまいます。
どうすれば1で初期化できるでしょうか?

217:216
06/05/15 17:55:15
すみません。他で聞きます。

218:永遠の待機 初心者
06/07/05 13:48:11 T8+OZLvM
二ヶ月cを勉強し、最近までscanが使えない知ったものです。
教材にてないので教えてください、お願いします。
>>数列の長さを設定しました。
キーボードで文字を入力します。
入力した文字が設定した長さを超えるとごみが出て
次の入力を影響します。
設定した長さ以後のごみをメモリからとる方法は??
(どんなの関数?)

219:まちがって名前消しちゃいました。
06/07/06 22:05:12
>>218
scanとは?scanfの間違いか?

全体的に良くわからない文章だから、
日本語で説明しようとしないで、ソースコードを書け。

220:まちがって名前消しちゃいました。
06/07/07 14:57:53
>>218
Cの勉強する前に国語の勉強をしろ

221:まちがって名前けしちゃいました。
06/07/10 19:53:45
はさみうち法とNR法でf(x)=x-eの(-(xの二乗)/2)乗=0を計算したプログラミングを載せてもらえませんか?
本当にお願がいします。

222:まちがって名前消しちゃいました。
06/07/10 23:05:07
>>221
そんなのググればすぐ見つかる様な気が。

223:まちがって名前消しちゃいました。
06/07/14 03:46:19 OiTgw0Kx
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

struct card {
int face;
char *suit;
};
typedef struct card Card;

void fillDeck(Card *,int [],char *[]);
void shuffle(Card *);

main()
{
Card deck[40];
int face[] = {1,2,3,4,5,6,7,8,9,10};
char *suit[] = {"hart","daiya","kurab","superd"};


srand(time(NULL));
fillDeck(deck, face, suit);
shuffle(deck);

printf("baeojunnbisimasu");


return 0;
}


224:まちがって名前消しちゃいました。
06/07/14 03:48:04 OiTgw0Kx
void fillDeck(Card *wDeck,int wFace[],char *wSuit[])
{
int i;

for (i = 0;i <= 39;i++){
wDeck[i].face = wFace[i % 10];
wDeck[i].suit = wSuit[i / 10];
}
}
void shuffle(Card *wDeck)
{
int i,j;
Card temp;

for (i = 0;i <= 39;i++ ){
j = rand() % 40;
temp = wDeck[i];
wDeck[i] = wDeck[j];
wDeck[j] = temp;
}
}
ここからカードを5枚表示させてその数字の合計を表示する
プログラムにしたいのですが
どなたか教えていただけないでしょうか
よろしくおねがいします




225:まちがって名前消しちゃいました。
06/07/14 11:23:48
>>223-224
宿題の丸投げはイカンだろ

226:まちがって名前消しちゃいました。
06/07/14 11:30:57 OiTgw0Kx
>>225
丸投げではないんですが・・・・
せめて5枚表示させるやり方だけでもおしえていただけませんか?

227:まちがって名前消しちゃいました。
06/07/14 11:51:01
>>226
mainでint i;
int sum;
を宣言して

mainの終わりに
sum = 0;
for ( i = 0; i < 5; ++i) {
printf("%s %d\n", deck[i].suit ,deck[i].face);
sum = sum+deck[i].face;
}
printf("sum:%d\n", sum);

こんなんでいいのか?

228:まちがって名前消しちゃいました。
06/07/14 12:22:52 OiTgw0Kx
>>227
できました
ありがとう^^

229:まちがって名前消しちゃいました。
06/07/15 11:43:48
サロンにこんなスレがあったとは知らなかった。
でもここよりプログラム板の初心者向けのC言語
スレ行った方がいいんじゃないかなあ。
プログラム板の方がその筋のプロが多く見ている
と思うし。(俺もその内の一人だが)

230:まちがって名前消しちゃいました。
06/08/17 11:52:37
丸投げだの宿題だのと、いちいちつっかかるようなら向こうと変わらんな

231:まちがって名前消しちゃいました。
06/10/20 06:58:52
そもそもサロンって何のために存在してんの?

232:まちがって名前消しちゃいました。
06/10/20 11:35:35
>>231
こりや筋肉痛を緩和する為。

233:まちがって名前消しちゃいました。
06/10/20 17:35:44
そうそう残った奴は冷蔵庫で冷やしとくといいお

234:まちがって名前消しちゃいました。
06/10/23 19:14:13
>229>231
URLにその名残が見られるように、元々ここはpc2難民という板だった。
以前pc2鯖が丸ごと吹っ飛んだという事件が起こった際に作られた。
URLリンク(qb3.2ch.net)

俺の知る限り2chで板が作られることはあっても消えることはない。
pc2難民も例外ではなく、PCサロンと名を変え生き延びているという次第。

235:まちがって名前消しちゃいました。
06/10/31 05:26:32
>>234
その頃が2chのピークか
今となっては…

236:初心者
06/11/02 21:37:05 K8JccIy5
cygwin で cとgccとviをダウンロードしたいのですが、やり方わかりますか?ちなみに言葉の意味はあまりよくわかっていません。


237:まちがって名前消しちゃいました。
06/11/05 20:50:46
>>236
Windows
URLリンク(pc8.2ch.net)


238:わからないので教えてください
06/11/16 21:39:40
すみません、この問題のプログラムはどう作ればよいのかがわからないので
ぜひ、よろしくお願いします・・・

問題
配列su(要素数:12)に任意の数値をランダムに初期値設定し、逐次決定法によって
整列(昇順)させ、結果を表示させるプログラムを作成してください。

239:初心者です
06/11/20 20:41:06 xhUMpkx0
data[0][0][0]=data[0]
data[0][0][1]=data[1]
data[0][0][2]=data[2]
data[1][0][0]=data[3]
data[1][0][1]=data[4]
data[1][0][2]=data[5]
data[2][0][0]=data[6]
data[2][0][1]=data[7]
data[2][0][2]=data[8]
 …
data[0][1][0]=data[3w]
data[0][1][1]=data[3w+1]
data[0][1][2]=data[3w+2]
data[1][1][0]=data[3w+3]
data[1][1][1]=data[3w+4]
data[1][1][2]=data[3w+5]

というふうに1次元配列のrgbデータをを3次元配列で表したいんですがどうすればよいですか?


240:まちがって名前消しちゃいました。
06/11/30 01:19:57 mI4yUGSi
void main()
{
int x[LENGTH] , y[LENGTH] , s[LENGTH] ;
int ci , co ;

int x8 , y8 , s8 , bit=0x01;

set_tris_b(0xff);
set_tris_c(0xff);
set_tris_D(0xff);

x8=port_b ;
y8=port_c ;

for( i=0 ; i < LENGTH ; i++)
{
x[i] = y[i] = 0 ;
if( (x8 & bit) !=0) x[i] = 1
if( (y8 & bit) !=0) y[i] = 1
bit <<= 1 ;
}

ci=0 ;
for(i=0 ; i < LENGTH ; i++)
{
fadder( &s[i],
&co ,
&x[i],
&y[i],
&ci
) ;
}

ci = co ;
for(i=0 ; i < LENGTH ; i++)
{
fadder( &s[i],
&co ,
&x[i],
&y[i],
&ci
) ;
ci = co ;
}
bit =0x01 ;
s8 = 0 ;
for(i=0 ; i < LENGTH ; i++)
{
if( s[i] !=0) s8 = s8 | bit ;
bit <<= 1 ;
}
port_d = s8
}
を2進数16桁の加減算プログラムに変えろといわれたのですが
まったくわかりません
よかったら教えていただけないでしょうか?

241:まちがって名前消しちゃいました。
06/12/08 03:27:46 FBBsX6Lz
すいません。
わからんのです。。
教えてください。お願いします!!

1. 二つの文字列s1,s2 をキーボードから入力し,それぞれの文字列の長さ(NULL 文字は含まな
い)を画面表示し,さらに文字列s1 の後ろに文字列s2 を連結して画面表示するプログラムを
作成しなさい.ただし,文字列s1 と文字列s2 を連結したものを一度文字列s1 に格納してから
表示を行うこと.また,strlen(),strcat()等の関数を使ってはならない.
提出物: プログラム,実行結果(3 回分以上)
2. 以下の処理を行うプログラムを作成しなさい.ただし,文字列s,t の要素数は50 とすること.
strlen(),strcmp()等の関数を使ってはならない.
(1) キーボードから文字列を入力し,文字列s に格納する.
(2) 文字列sを逆順に並べ替えたものを文字列t に格納する.
(3) 文字列sと文字列t が同一であるかどうかを比較し,その結果を画面表示する.
提出物: プログラム,実行結果(3 回分以上)






242:まちがって名前消しちゃいました。
06/12/10 22:10:05
人が沢山いるこっちのスレへ移ったほうがいいと思うよ。
C/C++の宿題を片付けます 78代目
スレリンク(tech板)l50

243:まちがって名前消しちゃいました。
06/12/13 21:03:44 z5+0lo/p
ウイルスバスター利用の大きなデメリット

1つのシリアルで3台のPCに入れられるということで一見得のように見えます。
ですが、実際は製品やサポートの点で非常にずさんな管理体制となっています。
試していないパターンファイルを配布して多くのユーザーが最悪PC再起不能までいったのは最近のこと。

ここで私の元に寄せられたトレンドマイクロの情報のうち、私の実体験を記します。
VB2007に変えてから困ったことがあったのでテクニカルサポートに電話をしました。
長い待ち時間の後 「飯田 絢香(実名)」 という人物が対応に出ました。
そこで圧縮ファイルの検索法について問い合わせたところ、実際は知らないのに非常識な指示をしました。
私が指摘すると、かなり長い待ちうけのあと訂正してまいりました。
ちょっとしたミスに思えるかもしれませんが、文章を短くまとめるためかなりはしょってあります。

このようにノートン、マカフィー、VB、3製品使った身としてサポート体制という点では
トレンドマイクロ(ウイルスバスター)は不安要素だらけです。
一見して得だ、と思えるところにも罠はあります。
1つ言えることは1台のPCにしか入れない人はウイルスバスターを使うメリットは何もないということです。

なお「飯田 絢香」というテクニカルサポートの実名を出すにあたっては直属の上司である
「久高 浩路(実名)」の許可をいただいています。

「飯田 絢香」「久高 浩路」という人物はトレンドマイクロのサポートの一部分ですが全体が
依然このような状況であるのでここに報告します。

244:まちがって名前消しちゃいました。
06/12/13 21:19:59 nJALoNvb
パソコン買う人こちらURLリンク(search.goo.ne.jp)

245:困り人
06/12/15 18:42:09 hmsIqZdw
次のガウス消去法のプログラムを教えてください。できるだけ簡単なプログラムを教えてください。
3X①+2X②+X③=10
2X①+5X②+2X③=18
X①+4X②+X③=12

246:まちがって名前消しちゃいました。
06/12/18 11:23:43 1vmuM6La
C言語でプログラムを作成したのですが、コンパイルの時に
下のようなエラーメッセージが出てしまいました。
これはどのようなエラーで、どうすれば解決できるのか教えてください。
passing arg 1 of `XXX' makes pointer from integer without a cast

247:まちがって名前消しちゃいました。
06/12/28 18:47:59
お聞きしたいのですが
超初心者にでも理解出来て 向いてる お勧めの本で いいのはありますか?
教えて下さい!

248:まちがって名前消しちゃいました。
06/12/30 09:38:36
>>246
まずその英文を日本語に翻訳することをおすすめします。

ヒント

cast は型変換のことです。


249:まちがって名前消しちゃいました。
07/01/05 12:09:10 nviG+YZo
ごめんなさい 分からないので教えてください
宿題で3桁の宝くじ(?)の当たり検索のプログラムを作成してます
1等3桁すべてあたる
2等下2桁
3等下1桁

実行すると同時に出てしまいます・・・
1等あたり
3等あたりみたいな感じで・・・・
すいませんがどこがおかしいかみてくださいお願いします

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

void main(void)
{
int i;
char tousen[100];
char chusen[100];
int atari=1;
char buffer[3];
char buf_a[3];/*三等の当たり番号の収納箱*/
char buf_b[3];/*二等の当たり番号の収納箱*/
char buf_c[3];/*一等の当たり番号の収納箱*/
/*char buf_d[3];*/
for(i=0;i<=2;i++){
printf("%d等の当たりを入力。\n",i+1);
printf("%d等は%d桁。\n",i+1,3-i);
scanf("%s",&tousen);
}
{
while(chusen>0){
printf("3桁の抽選番号を入力。\n");
printf("終了する時は0を入力。\n");
fflush(stdin);
scanf("%s",&chusen);/*抽選番号の入力*/
if(chusen[1]==0)/*0を入力されたら終了する*/
break;
}
sprintf(buffer,"%06ld",atari);
buf_a[2]=buffer[2];
atari=atoi(buf_a);
if(atari==chusen[3])
printf("3等あたり\n");
buf_b[1]=buffer[1];
buf_b[2]=buffer[2];
atari=atoi(buf_b);
if(atari==chusen[2])
printf("2等あたり\n");
buf_c[0]=buffer[0];
buf_c[1]=buffer[1];
buf_c[2]=buffer[2];
if(atari==chusen[1])
printf("1等あたり\n");
else
printf("全部外れ\n");
}
}

250:まちがって名前消しちゃいました。
07/01/05 23:02:28
>>249
文字でやんないとダメなの?

251:まちがって名前消しちゃいました。
07/01/06 21:08:25
>>249
一等から調べて、当たったら最後に飛ぶ様にしろ。

252:249
07/01/09 16:39:27 CnhLaLov
249です。
うまく飛ぶように出来ません・・・
助けてくださいOTL

253:まちがって名前消しちゃいました。
07/01/19 02:20:34 Pul07DaS
ファイルの入力で読み込んだ文字を全て一旦
変数に格納したいのですが、どのようにすればいいのでしょうか?
いろいろ試してみたのですが、実行中に突然エラーになってしまったり
して、どうすればいいのか困っています。
わかる方 教えてください。

ちなみに具体的に説明すると
while(c=fgetc(fp))!=EOF){}のchar型変数cに格納された
文字をほかに用意した変数(a[200])に一回一回格納して
いくにはどうすればいいのか?
ということです。
よろしくお願いします。

254:まちがって名前消しちゃいました。
07/01/19 18:58:49
まずは、どういうコードを書いたのか晒せ。

255:まちがって名前消しちゃいました。
07/01/24 03:20:51 y+z+ZlzP
教えてくださいm(__)mタイピングソフトを購入しようと思ってるんですけど、パッケージ版とダウンロード版って、どうに違うんでしょうか?

256:まちがって名前消しちゃいました。
07/01/24 14:30:06
>>255
初心者違い。ここC用だぞ。
パッケージはまんまパッケージで購入。CD入れてインストール。
ダウンロードはダウンロードしてインストール。

257:まちがって名前消しちゃいました。
07/01/24 17:57:09
>>256
スレ違いすみません。どっちがいいのか分からないけど、CDで買うのとダウンロードして音楽を聞くようなものかな?ありがとうございましたm(__)m

258:まちがって名前消しちゃいました。
07/01/30 22:21:25 NNLFVWW+
184e-0024

184 * 10^(-24)
であってますか 汗

259:まちがって名前消しちゃいました。
07/02/01 03:30:05 a/YcCwxk
クッキーとは何ですか?

260:まちがって名前消しちゃいました。
07/02/01 11:17:32
何故ここで聞く?

261:まちがって名前消しちゃいました。
07/02/02 03:52:41 ANacAXM9
クッキーってのは、焼洋菓子だ。間違っても不二家のを買うんじゃないぞ!
と、ベタなボケを入れてみる。


262:262
07/02/02 22:56:40
プログラムの勉強を始めます。
C言語とJAVAのどちらにしようか迷ってます。
1.どっちが簡単か
2.どっちが将来性があるか
が分らん。

263:まちがって名前消しちゃいました。
07/02/03 21:22:27
>>262
JAVA

264:262
07/02/04 10:28:30
>>263
レスありがとうございます。

265:まちがって名前消しちゃいました。
07/02/04 15:01:09 T0Spphu0
ごく基礎的なことでお尋ねします。(長文失礼)
昔、NECの9801のDOS環境で、MS-C6で組み上げた自作のデータベースソフトがあります。3つのソースを分割コンパイルし、LinkしてEXEを作成しています。
Win95及びWin98までは、EXEファイルとデータファイルをコピーしておけば、コマンド入力で動いてくれました。
しかしWin2000とXP上では、全く作動してくれません。 16bit環境と32bit環境の違いかな推測しているのですが、どうなのでしょうか?
もし16と32の違いが原因であれば、下記の対処策のどれで解決できるのでしょうか。
①コンパイラ&リンカーを32bitのものと変えてコンパイル・リンクする。
②MS-C全体を、32bitのC言語に取替え、XPで再作成する。
③ソーステキストの中に書いた「ESC・↑・↓」キー等のASCIIコードも書き換え、MS-C全体を、32bitのC言語に取替る。
それとも原因は全く別の所に有って、そんなことをやっても所詮は無理という結論でしょうか?。
時々このソウトを使っているので、これが有る限り9821vxというPC&CRTがリサイクルに出せません(^^;)

266:07002150849363_em
07/02/05 12:01:43 hgI8n5w8
テスト

267:まちがって名前消しちゃいました。
07/02/06 22:33:43
C言語の基本は学びました。
しかし、ソフトを作ろうと思ったとき、、、たとえば電卓を作ろうと思ったとき、どうすればいいかわかりません。
コマンドプロンプトのソフトじゃないのを作るにはどうすればいいですか?

268:まちがって名前消しちゃいました。
07/02/07 00:37:03
>>267
っVisual Basic

269:まちがって名前消しちゃいました。
07/02/11 22:18:22
お前らプログラム技術で聞いたほうが答えが来るぞ。
URLリンク(pc10.2ch.net)

【初心者歓迎】C/C++室 Ver.34【環境依存OK】
スレリンク(tech板)l50

270:まちがって名前消しちゃいました。
07/02/15 16:59:48 67Ffp6Xk
■プログラム課題:最小値を算出するプログラムを作る

3つの整数を入力し,その内の最小値を出力するプログラムを作成せよ.
但し,最小値を算出する関数,"min3"を自分で作成し用いなさい.
また,最小値の出力はメイン文で行うこと.
-------------------------------------------
"表示結果の例"
3つの整数を入力してください。
整数1:5
整数2:-4
整数3:0
最も小さい整数は-4
-------------------------------------------

誰かお助けください!!

271:まちがって名前消しちゃいました。
07/05/19 15:51:32 pz6LK5H5
現在C言語勉強中の者ですが、DOS窓の背景色を変えるにはどうすればいいでしょうか。
ご教授お願いします。

272:ななし
07/05/26 19:21:20 l0+KCWPP
はじめまして。
現在画像処理のアプリを作ろうとしております。
画像をメモリ内で拡縮してサムネイル画像を作ろうと、
StretchBltを使えばできそうかなと思っていろいろ
試行錯誤しておりますがうまくできなくて困っております・・・。
プログラミングの基本的なとこもまだ微妙なレベルなので
根本的なところで間違ってるかもしれませんが
どうぞよろしくお願いします。

-----ここから-----
unsigned char*  orgImage = NULL; // 元画像
static HDC hdcbmpBuffer = NULL; // 元画像用
static HDC hdcthumBuffer = NULL; // サムネイル用
static HBITMAP hbmpBuffer = NULL; // 元画像用
static HBITMAP hthumBuffer = NULL; // サムネイル用

// index番号に合った静止画像のポインタの取得
orgImage = (unsigned char*)mov->movimg[index];

// Windowハンドルの取得
hWnd = FindWindow(NULL, "WinAPP");
// Windowのデバイスコンテキストの取得
hdc = GetDC(hWnd);

// Windowと同じDCでメモリDCの作成
hdcbmpBuffer = CreateCompatibleDC(hdc); // 元画像用
hdcthumBuffer = CreateCompatibleDC(hdc); // サムネイル用

// サムネールのDIBSectionのHBITMAPバッファを作成
hthumBuffer = CreateBackbuffer(thumWidth, thumHeight);
ReleaseDC(hWnd, hdc);

// オブジェクトにバッファのビットマップを選択
hbmpBuffer = (HBITMAP)orgImage;
SelectObject(hdcbmpBuffer, hbmpBuffer);

// オブジェクトにサムネイルのDIBSectionのHBITMAPを選択
SelectObject(hdcthumBuffer, hthumBuffer);

// StretchBltの設定
SetStretchBltMode(hdcthumBuffer , COLORONCOLOR);
StretchBlt(hdcthumBuffer, 0, 0, thumWidth, thumHeight,
hdcbmpBuffer, 0 , 0, mov->width, mov->height, SRCCOPY);

// 構造体の配列にメモリを確保してコピー
mov->thumimg[index] = new unsigned char[thumWidth*thumHeight];
mov->thumimg[index] = (unsigned char*)hthumBuffer;

DeleteObject(hthumBuffer);
DeleteObject(hbmpBuffer);

-----ここまで-----

DCの扱い方が悪いのか、StretchBltの設定の仕方が違うのか、
メモリへ書き込み方が違うのか・・。
そもそもこういった使い方はできないのか分からないでいます。
またもっと簡単に縮小できるよってのもありましたらよろしくお願いします。


273:まちがって名前消しちゃいました。
07/05/28 00:47:14
hbmpBuffer = (HBITMAP)orgImage;
これが明らかにおかしい
ビットマップハンドルは専用の関数で作らないといけない

274:ななし
07/05/28 08:41:47 QLCcU5IY
ありがとうございます。
ビットマップの扱いについて調べ直してきます・・。


275:奈々氏
07/05/31 16:15:24 T9SgpM9z
学校の宿題で、預金額、利率を入力して、10年間分の各利率に対する
預金額を表示するってのをやれって言われたんですが、全くわからないんで
誰かまじで教えてください。お願いします!預金額の最高額は900000円で利率の入力は%
利率の刻みは、0.05%、各金額の間は7桁表示。
預金額=預金額+利息
利息=預金額*利率*80%でお願いします。
以下の解答例のようにしたいんです。m(vv)m
例)
預金額(円)=10000
利率(%)=0.30

利率  1年 2年 3年 4年 5年 6年 7年 8年 9年 10年
------+------+------+------+------+------+------+------+------+------+------+
0.30% | 10024 10048 10072 10096 10120 10144 10168 10192 10216 10240
0.35% | 10028 10056 10084 10112 10140 10168 10196 10224 10252 10280




0.75% | 10060 10120 10180 10241 10302 10363 10425 10487 10549 10612

276:まちがって名前消しちゃいました。
07/06/14 17:50:16
これからC言語を勉強しようとおもってるんですが、こんなエディタないでしょうか?
フリーソフトで、グラフィックが綺麗で、「実行」のところにコマンドプロンプトがあるようなエディタです。
教えてください。

277:まちがって名前消しちゃいました。
07/06/14 21:10:14 b6f1Mb1B
C言語でRS232Cでシリアル通信をさせるためのプログラム(命令文!?)
ってどういうものがあるのでしょうか?
rs send buf() とか知っていますが・・・・・
初心者ですみません。


278:まちがって名前消しちゃいました。
07/06/15 19:48:48
>>277
C言語には、そういう類は一切ない。
全て、ライブラリとして外部から提供される。

279:277です
07/06/15 22:51:27 tKuzs51Y
>>278
そうなんですね、どうもありがとうございました。

280:まちがって名前消しちゃいました。
07/06/24 20:18:21
>>276
言っていることがよくわからないが、Visual C++ 2005 Express Edtionはどう?

281:まちがって名前消しちゃいました。
07/07/03 21:11:49
ニートで暇だからゲームでも挑戦しようかって始めたんだが
いきなり躓いたorz
中略でスマンが一番上のwhile~の行でエラーが出る。一日中
悩んだだが解答見つからず・・。エラー見つけるの苦手だよorz
助けてくれ・・。
メッセージはint' 型は 'char *' 型に変換できないって出てる。

char buf[99];
char* p;
int i,j,map_data[99][99];

この行→ while((fgets(buf,sizeof(buf),fp))!=EOF){
j=0;
p=strtok(buf,",");
map_data[i][j]=atoi(p);
j++;
while(p!=NULL){
p=strtok(NULL,",");
if(p!=NULL){
map_data[i][j]=atoi(p);
j++;
}
}
i++;
}

282:281
07/07/03 21:20:41
>>269の所で聞いてきます。スレ汚しすみません。

283:まちがって名前消しちゃいました。
07/07/04 23:56:46 8qNM6RsB
#include <stdio.h>
#include <math.h>
#define PI 3 // およそ3
main()
{
/* a,bの値 */
int a = 10, b = 20, i;
double x, y, t = 0.0;
char c;

/* x,yのどちらを表示するか */
printf("x or y ? -> ");
scanf("%c", &c);

/* 計算して表示 */
printf("\n -1 0 1\n");
printf("t |----------|---------|\n");

while (t < 10.0) {
x = cos(2 * PI * a * t);
y = sin(2 * PI * b * t);

printf("%2.1lf ", t);
if (c == 'x')
for (i = 0; i < (int)(10.0 * x + 10); i++)
putc(' ', stdout);
else if (c == 'y')
for (i = 0; i < (int)(10.0 * y + 10); i++)
putc(' ', stdout);
printf("*\n");
t += 0.1;
}

return 0;
}

のwikiに載っていたプログラムで
x = cos(2 * PI * a * t);
y = sin(2 * PI * b * t);
の2の値を自由に変えられる(自分で入力できる)ように
したいんですけど、どうやったらいいですか?

284:まちがって名前消しちゃいました。
07/07/06 08:32:18
#include <stdio.h>

main()
{
int a;
int b=0;

for(a=0; a<=100; a++)
printf("セ氏温度:%d カ氏温度:%d\n",a ,fahrenheit(a,b));
}

int fahrenheit(int x, int y)
{
y = (9/5)*x+32;
return y;
}

セ氏温度からカ氏温度を求めるプログラムなのですが
float型を使ってカ氏温度を小数点第1まで出力したいのですが
エラーばかり起きて私にはどうにもできません
誰か助けてください

285:まちがって名前消しちゃいました。
07/07/09 14:46:07
俺も初心者だが適当にこんな感じなのかな。
もう、遅いかもシレンが。
void main()
{
float fahrenheit(float x, float y);
float a,b;

for(a=0,b=0;a<100;a++)
printf("摂氏温度%.1f 華氏温度%.1f\n",a,fahrenheit(a,b));
}
float fahrenheit(float x,float y)
{
return y=(x*9/5)+32;
}

286:まちがって名前消しちゃいました。
07/07/10 18:41:33
2次方程式の解を表示させたいのですがなぜか解がおかしな値になってしまいます
どうすれば解決しますか

#include<stdio.h>
int main(void)
{
int a,b,c,d;
double x,x1;
printf("ax^2+bx+c=0のa,b,cを入力してください:");
scanf("%d %d %d",&a,&b,&c);
d=b*b-4*a*c;
x=(-b+sqrt(b*b-4*a*c))/2*a;
x1=(-b-sqrt(b*b-4*a*c))/2*a;
if(d==0)printf("x=%.3lf",x);
else if(d>0)printf("x=%lf,%lf",x,x1);


else if(d<0)printf("実数解が存在しません");

return(0);
}

なんかquad()を使用するらしいのですが??って感じです

287:まちがって名前消しちゃいました。
07/07/10 19:46:48
行列の計算をできるライブラリがあるとか聞いたんだけどどうやって
使うの?

288:まちがって名前消しちゃいました。
07/07/13 16:34:00 albFLb2i
char型のcharってcharacterの略で%nのnはnewlineの略ですよね?
こういう略してある語の元の単語が載ってるサイトってないですかね?
探してもこの2つしかわからなくて


289:まちがって名前消しちゃいました。
07/07/14 10:03:41 jR0+x9vb
>>288
英語の本よめばいいんじゃない?

290:まちがって名前消しちゃいました。
07/09/01 21:35:00 LYltvTGy
age

291:まちがって名前消しちゃいました。
07/09/21 14:59:55
ちょっとスレ違いかもしれませんが、サーティファイ主催の
検定1級では、プログラム改造よりも変更仕様書作成のウェイトが高いと
聞いたのですが、やはり実際のコードの変更点をしっかりと
変更仕様書に洗い出せていないと合格は難しいのでしょうか?
変更仕様書がうまく作れなくて困っています。

292:まちがって名前消しちゃいました。
07/09/23 17:24:32 KPrGnc4q
とてつもなく初心者な質問お許しください
VC++6でコンソールをつくり実行したら、Debugフォルダにexeができます
このexeを自作のicoに画像を変更したいのですが、どうすればいいんでしょうか?
ご教授お願いいたしますm(_ _)m

293:まちがって名前消しちゃいました。
07/09/24 04:23:47 xy6UkbDw
#include<stdio.h>
void main(void);
void main(void)
{
int n1;
short nt;
nt=1;
for(n1=0;n1<6;n1++);
nt*=10;
printf("10の6乗は%dです",nt);
}

これってどこが間違ってます?


294:まちがって名前消しちゃいました。
07/09/24 04:36:17
for の後ろの方

295:まちがって名前消しちゃいました。
07/09/24 08:26:58 Fx+HSQ24
パソコンを買って、いざ家で勉強しようと思っても、うまくコンパイラ等がインストール
できません。
仕方なくROM付の教材を買ってきてそこからダウンロードしようと思ったのに
それもうまく出来ません・・・。
助けてください!!!!お願いします!!!!

296:まちがって名前消しちゃいました。
07/09/24 20:05:06
0から10までの階乗を計算して表示するプログラムが分かりません。
誰か教えてください。

297:まちがって名前消しちゃいました。
07/09/24 21:23:37
>>295
Borlandならインストーラを実行してから設定する必要があるが…
設定じゃなくてその前のインストールで失敗するの?それとも設定?

>>295
再帰ならこんな感じ
URLリンク(kansai2channeler.hp.infoseek.co.jp)

298:まちがって名前消しちゃいました。
07/09/24 23:48:27
引数がvoid型の関数はどういう風に使えばいいんですか。
引数はポインタ型になってます。

299:まちがって名前消しちゃいました。
07/09/25 15:21:10
>>293
printfはforの外に出さないと6回表示しちゃわないか?

300:まちがって名前消しちゃいました。
07/09/25 16:02:56
>>298
引数は void なのかポインタ型なのかどっちだよ。

301:まちがって名前消しちゃいました。
07/09/25 16:29:47
関数名(void* 変数名,その他引数……)
こんな感じ。中身は詳細不明

302:まちがって名前消しちゃいました。
07/09/25 16:30:34
関数名(void* 変数名,その他引数……)
こんな感じ。中身は詳細不明

303:まちがって名前消しちゃいました。
07/09/25 16:31:53
orz

304:まちがって名前消しちゃいました。
07/09/26 19:49:57
>301
void *は汎用ポインタ型だからどんなポインタでも代入できる。
引数の場合はどんなポインタもキャストなしで渡せる。

305:まちがって名前消しちゃいました。
07/09/27 07:03:18 CuKDDG/1
ポインタについてなんですが、int d[10] = {1,2,3,4,5,6,7,8,9,}; int *pで宣言するときはp=dで入れることができるんですが
double d[5] = {12.3,11.3,14.4,44.5,55.,}; と宣言したときにp=dではなぜかエラーが出るのですがどうしてでしょうか?

306:まちがって名前消しちゃいました。
07/09/27 13:40:06 Xn+Bjq5z
>>305
型があってないからじゃねぇかな。int *p のままだと入らないと思う。
キャストしてもいいけど意味内から、double *pて宣言すればいいのでないかな。

307:まちがって名前消しちゃいました。
07/09/27 14:59:27
>>305
「p=d」って書き方は大嫌いだなぁ。
まぁ、私以外の人は全員そう書くんだろうけど。
私は絶対に「p = *(d[0])」と書く。

308:まちがって名前消しちゃいました。
07/09/27 17:10:45
かなり初級のテキストのwhile文の項にある問題なんですが、

次のプログラムは、与えられた数(n)が割り切れる整数かを出力するものである。
解答例
#include <stdio.h>

main()
{
int i, n;

n=51;
i=0;
while( i < n+1){
if(n % i == 0){
printf(" %d は%dで割り切れる.\n", n, i);
}
i++;
}
}
【出力例】
51は 1で割り切れる.
51は 3で割り切れる.
51は17で割り切れる.
51は51で割り切れる.

この条件式( i < n+1)のところ、条件式 ( i <= n )では何がいけないのでしょうか?



309:まちがって名前消しちゃいました。
07/09/29 01:34:41 3Q4jTB2i
>>308
そのプログラムを実行すると落ちないか?

310:まちがって名前消しちゃいました。
07/09/30 01:13:23
>>308
条件式は(i < n+1)でも(i <= n)でもどちらでも構わない。
ただ、(i <= n)の方が限界値(n)がそのまま現れるから
俺はこちらを使うかな。

>>309がいってる落ちるってのは
iを0で初期化してるから、1回目のif文で
n % i ==> 51 % 0 で0除算になってしまうということ。
iは1から始めなければいけない。

311:PC
07/10/01 16:44:35 VuDdb56+
性能はどうなのか?↓
URLリンク(yasuipc.jp)

312:まちがって名前消しちゃいました。
07/10/04 06:52:11


313:まちがって名前消しちゃいました。
07/10/11 13:46:24 R79agX/f
int a の1次元行列を領域1000個で宣言しすべての中身を10にするプログラムをつくれ。

↑教えてください。全くわからないです・・・

314:まちがって名前消しちゃいました。
07/10/11 14:13:35 k8cg8XBF
>>313

void main(void){
  int a[1000];
  int i;
  for(i=0;i<1000;i++){
    a[i]=10;
  }
}
長いこと書いてないからあてずっぽ。
そもそも一次元行列ってのがわからないから配列にしてみた。
こんなかんじ。

315:まちがって名前消しちゃいました。
07/10/11 14:25:39 k8cg8XBF
>>313
void main(void){
  int a[1000][1];
  int i;
  for(i=0;i<1000;i++){
    a[i][0]=10;
  }
}
な気もしてきた。行列ってのがひっかかる。
動作としては>>314と同じ。はず。

316:まちがって名前消しちゃいました。
07/10/12 19:47:55
一度表示した文字を全部消すことはできますか?

317:まちがって名前消しちゃいました。
07/10/21 07:27:56 aG0wwKTe
3年で300スレか・・・

318:まちがって名前消しちゃいました。
07/10/21 08:11:14
レスね

319:まちがって名前消しちゃいました。
07/10/22 20:23:08 NkZ+y9hC
#define Pi 3.141592654と定義して,
cos(Pi/2)が0に限りなく近くはなるんですが0にならなくて困っています.
解決方法はありますか?

320:まちがって名前消しちゃいました。
07/12/10 09:49:59 aypPi1Yg
>>319
実行結果はどうなった?

321:まちがって名前消しちゃいました。
07/12/14 16:51:19 v7AU+QF/
vistaで某ランドのコンパイラは使えますか?

322:まちがって名前消しちゃいました。
07/12/20 06:35:46 vq7Rajlt
#include<stdio.h>


int main (void)

{
char str[3]="SKY";
int i=0;


while(i<=3){

printf("str[%d] = %d %x %c\n",i,str[i],str[i],str[i]);

i++;
}

printf("文字列 = %s\n",str[3]);
return 0;
}

コンパイル後これを実行すると初めのprintfは正常に動作するのですが
ループ後のprintfでコマンドプロンプト上でエラーが出ます。
頭のいい人おしえてください。

323:まちがって名前消しちゃいました。
07/12/20 10:00:31
>>322
char str[3]="SKY";

3

4以上にする

324:323
07/12/20 10:06:13
あっ、ごめん
>>323も間違いだけど、本命はこっちだorz

printf("文字列 = %s\n",str[3]);

printf("文字列 = %s\n",str);


ついでに言うと、
while(i<=3){
は間違ってると思う
while(i<3){
だと思うんだが

325:まちがって名前消しちゃいました。
07/12/21 03:36:34
while( str[i] ){
でもいいな

326:まちがって名前消しちゃいました。
07/12/21 03:40:56
ちなみに
> char str[3]="SKY";

メモリーをcharのサイズで3バイト確保したところに
'S' 'K' 'Y' 0x00 の4バイト書き込むから暴走の元になるよ
普通は
> char str[]="SKY";
で文字列サイズで確保でいいと思う


でも、最近のコンパイラはエラー吐いてくれるのかな?

327:まちがって名前消しちゃいました。
07/12/24 00:36:54
ASAPとALAP、リストスケジューリングの勉強をしてるんですが、
入力として与えるデータフローグラフの規模が大きくなっていくとき、
スケジューリングの実行時間がどのように増加するか教えてください。

328:まちがって名前消しちゃいました。
07/12/24 17:07:50 ltU1v7ro
プログラムの結果をhtml形式で出力したいんですがどうすればいいです?

329:まちがって名前消しちゃいました。
08/01/01 17:56:01
以下の★1と★2のやり方で結果が同じになるのはどうしてなんでしょうか?
有識者の方ご教授をお願いします。

#include<stdio.h>

void * func(void *p){

printf("□■□func開始□■□\n");
printf("pのアドレス = %p\n",p);
printf("p = %d\n",(int)p);
(int)p += 100;
printf("p = %d\n",(int)p);
printf("□■□func開始□■□\n");

return NULL;

}
int main(void){

int number = 30;

printf("numberのアドレス = %p\n",&number);
func((void *)number);★1

return 0;

}

-------------------------------------------------

#include<stdio.h>

void * func(int *p){

printf("□■□func開始□■□\n");
printf("pのアドレス = %p\n",p);
printf("p = %d\n",*p);
*p += 100;
printf("p = %d\n",*p);
printf("□■□func開始□■□\n");

return NULL;

}
int main(void){

int number = 30;

printf("numberのアドレス = %p\n",&number);
func(&number);★2

return 0;

}


330:まちがって名前消しちゃいました。
08/01/08 23:22:37 VRNJ0iPI
>>329
★1ってコンパイル通るのか???

331:まちがって名前消しちゃいました。
08/01/10 17:49:57
GTKのスレって無いの?


332:まちがって名前消しちゃいました。
08/01/17 22:23:53
質問です。
以下のようなプログラムで、1が押されたときはiを、2が押されたときはjを
増やしていくようなプログラムにしたいのですが、
何も押されてないときには入力待ちにならずに次の処理をするようには出来ませんか?

while(1){
 char key;
 key = getche();
 
 switch(key){
  case '1':
   i++;
   break;
  case '2':
   j++;
  break;
 }


/* 他の処理*/

}

よろしくお願いします。


333:まちがって名前消しちゃいました。
08/02/12 15:29:51 NbzB99rW
SIN、COSを使って正多角形の図を作りたいんですけど、どうやればいいんですか?

334:まちがって名前消しちゃいました。
08/02/16 18:54:05
>>319
コンピュータの計算とはそういうもの。
無限桁の計算は不可能で、必ずどこかで打ち切って有限桁の計算を行わなければならない。
だから、そこで誤差が生じる。
なので、各自が有効数字が何桁かということを意識してやらねばならない。

お前がプログラムを動かしているのが自分のPC上なら、
まず間違いなく浮動小数点数周りはIEEE 754に従っているはず。
そこでは、doubleの精度は十進法で15-17桁程度。
ということは、3.1415926535897932くらいまで桁を増やすのは効果がある。
逆に、それ以上は無意味。

文字列として、出力するときには上から6桁しか表示しないなどとすればいい。
printf系なら、%gや%fをそのまま使えば、そうなる。


335:まちがって名前消しちゃいました。
08/02/18 22:32:27
これより新しいバージョンありますか
freecommandlinetools2.exe のバージョン 2.04.001。bcc32.exe の製品バージョンが 5.0、ファイルバージョンが 5.5.1.2


336:まちがって名前消しちゃいました。
08/03/13 01:22:31 b9QRrp1k
#include <stdio.h>

int main( ) {
while(1)
{
   printf("死にたい\n");

    if(いじめっ子をやっつけられたら)
    { break; }
    else if(ループ中に死んだら)
    { return 1; }
}
return 0;
}

ループが抜けられません。異常終了は簡便です。助けてください。


337:まちがって名前消しちゃいました。
08/03/13 18:41:59
Builder C++を使っている者ですが
実行ファイルによってWindowsが
セーフモードで起動されたか否かを調べる方法はありますか

338:まちがって名前消しちゃいました。
08/03/13 18:54:11
>>336>>335に反応して書いたんだろうけど
反応した>>336>>335と同類だぞ

339:まちがって名前消しちゃいました。
08/03/29 21:15:32 FIndnqFd
>char str[3]="SKY";
char *str="SKY";
の方がカッコイイ。

340:尿たんぱく
08/03/30 17:44:23
>>339
ここは初心者板なんだから
char* str="SKY";と書くべきだと思われ

341:まちがって名前消しちゃいました。
08/03/31 23:14:52
const char *str = "SKY";

342:まちがって名前消しちゃいました。
08/04/06 15:50:00 O8+WM7v5
>>329
★1はこういうことがしたいんではないの?

#include <stdio.h>

void* func(void *p)
{
int *number = (int*)p;

printf(" □■□func開始□■□ \n");

printf("numberのアドレス = %p\n", number);
printf("number = %d\n", *number);

*number += 100;
printf("number = %d\n", *number);

printf(" □■□func終了□■□ \n");

return NULL;
}

int main(void)
{
int number = 30;

printf("numberのアドレス = %p\n", &number);

func((void*)&number);

return 0;
}

343:まちがって名前消しちゃいました。
08/04/17 07:46:18 B9a8c4t+
よろしくお願いします!まず自分の質問が++なのかさえ分からないものですが宜しくお願いします。
あるアプリで競艇のデータを作っています。掛け金を掛け方に応じ変えています。
■2連複=2000■3連単=3000
また投資額は(掛け方*レース数)です。
アプリ上で掛け方を入れたら自動的に投資額がでるようなのですが、式が分かりません。
自分で色々試し
■IF(方式=2連複,((レース数*2000,((レース数*3000)みたいなのを作りましたが、これだとダメでした。
宜しくお願いします。

344:まちがって名前消しちゃいました。
08/04/18 02:43:28 D6vxprhu
char str[3]="SKY";とchar *str="SKY"; の違いがよくわからん

345:まちがって名前消しちゃいました。
08/04/18 16:59:22
>>344
1番目はデータ、2番目はポインタ。

346:まちがって名前消しちゃいました。
08/04/18 17:59:51 I3yEKX2w
入力された値が3だったら、
***
-**
--*
といった具合(後ろで桁合わせ、-は空白)に出力されるプログラムを組みたいと思います。

#include <stdio.h>
int main(void)
{
int num;
int i,j,k;
printf("正の整数:");
scanf("%d",&num);
if(num>0)
{
for(i=1; i<=num; i++)
{
for(j=num; 0<j; j--)
{
printf("*");
}
printf("\n");
for(k=1; k<=i; k++)
{
printf(" ");
}
}
}
else
{
printf("無効な数値が入力されました。\n");
}
return 0;
}

の様に組んだのですが、実行すると
***
-***
--***
となってしまいます。
*を出力する部分が正常に動いていないのだと思うのですが、
どう改善させれば良いのか分かりません。

宜しくお願い致します。

   


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch