1read 100read
2013年01月PCサロン48: C言語初心者質問総合 (863) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Pen4で自作機組むって言ったら兄貴に殴られました30 (261)
しりとりして復旧を待つスレ (565)
【PC2台以上所有】どう使い分けしてる? (315)
【議論】iMona控え室 part2【分析】 (838)
ラム肉を片手にマターリと雑談するスレ (803)
Pen4で自作機組むって言ったら兄貴に殴られました30 (261)

C言語初心者質問総合


1 :04/03/26 〜 最終レス :
っということでよろしく

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

3 :
漠然とした質問すみません。
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 :
>>3
5行目。q→g

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


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

7 :
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=1;i<argc;i++) printf("%s",argv[i]);
return 0;
}
こうだよヴぉけ

8 :
#include <stdio.h>
int main()
{
printf(">>1shime");
return 0;
}
こうだろヴぉけ

9 :
>>3
arqcなんて変数どこで宣言してるんですか?

10 :
>>3
キミはDOS開いてformat c:とうって円たーおしてほしい

11 :
#include <stdio.h>
long main(long argc, char **argv){
  long i;
  for(i=1; i<argc; i++){
    printf("%s", argv[i]);
  }
  return(0);
}

12 :
つうか>>6は通るだろ。

13 :
単にコマンドライン引数が何か分かってないだけだな。

14 :
>>13
そのとおりです。
説明お願いします。

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

16 :
つーかもー
#いんくたぁ〜ん <stdio.h>
main(void)
{
printf("くんにぃ\n");
}
これで勘弁してください

17 :
>>15
君には向いてない
なんか違うことやった方がいいよ

18 :
ふぅ・・・たくさん釣れたわけだが・・・。

19 :
>>15 4連鎖すべし。

20 :
>>3
コンパイラ、何使ってるの?

21 :
Turbo Pascal

22 :
>>21
そんな縄文時代の言語は他所でやってください。

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

24 :
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄戎 ̄ ̄ ̄ ̄橋 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                          .___
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄┬  ┬ ̄ ̄ ̄ ̄
            ミ  _ _  ミ へヘ  ニハハ │  │
 ココ糞スレの    〃┏━ ヽ 、/〃⌒⌒ヽ   │  │
  臭いが    |  ノノハ))))〈〈 ノノノハ))).   │  │
  するよ〜!!  .リリ ´∀`)リ |ヽ|| ´∀`||   │  │
          ⊂# ∞ #つ ⊂l~V† Vつ.  │  │
           <__ ∞___>   く____ >.  │  │
