[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 03/19 18:44 / Filesize : 33 KB / Number-of Response : 164
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 97



1 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 04:28:49.26 ]
C言語の*入門者*向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 96
toro.2ch.net/test/read.cgi/tech/1328292100/
★過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 156代目
toro.2ch.net/test/read.cgi/tech/1328276597/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

長くなりそうなコードはcodepadに貼り付けてもいいでしょう
codepad.org/

2 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 18:52:55.68 ]
LEDの点灯プログラムの一部なんですけど
0x01 ^ 0xff とはどういう意味なのでしょうか?

3 名前:デフォルトの名無しさん [2012/02/14(火) 18:54:18.84 ]
そのくらい自分で調べろゴミ。

4 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:07:19.86 ]
>>2
^はxorで、両方のビットが同じなら0、同じでなかったら1になる演算。
それは0xfeになる。

5 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:29:24.50 ]
>>3
ホントにゴミなもんですいません

>>4
ありがとうございます
助かります

6 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:32:25.97 ]
ameblo.jp/c-plus-style/entry-11164192768.html
検証お願いします

7 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:36:18.66 ]
>>6
何ヶ月か前も同じコード見た記憶があるんだけど、なんで何回もきくの?

8 名前:デフォルトの名無しさん [2012/02/14(火) 19:53:09.84 ]
>>6
どうなの?

9 名前:デフォルトの名無しさん [2012/02/14(火) 19:53:12.95 ]
c言語初心者です。
バブルソートの問題なのですが、前から順に入れ替えたいと思い、
以下のソースを作成したのですが、うまくいきませんでした。
どこに問題があるのか教えていただけるとありがたいです。
#include <stdio.h>
int main(void){
int i,j,temp;
int suji[]={2,5,4,3};
for(i=0;i<4;i++){
for(j=i;j<3;j++){
if(suji[j]>suji[j+1]){
temp=suji[j];
suji[j]=suji[j+1];
temp=suji[j+1];
}
}
}
for(i=0;i<=3;i++){
printf("%d\n",suji[j]);
}
return 0;
}
よろしくお願いします。

10 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:57:04.09 ]
>>9
値の交換が間違ってるのと(tempに二回代入してる)
最後の表示はjじゃなくてiを使う



11 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:59:55.89 ]
>>9
値の交換はこうだろ。

temp=suji[j];
suji[j]=suji[j+1];
suji[j+1]=temp;

12 名前:デフォルトの名無しさん [2012/02/14(火) 20:04:01.88 ]
>>10
おっしゃる通りにしたらうまくいきました。
ありがとうございました。

>>11
うまくいきました。
ありがとうございました。

また機会があったらお願いします。

13 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:09:23.94 ]
codepad使えば。
codepad.org/FUJglqDE

14 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:16:36.17 ]
根本的におかしいところは指摘しないとかw

15 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:19:43.07 ]
>>13
それバブルソートじゃないだろw

16 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:23:10.97 ]
おっと、すまん。
codepad.org/1pinYZZ8

17 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:30:34.07 ]
バブルソートしてみた。
www.youtube.com/watch?v=ljMU6kLfa7E&feature=related
昔、いろんなソートを可視化した動画を見たんだけどみつからない...

18 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:33:30.95 ]
>>16
それもバブルソートじゃないだろ?

19 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:39:25.05 ]
>>9
for(j=0;j<3-i;j++){
だな

20 名前:デフォルトの名無しさん [2012/02/14(火) 20:43:53.08 ]
>>19
だね



21 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:03:01.71 ]
バブルソートはK&Rで覚えた。

22 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:05:25.76 ]
しかし、バブルソートなんて初心者には弊害しかねーんじゃねーか?

23 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:06:38.91 ]
>>22
弊害ってどんな?

24 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:11:06.17 ]
バブルソートなんて難解なモンを初心者たる>>22に教えるとその時点で挫折するので
弊害しかない

っていうことだろう

25 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:16:46.98 ]
そういうことか
でもそれで挫折するなら教えることがほとんど無いな

26 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:18:29.61 ]
脱落する人は早めにあきらめてもらったほうが、お互い幸せだろう?

27 名前:デフォルトの名無しさん [2012/02/14(火) 21:18:45.92 ]
ソートは教えちゃいけねえんだよ
自分で思いつくまでの過程が大事なんだ

28 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 22:14:51.61 ]
そうなのか。
バブルから選択ソート、マージ、クイックと何一つ自分で思いつけなかったわ。

29 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 22:16:10.91 ]
そういえばビンソートは自分で思いついて天才かと思ったな。

30 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 22:16:21.86 ]
選択ソートくらいは思いつくだろ



31 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:16:03.53 ]
挿入ソートも配列二つ使うのなら割と自力で思い付けるよな

32 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:45:36.71 ]
アルゴリズムの本にいろいろ載ってたから、自分で考える前に知ってしまったわ。

33 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:49:08.20 ]
実はシャッフルの方が奥深い

34 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:57:59.38 ]
そうと知ってればなあ。

35 名前:デフォルトの名無しさん [2012/02/15(水) 00:34:29.02 ]
だね

36 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:35:02.11 ]
これは触っちゃダメだな
そーっとしとこう

37 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:41:56.51 ]
>>28
クイックソートは別格だからw

38 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:50:20.62 ]
自分でソートを書かなきゃならないってことはまずないんだけど
お手軽に実装できて動作が高速なコムソート(Comb Sort)はオススメ
アルゴリズムが単純だから悩まずにスラスラかける

39 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:55:35.76 ]
おれはそんな変なのより自分で書くならクイックソートのが簡単だな。

40 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 01:52:16.15 ]
件数が十分少ない時はクイックソートよりしょぼいアルゴリズムの方が速い



41 名前:デフォルトの名無しさん [2012/02/15(水) 01:56:50.27 ]
へえ

42 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 02:04:12.02 ]
クイックソートでやって、ある程度塊の件数が少なくなったらアルゴリズムを切り替えるような技もある。

43 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 02:04:54.78 ]
だから何十年前の話だ。

44 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 02:50:39.51 ]
どう考えても最後がクイックだろ。メモリアクセスが広範囲にわたるから小規模なソートは得意。

45 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 02:59:32.95 ]
>>44
アホ認定。

46 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 03:05:02.07 ]
>>6
非の打ち所の無い完璧なソースですのでもう心配しないでくださいね。

47 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 08:48:35.58 ]
挿入ソートは、ソート済みの配列に追加する際には重宝する。
NBASICの時代に、市販のマージャンソフトのソート部分を修正したのはいい思い出。

48 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 10:51:25.33 ]
中央値だけを得るのに 部分省略した挿入ソート?で代用したことなら

9要素の中央値は ベタ展開で比較回数の工夫されているアルゴリズムがあるけど
要素数が可変だとすんげー面倒

49 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 11:49:11.58 ]
メディアンフィルタとかの画像処理がらみですかね

50 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 11:53:19.89 ]
そそ。 9要素中央値の出番はもろにメディアンフィルタです。

意味合いとして、値の変化の激しいところを維持しつつ ホワイトノイズを落とす って感じなので
別の1次元信号処理に応用しようとしたの(次元を可変にして)



51 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 11:59:28.39 ]
今ならSSE使えばいいだけだな。

52 名前:デフォルトの名無しさん [2012/02/15(水) 16:05:40.68 ]
ttp://homepage3.nifty.com/mmgames/c_guide/r_lib.html#S3

isgraphのとこで、印刷できる文字ってありますが
印刷ってどういう事ですか?


53 名前:デフォルトの名無しさん [2012/02/15(水) 16:12:54.56 ]
解決しました。

54 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:25:24.57 ]
int c;
c='X';
のとき

cってのはXの文字コードをint型で代入してるだけで
Xであるという事は記憶できるんですか?


55 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:29:38.90 ]
88っていう整数を文字コードとして解釈すれば'X'。
c='X' は c=88 とするのと同じ。


56 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:30:57.21 ]
>>55
でも
c=88;