.            (_丿 l_ノ      し l_ノ     │  │
.                           │  │
〜〜          〜〜〜          〜〜         〜
     〜             〜〜           〜〜        〜〜

25 :
普通はargcで回すもんなの?
GetCommandLineなりgetoptなり使ったほうがいいと思ってるんだけど、
どうなんでしょう

26 :
普通って何を想定していまつか?

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

28 :
>>27
どうやったら-1になるの?
unsigned char c = 255;
int n = c;
unsigned char d = n;
ってやっても、d = 255だよ。


29 :
どっかでcharにしちゃったんじゃねーの?

30 :
明示的に
int n = (char)c;
とかでもしない限り、-1にするほうが難しいと思う。

31 :
intが実は、1バイトだったっとか。
しかもターゲットは 8ビットマシン。

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

33 :
C言語って なんですか。

34 :
>>33
Cnglishっていう言語のこと

35 :
>>3
このページなんかはどうでしょう?参考になりませんか?
http://c-production.com/contents/c/sec10.html
さて、質問する前に次のことを守ってください。
1、自分でgoogleなどで検索し、調べてみる。またどこまで調べて、どこまでわかったが、どこがわからないかも書いてください。
 (上のURLは、"コマンドライン C言語”)で検索しました。)
2、プログラムのソースだけではなく、コンパイルの環境(OS、コンパイラ、ライブラリ等)の情報を書いてください。
3、2chに書き込みをするまえにもう一度読み返し、書いた文章を構成してください。(自分もなかなかできてないのですが。。。)
以上です。C言語の勉強ははじめはたいへんかもしれませんが、だんだん楽になってくるものです。がんばってください。

36 :
コマンドライン引数 http://www9.plala.or.jp/sgwr-t/c/sec11-4.html

37 :
P = (struct person *)mallco(sizeof(struct person ));
先頭アドレスの代入だけ
なんでこの書き方がOKなのか分りません。

38 :
>>3
ネタとは思うが。エラー修正したとして、こうならない?
プロンプト>a.out age sage mage moge
agesagemagemogeプロンプト>

39 :
mallocは、
void* mallo( size_t );
という関数。
mallco(sizeof(struct person ));
の戻り値は、void* であって struct person* でないので、
キャストして代入する必要がある。

40 :
いやCならキャストの必要ないぞ。キャストが必要なのはC++。
それはそれとしてmallco?

41 :
やっちまった・・_| ̄|○

42 :
>>41
さいってい!

43 :
またーり汁(´・ω・`)ノ

44 :
malloc使わない。calloc使う。

45 :
#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 :
俺Perlしか分からんし

47 :
>>45
mallocでホイテョ━━━(゚∀゚)━━━━イ!!
…(・∀・)ホイテョイ!!

48 :
こんなメモリ操作、mallocで簡単簡単!ホイテョイ!

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

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

51 :
ホイテョイ厨はホイテョイスレにカエレだよもん

52 :
C++だったら.
vector<double> data;
while (1)
{
string str;
cin >> str;
if (str == "E")
break;
data.push_back(atoi(str.c_str()));
}

53 :
>>52
ホイテョ━━━(゚∀゚)━━━━イ!!
…(・∀・)ホイテョイ!!

54 :
そんなもんレンジでチンしたら出来上がりだよ!

55 :
>>54
ホイテョ━━━(゚∀゚)━━━━イ!!
…(・∀・)ホイテョイ!!

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

57 :
>>56
ホイテョ━━━(゚∀゚)━━━━イ!!
…(・∀・)ホイテョイ!!

58 :
BLOGのMovable TypeってC言語ですか?

59 :
>>58
(´・ω・`)ホイテョ━イ

60 :
C言語って関数で出来てるじゃないですか
その始めから付いてる関数ってどうできてるんですか?
標準関数を僕も作りたいんですけど
printfってどうやって作るんでしょうか?

61 :
>>60
printfなんてあるから作らなくていい。
お前が作る関数なんか標準関数とは認めない。
どうせなら
Java逝って便利なクラスでも作ってくれYo

62 :
>>61
(´・ω・`)ホイテョ━イ

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


64 :
<Font Size="7" Color="Red">テスト</Font>

65 :
初心者というか今から始める入門者です。
 オセロや将棋や囲碁を自分のPCで一からプログラムしたいのですがお勧めの
書籍&ソフトを教えてください

66 :
手っ取り早く作りたいならHSP
コンピュータとの対戦で、強い将棋プログラムを目指すならCかC++
ぬるぽしたければJAVA

67 :
スマソ。スレタイ読んでなかった。
猫でもわかる でぐぐれ。

68 :
キーボードから入力を受付けるときに、
「キー連打」と「一定時間以上キー押しっぱなし」
を区別したいのですが、どうすればよいでしょうか?
kbhit()とgetch()を使ってキー入力を判断しているのですが、
私には今のところ、区別できません。
だれか教えてください。
よろしくお願いします。

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

70 :
他スレに移動しました。大変失礼しました。

71 :
あのぉ
明日C言語のテストがあるのですが
ポインタと構造体の
何か詳しく説明してるサイトないでしょうかね??

72 :
すみません、
unsigned char* pA;
unsigned char* pB;
unsigned char* pC;
if (pA == pB){
pB = pC;
}
これをマクロにするとどうなるのでしょうか?

73 :
http://candybox.tv/
ここかな

74 :
(unsigned char *pA,*pB,*pC;((pA==PB)?pB=pC:;)))
こんな感じではないですかね。コンパイルして試してませんので、参考として。
でも、変数の宣言してますので、if分やfo文の()の中には書けませんよ。

75 :
失礼しました。
{unsigned char*pA,*pB,*pC;((pA==PB)?pB=pC:;)}
こっちの方がまともでした。

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

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

79 :
この板の限りだと、プログラマーってやつは酷く劣等感のある人種なんだ。
マイナー言語を使えるからといって、別に偉いわけじゃないんだよ。
わかる?

80 :
次のプログラムは配列tenの内容をポインタpによって参照し、入出力するプログラムである。次の空欄を埋めよ。ってゆう問題なんですけど@〜Cまでの空欄解いてもらえないでしょうか?
#include<studio.h>
main()
{
int i,ten[10]
int @p
A
   for(i = 0;i < 10;i++){
printf("整数を入力>>");
scanf("%d",B);
}
for(i = 0;i < 10;i++){
printf("%d個目 = %d\n",i+1,C);
   }
}


81 :
@*
Ap = ten;
Bp+i
C*p++

82 :
Cは間違いだな、ここは自分でやれや

83 :
Z=cos(√(xx+yy))の計算式てどうしたらよい?
    ↑ルートX二乗足すY二乗

84 :
math.hを#includeして
Z = cos(sqrt(pow((double)x, 2.0) + pow((double)y, 2.0)));
てな具合かな。
ただしcos()の引数はラジアンだよ。

85 :
配列を型に入れたいんですけど、どうにも分かりません。
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 :
ひらがなのソートはどうやるんですか?

87 :
>>85
int1ってなんですか
int8ってなんですか

88 :
>>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 :
>>86
あいうえお順にどちらが前か後ろかというのを比較する関数を定義してソートすれば良い。

90 :
>>89
ありがとうございます!やっぱり1つずつ全部ですか。
他の方法はないですか?

91 :
>>90
ひとつずつやらずにどうするの?
標準関数にはソートの関数がないから、自分で作るしかないぞ。

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

93 :
>>92
ところで、君のレス番は85だったのだけど、例のビット列はその数字にあわせたの?

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


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

96 :

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

98 :
scanf は使ってはいけない。

99 :
ま、それもかわいそうだから
scanf("%d%*[^\n]%*c",&keta);
な感じでどうよ?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
お前らPC何台持ってる? (446)
NECは (248)
MPX ストリーミング保存 その4 (228)
DYDコピーガード・・・ (598)
Apple】MacBookは超高性能小型爆弾【爆発力は優秀 (776)
お前らPC何台持ってる? (446)
--log9.info------------------
セロバウアー種明かし&実行してみるスレ (448)
マジックの世界でのモラルについて考える (274)
大道芸人さん誰が良いですか? (678)
☆☆学生マジック・第Y部☆☆ (519)
【手品じゃ無いは嘘】DaiGo【R無線】6失敗目 (956)
小泉エリ【アイドル奇術士】 (590)
シルク・ド・ソレイユ (276)
【質問】ペン回し 初心者専用スレ6【雑談】 (256)
【ユニクロ】 (´・ω・`) 【しまむら】6 (381)
マジック関係雑談のスレ3 (756)
手品でナンパPart2 (663)
【ジャグリング】その日の達成を書き込むスレ (647)
【Contact】コンタクトジャグリング【Juggling】 (228)
テンヨー総合スレ5 (758)
【テント】サーカス総合【曲馬団】 (219)
また出した鉄人社 (307)
--log55.com------------------
【1学年】大学に友達いない医学生【100人】
八千代松陰高校から東大理Vに合格
☆厚労省が歯科医平均年収を捏造している☆
☆馬鹿にするな私立医も同じ人間だ★
東大病院 3
医者不足って女を医学部に入れるのが原因じゃね?
医者の子は医者になるな!
静岡県立大卒薬剤師 VS 常葉卒教諭