c='X';

の時じゃ
isupper(c)が違います。int型って数字そのものを記憶するだけじゃないのでしょうか。



57 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:35:02.52 ]
違うと思っているのはキミが何かを間違えている。

58 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:38:11.07 ]
>>56
違わないよ。
intでもcharでも記憶するのは数値であって、文字なんか記憶してない。
88は「X」なっていう決まりにみんなが従ってるだけ。

59 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:38:48.48 ]
違うわけがない。
codepad.org/BRWznhyP

60 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:39:03.67 ]
>>56
codepad.org/8QExKnVk
一緒になるよ



61 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:39:39.12 ]
まぁ、ASCIIじゃない環境でやってるのなら話は別だけどな。

62 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:39:45.99 ]
>>57
その通りでした。c=3のとき0だったけどこれは対応が無いだけでしたね。

別にcがXを記憶していたのではなく、cの記憶していたint型の値から
isupperが文字コードに変換するという作業をしたという認識でよろしいでしょうか。


63 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:40:32.99 ]
かぶった上に整形もせずしかも間違えててはずかしい

64 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:40:41.85 ]
変換はしない。

65 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:42:16.70 ]
>>64
文字コードのデーターベースに参照するという事でしょうね。

66 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:43:28.67 ]
日本語でおk。

67 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:46:12.98 ]
申し訳ありません。自分なりの認識の仕方です。

68 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 16:50:52.12 ]
ゆとりらしいな。

69 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 17:00:50.14 ]
言語から入るより、コンピューターの仕組みみたいなのを先にやったほうがいいような

70 名前:デフォルトの名無しさん [2012/02/15(水) 17:38:51.29 ]
最近のゆとりは「必要があれば覚える」ってスタンスだからそういうところからやらないんだよ
そのほうが実質的で合理的、俺KAKKEEEEEEEEEEEEEEEEEEEEEEEEEEEとか思ってんだろ



71 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 17:48:07.89 ]
#define C_SIZE 256
#include <stdio.h>
#include <string.h>
int main(void)
{
  char c[C_SIZE], substring[C_SIZE];
  int i, length;
  for(i = 0; i < C_SIZE; ++i) {
    c[i] = i;
  }

  length = 0x7E - 0x20 + 1;/* 0x7Eは、~のASCIIコード */
  strncpy(substring, &c[0x20], length);/* 0x20は、半角空白のASCIIコード */
  substring[length] = '\0';
  puts(substring);
  return 0;
}

72 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 17:50:06.52 ]
>>70
まぁソフトウェアに限って言えば今は仕事ないでしょ?
コンピュータの仕組み知ってても就職ないし。



73 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 17:52:00.65 ]
Turbo Dump Version 5.0.16.6 Copyright (c) 1988, 1999 Inprise Corporation
Display of File 1.TXT

000000: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()*+,-./
000010: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0123456789:;<=>?
000020: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ABCDEFGHIJKLMNO
000030: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F PQRSTUVWXYZ[\]^_
000040: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F `abcdefghijklmno
000050: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 0D pqrstuvwxyz{|}~.
000060: 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

74 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 18:22:13.30 ]
必要があれば覚えるっていう本来は要領の良さによる賞賛されるべき能力が
単位を取ることにしか活かされてないってのが問題だね

勉学に励む上でこの能力を活かせばいいのに。

75 名前:デフォルトの名無しさん [2012/02/15(水) 18:39:03.00 ]
こういう構造体があったとする
struct A{int width; int height; char* header; char* data;};

実際にはこのようにインスタンス生成される(一例)
struct A a = {
.width = 20, .height = 20,
.header = "%name=smile a=#CCCCCC b=#FFCCCCC c=#FFFF00 d=#000000",
.header = "%name=brick a=#CCCCCC b=#FFCCCC";
.data =
"aaaaaaaaaaaaaaaaaaaa"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaacccccaaaaaaaa"
"abbbbbbccccccccbbbbb"
"abbbbcccccccccccbbbb"
"abbbccccdcccdcccbbbb"
"abbbccccccccccccbbbb"
"aaaaccccccccccccaaaa"
"bbbbbccccdddcccbabbb"
"bbbbbabccccccbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"bbbbbabbbbbbbbbbabbb"
"aaaaaaaaaaaaaaaaaaaa"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
"abbbbbbbbbabbbbbbbbb"
};

76 名前:75 [2012/02/15(水) 18:42:00.94 ]
訂正
.header = "%name=brick a=#CCCCCC b=#FFCCCC"; この行は不要

77 名前:75 [2012/02/15(水) 18:54:06.14 ]
>>75を見れば、仕様はわかると思う。xpm系の亜流だと思う。(わからない人はいいです。さよなら)

BMP画像を変換して、この形式のCソースファイルとして出力するツールが欲しい。
pirntfでもFILE書き込みでも、なんでもいい。
とにかくこの形式に変換する簡単なツールでいい。

自分で書くの面倒なのでだれか書いてくれると助かる。
(ただし、標準C以外のライブラリーの使用はできないものとする。libbmp.aなどは使用できない制約)

簡単なものでいい。
制限が強くても構わない(たとえば256色パレットモードのBMP限定など)

78 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 18:55:52.31 ]
自分でやれ

79 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:00:05.20 ]
JavaとかC#とかならともかく、Cは所詮アセンブラの豪華なやつだし、
コンピュータの仕組み的な知識は必須だと思うな。
配列とか構造体とかも他の高級言語でいうような抽象的な構造じゃなくて、
メモリへのラベル付けみたいなもんでしかないし。

80 名前:75 [2012/02/15(水) 19:01:49.25 ]
詳細な仕様を調べて無いのでわからないのだけど、おそらくパレット数はアルファベットの印字可能文字数が限度な気がする。
ので、[a-zA-Z]の50パレット程度が限度と考えて変換すればいいと思う。
(複数文字で1パレットという表し方が可能かどうかは不明)

0-9の数文字はランレングスに使うとか言いかねないので、使わない方が無難な気がする。@#%あたりの記号文字も危ないので使わない方が無難だと思う。
(とにかく、まだ仕様が決まってない。よくわからない状態)

とりあえず、BMPを50パレット程度の上記フォーマットのCコードへ変換して出力するツールを誰か書いてくれるとラクなのでお願いしますスーパーハッカーのみなさん



81 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:09:29.33 ]
ちゃんと宿題スレで依頼しろよ

82 名前:デフォルトの名無しさん [2012/02/15(水) 19:22:09.42 ]
>>80
失せろゴミ

83 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:23:12.36 ]
>>79
コンピュータの仕組み的な知識っていうけど、構造的な理解必要なの?

メモリってものがあるっていう理解以上に深いものはないでしょ。


int a=30;
なら何番地に30

string s="str"なら
何番地から何番地にかけてs t r
っていうね。



84 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:29:21.99 ]
C言語でスレッドって出来るの?



85 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:30:42.13 ]
>>83
プログラムカウンタ、スタックポインタ、スタックフレーム、スタック、ヒープ、
みたいな、実行時のイメージみたいなのは持ってる必要があると思う。


86 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:34:31.41 ]
スタックポインタって何?

87 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:36:59.22 ]
A7の別名

88 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:39:52.22 ]
>>84
できるはず…?

実際は、C++コンパイラ(ライブラリ)をつかうとおもう。
たとえば、SmartWin
exitThread = fork(x, & KozuchiWidgets::ThreadWaitForObjectsCall);
これは、Cにみえるでしょ

C++Builder4のVCL(「TThread オブジェクトは,アプリケーションで複数の実行スレッドを作成できる抽象クラスです」)

89 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:48:29.86 ]
>>84
Windows APIでは、
CreateThread()
TerminateThread()
ExitThread()

90 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:52:33.35 ]
結局ライブラリ必要なんかwww
Cって機能少ないなぁ



91 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:56:20.27 ]
アセンブラを除いたら一番プリミティブな道具だもの

92 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:00:32.13 ]
>> 77
(わからない人はいいです。さよなら)

これにムカついたので作りません

93 名前:75 [2012/02/15(水) 20:00:51.81 ]
osがposix準拠ならpthread使える
#include <pthread.h>

#include <stdio.h>
void* f(void* a){int i=100; while(i-->0) putchar(*((char*)a));}

main(){
pthread_t a,b;
pthread_create(&a, NULL, f, "A");
pthread_create(&b, NULL, f, "B");

pthread_join(a, NULL);
pthread_join(b, NULL);
}


94 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:04:15.68 ]
C言語において抽象データ型って何でしょう?
また抽象データ型の反対って何ですか?

95 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:17:09.13 ]
Cには言語がサポートする抽象データ型っていうのはないんじゃないの?
自前で作ったものでシミュレートする事はできるだろうけど。
言葉的には抽象の反対は具象だわね。


96 名前:75 [2012/02/15(水) 20:17:19.43 ]
データを抽象化するためのテンプレートとなる抽象定義のメタ型となる型のことじゃね。
C++だと純粋仮想関数だけで定義したクラスを抽象クラスと呼ぶけど、それに近い概念のC版は知らない。

97 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:18:11.02 ]
>>96
なんでコテなの?
クソコテなの?

98 名前:75 [2012/02/15(水) 20:20:10.59 ]
>>92
べつにいいわ、もう書いたし。

99 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:21:34.79 ]
>>96
意味わかんねー...

100 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:34:26.98 ]
wikiって専門用語はかなり難しい記述でなされてるね。
慣れないと分からんわ。



101 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:45:49.10 ]
struct 構造体は抽象データ型じゃないの?

102 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 20:53:56.32 ]
Cの構造体はメモリ領域へのラベル付け。
もちろんオフセットを使うよりは抽象的だろうけど、
抽象データ型ってのはそういうのじゃないと思う。


103 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:33:28.72 ]
メモリ領域からキョリを感じさせるデータの扱いが抽象データ型?

104 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:40:47.66 ]
charは何で文字型と呼ばれてるのか。

105 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:43:37.92 ]
アスキー文字1文字入れるのに1バイト必要だからじゃね

106 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:45:47.05 ]
intはじゃぁ4倍文字型じゃないのか

107 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:49:12.49 ]
>>106
アホがいる……

108 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 21:56:01.01 ]
何でww
int型はcharの4倍大きい容量でしょw

109 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:07:23.94 ]
半端な知識/前提と普遍ゴッチャだと
配列 = 等間隔に一様なデータ並べた構造
と決め付けて掛かっちゃうからねー

110 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:14:17.67 ]
いや、配列はそうだろ。
何が言いたいのか知らんが



111 名前:デフォルトの名無しさん [2012/02/15(水) 22:27:53.09 ]
自分自身が何の話をしているのか隠したままハッタリかます奴は
いじめるとおもろいぞ

112 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:41:22.03 ]
sizeof(int) >= sizeof(char) は確実だけど
sizeof(int) == sizeof(char) * 4 は環境次第じゃないっけ

113 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:48:10.78 ]
ていうかなんで型のサイズって規定されてないんですかね?
C言語マスターさん教えてください

114 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:50:31.73 ]
>>112
うん。
あと、intが16bit以上であることも確実

115 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:52:04.25 ]
漢字とかのユニコードってint型で保持できるわけ?

116 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:53:01.09 ]
>>115
符号化方式によっては保持できるかと

117 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:54:00.81 ]
>>113
いったん決めたら後から変えたくなっても変えづらいから。
今はbit数で型指定できるからそれで問題ないでしょ

118 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:54:18.11 ]
C言語と相性の良いグラフィックライブラリって何ですか?
有償でインストールするのでお願いします。

119 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:00:52.56 ]
>>113
世の中にはいろんなアーキテクチャがあるからだよ。
>>115
専用の型を使え。
>>118
環境/用途による。

120 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:24:22.59 ]
>>119
漢字の型ってあるの?

kyara型とか?



121 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:27:05.84 ]
>>120
環境による。

122 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:39:56.96 ]
まぁユニコードってとか言ってるやつが心配するこっちゃねーわな。

123 名前:75 [2012/02/15(水) 23:41:50.67 ]
文字コードが妙に複雑なのは、アスキーコードと互換性を持たせようとしてるのと、
記録容量ケチろうとしてるのが原因。

1文字4バイト固定の文字コードをアングロサクソンが受け入れれば、以降に書かれるアプリで文字コードの問題は未来永劫起こらない。

124 名前:デフォルトの名無しさん [2012/02/15(水) 23:52:48.56 ]
ふーん

125 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 23:53:10.90 ]
>>123
お前はユニコードも知らんのか。

126 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:36:01.22 ]
16ビットでは不足していた。Unicodeは、拙速で失敗した


127 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:40:21.25 ]
いつの時代だよ。

128 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:41:15.29 ]
「65536個じゃ足らんかった」
UTF-16
UTF-8
UTF-32
toro.2ch.net/test/read.cgi/tech/1291075205/475-476

129 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:19:04.38 ]
Unicodeのコードポイント1つは
字面上の1文字に対応するとは限らないので
>>123みたいな発想は手遅れ

130 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:39:20.38 ]
>>118
グラフィックライブラリ?
GUIではなくて? マルチメディアライブラリ? ハードウェアで高速描画?
有償のライブラリ?



131 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:49:17.87 ]
もう、32バイトで一文字のビットマップ直接表現しようぜ。

132 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:49:46.43 ]
頭、大丈夫か?

133 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:51:45.81 ]
64bitの有能なパソコンだとC言語使ったら何か変わるの?

134 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:58:29.84 ]
メモリがたくさん使える。

135 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 02:01:54.54 ]
visual C++ダウンロードしたいのですが有償ですか?
古いのでいいのなら無償でインスコできますかね?

136 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 02:02:19.54 ]
express

137 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 02:10:57.34 ]
>>136
2010 expressを今ネトインスコしてます。
まじでドキドキします。
俺のPCで動くのだろうか。

138 名前:デフォルトの名無しさん [2012/02/16(木) 02:46:12.85 ]
ドキドキするね

139 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 02:52:44.52 ]
起動遅過ぎだなぁ

140 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 03:13:02.49 ]
マイクロソフトの人にdreamsparkのCD貰ったけど使ってないな



141 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 06:15:16.58 ]
>>139
ずっと起動しとけば問題ない

142 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:40:52.76 ]
二つのint型変数の値を返したい場合は、構造体を返すのがいいのでしょうか。
それとも、それぞれを分けて、一つずつ値を返す関数を書くのがいいのでしょうか。
あるいは、その二つのint型変数をグローバル変数として宣言し、呼ばれる側の関数で処理をするのがいいのでしょうか。
ないしは、呼ばれる側の変数にアドレスを渡して、ポインタを使って直接アクセスするのがいいのでしょうか。

私は、ポインタを使って直接アクセスするように書いたのですが、この方法では呼ぶ側の関数で必要のない変数(二つのint型変数)を宣言しなければならず、これが少し気持ち悪い気がするのです。
こんなときはどのようにするのが一番いいのでしょうか。

143 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:44:03.96 ]
配列で返せばいいんだよ

144 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:47:02.34 ]
>>142
二つのint型変数の値を返すんだから、返してもらう方(呼び出し側)が器用意してあげないでどうする?


145 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:49:34.14 ]
>>142
>呼ぶ側の関数で必要のない変数
それ値返す必要が無いんじゃね?

146 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:53:34.90 ]
/* 新規ファイルの作成*/
void makefile(const char *filename) {
FILE *fp;
char in[5], out[5];
if ((fp = fopen(filename, "r")) == NULL) {
fp = fopen(filename, "a");
fclose(fp);
} else fclose(fp);
output_data(in, out);
output_file(filename, in, out);
}
/* 出勤、退勤の打刻 */
void output_data(char *p, char *q) {
int i;
for (i = 0; i < 5; i++) {
p[i] = 0x00;
q[i] = 0x00;
}
puts("出勤時刻の打刻");
printf("出勤時刻:");
scanf("%4s", p);
puts("退勤時刻の打刻");
printf("退勤時刻:");
scanf("%4s", q);
}
/* ファイルに書き込む */
void output_file(const char *filename, char *in, char *out) {
FILE *fp;
fp = fopen(filename, "a");
fprintf(fp, "%s,%s\n", in, out);
fclose(fp);
}

147 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:57:18.05 ]
>>144
これがソースなのですが、inとoutの値を返すのにはその器が必要ですよね。


ありがとうございました。

148 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:58:57.31 ]
>二つのint型変数
待て。話が違うぞw

149 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:02:37.39 ]
>>148
このソースでは数値を文字列として受け取り、あとからatoi関数で変換しようと思ったのですが、本当はint型のinとoutという変数を使いたかったのです。
すみませんorz

150 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:11:45.02 ]
guidに文字を割り当てれば
全ての文字を表せる、おれおれ文字コードのできあがり。



151 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:25:01.40 ]
>>142
もともと2つの整数をメンバーとする構造体(Win32のRectやPoint)が存在し、
それを返すことで見通しが良くなるなら、それを返してもよい。整数2つくらいなら問題ない。
その関数の返却値のために構造体を作ることは控えた方がいい。

>>148ならば配列で渡す場合が多いと思う。

152 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 17:43:49.25 ]
visual C++のコンパイラの名称って何て言うんですか?

153 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 17:50:09.38 ]
Microsoft (R) C/C++ Optimizing Compiler
って自称してる。

154 名前:デフォルトの名無しさん [2012/02/16(木) 18:02:46.01 ]
>>153
なるほど。


コマンドプロンプトでのコマンドはVisual C++独自のものってあるんですか?

155 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:12:36.23 ]
は?

156 名前:デフォルトの名無しさん [2012/02/16(木) 18:13:33.06 ]
>>155
コンパイルするときのオプションコマンドですよ。
独自のものあるんでしょうか?

157 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:18:34.71 ]
msdn.microsoft.com/ja-jp/library/9s7c9wdw(v=vs.100).aspx
自分で判断してください

158 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:18:44.78 ]
KARAの盤権はフジパシフィック音楽出版
つまり宣伝すればするほど儲かるフジテレビ
www.officiallyjd.com/wp-content/uploads/2011/02/20110211_kpop_22.jpg

Kポップの版権を大量に抱えるフジパシフィックの取締役の物まねをする石橋
petite-soeur.dyndns.org/cgi-bin/up2/src/ps217256.jpg
KARAと踊る木梨
petite-soeur.dyndns.org/cgi-bin/up2/src/ps217372.jpg
とんねるずの韓流始めました
petite-soeur.dyndns.org/cgi-bin/up2/src/ps217209.jpg


韓国ageだけならまだしもとうとう日本sageまで行った売国ウジテレビチョン
※すべて蛆テレビで放送されたドラマ内の映像
記事・f2.upup.be/f/r/Eg9oj2i3qj.jpg
リトルTシャツ・f2.upup.be/f/r/0mnCmqmRHt.jpg
ワラ人形・f2.upup.be/f/r/97LrjtAqCU.jpg
首相・f2.upup.be/f/r/wH05SJZsJP.jpg
JAP・f2.upup.be/f/r/gX5bBAhSal.jpg


159 名前:デフォルトの名無しさん [2012/02/16(木) 18:20:06.83 ]
コンパイルオプション何てよっぽど高度な事しない限り必要ないと
思いました

160 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:22:51.67 ]
>>156
ほれ
msdn.microsoft.com/ja-jp/library/610ecb4h.aspx



161 名前:デフォルトの名無しさん [2012/02/16(木) 18:31:49.54 ]
>>160
ありがとう兄さん

でも使う事なさそうだね

162 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 19:05:33.82 ]
>>161
使いまくるよ。
cl /? で一覧出てくるからどうぞ。

163 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 19:43:23.39 ]
コンパイラーオプションを指定しないことは極めて稀。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<33KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef