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;
}
の様に組んだのですが、実行すると
***
-***
--***
となってしまいます。
*を出力する部分が正常に動いていないのだと思うのですが、
どう改善させれば良いのか分かりません。
宜しくお願い致します。
347:まちがって名前消しちゃいました。
08/04/19 18:54:28 jlhkIUUO
>>346
これでどうでしょう。
#include <stdio.h>
int main(void)
{
int num;
int amax; /* アスタリスクの一行あたりの最大出力個数 */
int acnt; /* アスタリスクの出力個数カウンタ */
int smax; /* スペースの一行あたりの最大出力個数 */
int scnt; /* スペースの出力個数カウンタ */
printf("正の整数:");
scanf("%d", &num);
if (num > 0)
{
for (amax = num, smax = 0; amax > 0, smax < num; amax--, smax++)
{
for (scnt = 0; scnt < smax; scnt++)
{
printf(" ");
}
for (acnt = 0; acnt < amax; acnt++)
{
printf("*");
}
printf("\n");
}
}
else
{
printf("無効な数値が入力されました。\n");
}
return 0;
}
348:まちがって名前消しちゃいました。
08/04/19 23:31:37 2+nFYJMs
C++Compiler / Turbo Debugger ってどうやって使えるようになるんですか?
349:まちがって名前消しちゃいました。
08/04/20 20:07:47
>>347
ありがとうございました。
恥ずかしながら、forの一くくりに条件を二つも入れられることを
知りませんでした。
350:まちがって名前消しちゃいました。
08/04/23 13:44:41 oir+0IES
すみません、質問なのですが
char型の1次元数列に格納されている数列を
INT型の変数に代入するにはどうしたらいいのでしょうか;;
具体的には、数列として1,2,3が入っているとすると
それをINT型の123に変換できないでしょうか?
int out,i,omomi=100;
char suretu[3]=123;
for(i=0;i<3;i++){
out=out+(suretu[i]-'0')*omomi;
omomi--;
}
とすれば変換出来ると思ったのですが、char型の数とINT型の数は
掛け合わせることができないみたいで…
それに加え、入力の数列が2桁、1桁の場合にどうやって判定すればいいのかも
わかりません…。
よろしくお願いします;;
351:↑不覚にもワロタ
08/04/23 17:26:47
>>348
残念だが、ここはC専用初心者質問スレである。
C++はスレチ
352:まちがって名前消しちゃいました。
08/04/23 20:17:42 mk8tQfgw
>>350
こういうのは?
int out;
char suretu[] = "123";
out = atoi(suretu);
353:まちがって名前消しちゃいました。
08/04/23 21:18:45 oir+0IES
>>352
そんな関数あったのですね;;
もっと調べてみるべきでした。
ありがとうございました!
354:まちがって名前消しちゃいました。
08/04/27 07:29:54 ZHazopOp
アロー演算子ってものを使うと、処理速度が速くなるということが書いてあったのですが、
実際業務のような大きいプログラムを組んだ際、どの程度速くなるものなんで
しょうか?
355:まちがって名前消しちゃいました。
08/04/27 09:04:02 +1ojxpH8
atoi .. asii to into
356:まちがって名前消しちゃいました。
08/04/28 00:04:12
>>355
atoi .. ascii to integer
atof _ ascii to float
357:まるち
08/04/29 15:21:38 v8mvk1NY
掛け金のついたトランプのポーカーゲーム作ってください(C言語)
358:8年前はプログラマー ◆ugY4Gm8tIM
08/04/29 20:15:40
>>350
無理やり自分でやるなら、
int keta;
keta=strlen(suretu);
for(;keta>0;keta--){
omomi=10~(keta-1);
計算;
}
じゃないか?
omomi--だと100回ループしてまうのでは。
359:まちがって名前消しちゃいました。
08/05/03 20:01:59
すいません、質問です。
C言語学習のために、terapadやコンパイラの入ったディスクを
使ってインストールしてみました。指示に従って上手く終えたはずなんですが、
実際にbcc32コマンドを使ってコンパイルしてみても「認識されていないので
実行できない」という趣旨の文が出てくるだけです。cfgファイルの
移動も環境変数の編集も指示通りのはずなんですが・・・・・
自分と同じミスをした方、いらっしゃったら教えて頂けませんか?
360:まちがって名前消しちゃいました。
08/05/11 01:03:41
まず、terapadで作ったソースファイルをC:\borland\bcc55\Binのところに
保存する。C:\borland\bcc55\Binは作業フォルダ。君の作業フォルダは知らん。
次に、コマンドプロンプト上で >cd C:\borland\bcc55\Bin
で作業フォルダに移動
>bcc32 ファイル名.c
で終わり。
361:まちがって名前消しちゃいました。
08/05/11 13:37:23 W1a0Fnik
適当に数字を入力して
その数字をまたある数で割って割り切れたらその値を出力して
割り切れなかったら余りだけをまた別の小さい値で割りきれるか
って繰り返して最終的には割り切れるプログラムを作りたいんですが・・・
例えば1020を500で割ると2余り20で2が出力され
余り20を10で割って2が出力されるみたいな
困ってるんでお願いしますm(_ _)m
362:まちがって名前消しちゃいました。
08/05/11 15:51:18
>>361
頑張って書いてみたけどどうかな?
#include <stdio.h>
int main(void)
{
int wara,waru,ans,amari,waru2;
printf("割られる数と割る数を,で区切って入力してください");
/*例 100,3*/
scanf("%d,%d",&waru,&wara);
ans = waru / wara;
amari = waru % wara;
printf("答えは%d,余りは%d :",ans,amari);
scanf("%d",&waru2);
printf("%d / %d = %d",amari,waru2,amari / waru2);
return 0;
}
363:まちがって名前消しちゃいました。
08/05/11 20:30:57
改良版
#include <stdio.h>
int main(void)
{
int wara,waru,ans,amari,i;
printf("割りたい数を入力してください\n");
scanf("%d",&wara);/*割られる数*/
for (i = 1;i <= 10;i++) {
printf("どの数字で割るか入力してください\n");
scanf("%d",&waru);/*waraを割る数*/
ans = wara / waru;
amari = wara % waru;
wara = amari;
printf("答えは%d\n余りは%d\n",ans,amari);
}
return 0;
}
364:C言語歴2週間
08/05/15 23:31:35
課題が出来ない、誰か教えて°・(ノД`)・°・
2桁の16進数を入力して%xを使わずに対応する文字を表示するってのなんだが
例:入力 53
文字コード「53」の文字は「S」
どうやっても大文字のSが出ない(つд`)
365:まちがって名前消しちゃいました。
08/05/17 04:29:24
C++はスレ違いですか?
366:まちがって名前消しちゃいました。
08/05/17 15:02:21
質問です。
例えば
int data[2][2]
という2次元配列をとった場合
メモリ上ではどのように格納されているのでしょうか?
data[0][0] data[1][0] data[0][1] data[1][1]
それとも
data[0][0] data[0][1] data[1][0] data[1][1]
なのでしょうか?
367:まちがって名前消しちゃいました。
08/05/19 02:23:47
Cを覚えたいんだけど、何から揃えればいいの?
368:まちがって名前消しちゃいました。
08/05/19 07:09:58
パソコン
ビルダー
参考書
369:まちがって名前消しちゃいました。
08/05/19 09:21:26 z9059u1R
C言語ってどれくらいのレベルを基準に
初級
中級
上級
と判断できるの?
370:まちがって名前消しちゃいました。
08/05/19 20:13:26
初級:メモリの構造を理解できてポインタが
使える。
中級:***pとか意味も無く使ってみる
上級:むしろポインタを使わずにビューティーな
ソースが書ける。
こんな感じだと初心者の俺が言ってみる。
371:まちがって名前消しちゃいました。
08/05/19 20:49:15 9LN3xx8J
C言語を勉強してみようと思って
「猫でもわかる~」という本を読みはじめてみたんですが、
処理環境ってどうすればいいのかさっぱりわかりません。。。
どこかで何かをインストールするんですか?
ソフト買うんですか?
誰か教えてくださいorz
372:まちがって名前消しちゃいました。
08/05/19 21:36:14
とりあえずMinGwでググッてみろ
話はそれからだ。
373:まちがって名前消しちゃいました。
08/05/19 22:23:29 9LN3xx8J
>372
ぐぐってみた!
「MinGwはフリーで入手できるGNUのCコンパイラである」らしいとわかった!
これをダウンロードすればいいの?
374:まちがって名前消しちゃいました。
08/05/19 23:35:29
そうだっ!!
ダウンロードしてインストールして
パスを通して終了だ。
パスの通し方はスタート→ファイル名を指定して実行
→cmd→PATH C:\MinGw\binとかそんな感じだ。
そしてソースファイルを作成したら
Dos窓からgcc 何とか.txt エンター
375:まちがって名前消しちゃいました。
08/05/20 00:15:44 k9POdkJ+
うーん。。。
ダウンロード画面(ここ↓)
URLリンク(sourceforge.net)
まで行ったけど、いっぱいあってどれをダウンロードすればいいのか分からない(汗)
マジ初心者で申し訳ないけど教えてください。。。
376:まちがって名前消しちゃいました。
08/05/20 00:28:21
いくらなんでも初心者すぎるだろ・・・・
URLリンク(sourceforge.net)
の一番上のMinGw 5.1.4をダウンロードして実行
後はこのページでも見ながらインストールしてみれ
URLリンク(yanchde.gozaru.jp)
377:まちがって名前消しちゃいました。
08/05/20 01:49:49
プログラムの勉強のためにLinux入れちゃったよ
でも、とりあえずHello Worldは書けた。
a.outなんてファイルが出来るのな
早くウィンドウとか出したいなぁ
378:まちがって名前消しちゃいました。
08/05/20 13:37:09 fZ6G5z1J
fprintfの使い方としてわからないんですが、文字列としてファイルから配列に読み込んだ場合
fprintfとして使うとファイルの読み込みの上書きじゃなく全部消えてしまうマスカ?
379:まちがって名前消しちゃいました。
08/05/20 14:44:31
ここよりプログラム板に行った方がいいんじゃないか?
380:まちがって名前消しちゃいました。
08/05/20 23:31:58 k9POdkJ+
>376
ダウンロードは途中まで行けるんだけど、
「Your connection appears to have dropped out.
Reconnect dial up or check your IE proxy settings.」
って表示されて途中で止まってしまう…orz
設定を調べろといわれてもド素人にわからないが、
色々と頑張ってみたところ互換性がうんぬんかんぬん。。。?
MinGwがまだXP対応で使ってるPCがvistaだからとか??
ってなって困ってるところです。
丁寧に対応してくれてるのに つまずいてばっかりでごめん。
でもできればもう少し我慢して教えてくれないだろうか(><;)
381:まちがって名前消しちゃいました。
08/05/21 14:03:37
>>380
Borlandのコンパイラをオススメしてみる。
URLリンク(www.codegear.com)
↑のページの
C++ Compiler 5.5/Turbu Debugger
てのクリックして、必要事項記入してダウンロードできる。
個人使用に関しては只。
落としたら、コンパイラの実行ファイルフォルダを環境変数にPATH設定する。
多分コンパネのシステムからできる。
今あるPATHの後ろに;c:\borland\bcc55\binを加えて再起動。
それとINCLUDEとLINKのPATHをCFGファイルに設定する。
-IC:\Borland\Bcc55\Include
-LC:\Borland\Bcc55\Lib
て内容で、上のbinのフォルダにBCC32.CFGてファイルで作成する。ノートパッドでOK。
あとは適当にCのソース入れるフォルダ作って、そこにソース入れる。
コマンドプロンプトからソースのフォルダに行って、
>BCC55 ファイル名.c エンターで実行ファイルが作られる。
382:まちがって名前消しちゃいました。
08/05/22 00:04:39 K/s7JfXb
>>381
ふぅむ。。。
ちょっと今急いでレポートを書かなきゃいけないので
明日の夜にやってみる!
ちなみにこれってC++のコンパイラみたいだけど、
C++ってC言語とどう違うの??
今は『猫でも分かるC言語プログラミング』って本を読んでるんだけど
このコンパイラを使うならC++の本の方がいいのかなぁ?汗
383:まちがって名前消しちゃいました。
08/05/22 02:10:45 8ywkUfSW
すいません、ちょっと教えて下さい。
画面の右下のツールバーが消えてしまって、ペンまで消えてしまいました。
これは誤作動してるんですか?
それともロックのようなもの?をしてしまったのでしょうか?
設定はしてみましたが、なぜかできませんでした。
再起動の時やショットダウンの時は一瞬ツールバーが表示されます。
384:まちがって名前消しちゃいました。
08/05/22 02:16:53 EicJJs1t
どなたかお助けください
以前zipファイルを開くときにプログラムを使って開くというのにしてしまいまして
それ以来Adobeだのメモ帳だのから開くことしかできず結局中身は開けずじまいなのです
プログラムから開くさえクリックしなければ以前のように見れた気がするのですが
どうやったら直るでしょうか?お願いします!
385:まちがって名前消しちゃいました。
08/05/22 05:34:35
しーとしーぷらぷらって何が違うんですか?
スクリプトしか知らない自分に解り易く説明してください。
386:まちがって名前消しちゃいました。
08/05/22 10:25:35
>>382
C++のコンパイラだけど、Cもいけるから大丈夫。
>>385
Cはどっちかっていうと機械向けの言語であまり人に親切ではない。
C++はCの仕様拡張でオブジェクト指向プログラミングとかクラスの実装とかで、
人に優しい。わかりやすいかどうかは別だ。説明してておいらもわかってないさ。
C++のプログラム経験あるけど、結局Cの範囲でしか書かなかったからな。
387:まちがって名前消しちゃいました。
08/05/22 10:30:11
>>384
ここC言語スレなんだけど、それさえもわからんほど焦ってる?
とりあえず、エクスプローラーのツールのフォルダオプションのファイルタイプ
で登録されてる内容を編集するか、削除して一からやりなおすかしたらいいんじゃないかと思う。
388:385
08/05/22 14:53:21
>>386
詳しいご説明ありがとうございます。勉強になりました。
389:まちがって名前消しちゃいました。
08/05/22 23:08:32
echo "main(){}" > test.c; gcc test.c
390:まちがって名前消しちゃいました。
08/05/24 22:48:54
>>387
CってPCの略語だと思ってたらどうやら違う?
しかし直りませんわ・・・3月に買ったばかりなのに何もできやせんこのPC
391:まちがって名前消しちゃいました。
08/06/03 21:36:44 EHr8Vkzf
分かる人がいれば、教えていただきたいのですが・・・
VisualStudio2008でC++のMFCの基本的なスタイルで作成したんですが
ビルドするとツールバー(切り取り・保存・貼り付け・バージョン情報)が
勝手に作成されてしまいます。
これを消すには、どこをいじればいいでしょうか?
392:まちがって名前消しちゃいました。
08/06/06 00:02:04
えっとC初めてまだあまり経っていないので質問です。
勉強の仕方なんですけど参考書とかっていうのは揃えた方がいいのでしょうか?
393:まちがって名前消しちゃいました。
08/06/08 01:09:04
C言語学習してて参考書が必要ないと感じるなら
買わなくていいだろ。
394:まちがって名前消しちゃいました。
08/06/09 17:31:54
>>393
そりゃーごもっともだが、回答にはなってないな。
395:まちがって名前消しちゃいました。
08/06/09 19:41:42 kgYEaJxO
URLリンク(www.geocities.jp)
こういうプログラムを実行したときに
void型はnode型に変更できませんってなるのはなぜでしょうか
396:まちがって名前消しちゃいました。
08/06/09 23:03:02
bccだと普通にできたけど・・・・
コンパイラの違いじゃないか?
と初心者の俺が言ってみる
397:まちがって名前消しちゃいました。
08/06/10 07:58:05
ネットがあるのに参考書も必要かな?
398:まちがって名前消しちゃいました。
08/06/10 12:48:10
>>397
有ると便利な事も有る。
まぁ、やり方しだいだと思う。
と初心者が言ってみる
399:まちがって名前消しちゃいました。
08/06/11 11:46:54
>>397
知識の質の違いの分かるエスパーには不要だよ
400:まちがって名前消しちゃいました。
08/06/13 11:49:30
逆引き一覧だけは本で持ってる罠
401:まちがって名前消しちゃいました。
08/06/13 16:51:24 ANX/3Ydm
コマンドラインでプログラムを実行し、コマンドラインでキーボード入力をし、
Ctrl + dが押されるまで改行しても入力し続けることができて、Ctrl + dが入力されたら入力された文を
すべてテキストファイルに書き込むプログラムはどうやって作ったらいいですか?
402:まちがって名前消しちゃいました。
08/06/19 12:25:59
>>395
C++のコンパイラでコンパイルしてるから。
大方、VisualStudioのExpressでも使っているんだろう。
403:まちがって名前消しちゃいました。
08/06/20 22:42:09 V2kImuux
Πの近似値を求めるプログラムを教えてください
404:まちがって名前消しちゃいました。
08/06/22 16:22:43
TL2号数使えばいいですよ
405:まちがって名前消しちゃいました。
08/06/23 04:56:10 Naxunqvb
>>403 これでヒントを得てください。
#include<stdio.h>
void main(void)
{
int w,a,b,c,d,e,f,g,h;
float i,j,k,l,m,n,o,p,q,r,s,t,u;
for(w=1;w<=10000;++w){
a=w;
b = a*a;
c=b-a;
d=2*a;
e=c/d;
f=a-e;
g=f*f;
h=g-a;
i=2*f;
j=h/i;
k=f-j;
l=k*k;
m=l-a;
n=2*k;
o=m/n;
p=k-o;
q=p*p;
r=q-a;
s=2*p;
t=r/s;
u=p-t;
printf("√%dの近似値は\%fです。\n",a, u);}
}
406:まちがって名前消しちゃいました。
08/06/23 04:57:45 Naxunqvb
二重for誰か考え方教えてください。
理屈はわかるけど、納得いかない…
407:まちがって名前消しちゃいました。
08/06/23 06:09:06
わかるかわからんかはっきり汁
わからん例題を示せ
408:まちがって名前消しちゃいました。
08/06/23 06:25:13 Naxunqvb
#include<stdio.h>
main()
{
int a,b;
for(a=1; a<=10; a++)
{
for(b=14; b>a; b--)
{
printf("*");
}
printf("\n");
}
return 0;
}
for(b=14; b>a; b--) ← ここのb>aの理屈がどうしても理解出来ません。
誰かご存じでしたらお願いします。
409:まちがって名前消しちゃいました。
08/06/23 06:48:27
bが減っていくんだから、例えばa=10のときは、
b=14>10、b=13>10、b=12>10、b=11>10
の4回(14-10回)。a=1のときは、
b=14>1、b=13>1、…、b=3>1、b=2>1
の13回(14-1回)。
同じ回数繰り返すにしても、書き方が色々ある。
for(b=14; b>a; b--) ...
for(b=14-a; b>0; b--) ...
for(b=0; b<14-a; b++) ...
410:まちがって名前消しちゃいました。
08/06/23 06:51:30
for(b=0; b<14-a; b++) ...
と書けば、ループの中で変わらない「14-a」を何度も計算することになるから、
ちょっと変形でもしてみようか、という話になる。
411:まちがって名前消しちゃいました。
08/06/23 07:06:49 Naxunqvb
あ!?スゴイ…
よくわかりました。
新たな質問なんですが、以下の文だとどうして減らなくなるのでしょうか?
理屈は同じに思うのに、何で違うのかがわかりません。
すみません。これで最後ですので、おねがいします><
#include<stdio.h>
main()
{
int a,b;
for(a=1; a<=10; a++)
{
for(b=14; b>1; b--) ←
{
printf("*");
}
printf("\n");
}
return 0;
}
for(b=14; b>1; b--) ここの、b>aをb>1にすると、どうして減らなくなるのかわからないのです。
412:まちがって名前消しちゃいました。
08/06/23 07:10:12
それはよく考え直せw
413:まちがって名前消しちゃいました。
08/06/23 07:15:51 Naxunqvb
はい>< ほんとありがとうございました。
だいぶ助かりました。
414:天照
08/06/23 07:32:55 ONdp8kFY
しね
415:まちがって名前消しちゃいました。
08/06/23 07:43:21 Naxunqvb
氏ね言わないでください:д;
馬鹿ですみません。
416:まちがって名前消しちゃいました。
08/06/29 18:40:55
質問です。
配列にポインターでアクセスする時
例えば
int data[10];
int *p_data;
とある場合配列dataにポイントする場合
p_data = data;
とする場合と
p_data = &data[0];
とする場合がありますよね。
ですが、二次元配列にアクセスする場合
int data[10][10];
int *p_data;
とある場合
p_data = data;
ではなく
p_data = &data[0][0];
としなければならないのはどうしてなのでしょうか?
417:まちがって名前消しちゃいました。
08/07/02 19:03:01 SN1wjbBk
家でC言語勉強しようと思ってるんだけどどんなソフト?用意すればいいの?
できればそのソフトがあるサイトのアドレス張ってもらえると助かる
418:まちがって名前消しちゃいました。
08/07/02 19:11:23
>>417
>>381
419:まちがって名前消しちゃいました。
08/07/02 20:50:16 SN1wjbBk
>>318みて落としてみたけど実行ファイルフォルダってのがどこにあるか分からない・・・
420:まちがって名前消しちゃいました。
08/07/02 20:50:46 SN1wjbBk
すまん>>381だった
421:まちがって名前消しちゃいました。
08/07/02 22:11:40 982AzdS7
学校の宿題で自己 参照 構造体 を使ってプログラミングしろって言われたんだけど
ろくすっぽ授業聞いてなかったから不安なんだけどこれでいい??
#include<stdio.h>
#include<string.h>
int main(void)
{
struct roll{
char name[20];
int birth;
int zip;
char address[100];
char tel[20];
}data;
strcpy(data.name, "Taro");
data.birth = 19901111;
data.zip = 1234567;
strcpy(data.address,"shiagaken kusatsushi.");
strcpy(data.tel,"08012345678");
printf("name birth zip address tel\n");
printf("%-10.10s% 11.8d% 10.7d %-30.30s %-12.12s\n",data.name,data.birth,data.zip,data.address,data.tel);
return 0;
}
422:まちがって名前消しちゃいました。
08/07/02 22:49:32
全然違うよw
423:まちがって名前消しちゃいました。
08/07/02 22:50:05 DQW+UtP0
自己 参照 構造体って何?w
424:sage
08/07/05 19:04:22 4cKGSpQY
#include <stdio.h>
int main(void)
{
char a;
for(;;){
printf("文字を入力してください。\n");
a=getchar();
if(a=='A'||a=='B'||a=='C'){
printf("正解です。\n");
}
else{
printf("不正解です。\n");
}
}
return 0;
}
この文の間違っているところはどこですか?
繰り返し文がないとうまくいくんですが、
繰り返すと勝手に1回条件文を通り「不正解です」と
出力されてしまいます。
425:まちがって名前消しちゃいました。
08/07/07 03:28:46
>>424
好きなほうを選んでくれ
1.エンターを押す。だが「不正解です」は表示したくない
2.一々エンター押すのはめんどくさい
426:まちがって名前消しちゃいました。
08/07/08 19:43:08 w1hXj126
1でお願いします。
427:まちがって名前消しちゃいました。
08/07/08 22:10:10 ByVU2tyS
↓こんなプログラムを作りたいのですがどうやってつくったらいいのでしょうか?
挿入元文字列 : パソコン
挿入文字列 : デスクトップ ←scanfで任意に入力
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
挿入位置 : 2 ←scanfで任意に入力
 ̄
挿入結果 : パソデスクトップコン
配列を駆使して作りたいです、教えてください
428:まちがって名前消しちゃいました。
08/07/09 01:24:27
多分凄い初心者な質問だけど、コンパイラのバージョンってどうやって調べられるのか教えてください
GUI開発環境で、CPad for Borland C++Compiler ってのを使ってます。
それでコマンドプロンプトを起動しgcc -v と入力したら gcc version 4.3.0 20061021 というのが表示されるんですが、
これがコンパイラのバージョンを表してるんですか?
429:まちがって名前消しちゃいました。
08/07/09 08:26:16
ターミナルから、
cc -version
みたいな感じだったかな?
430:まちがって名前消しちゃいました。
08/07/09 09:13:27
>>429
gcc --versionと入力したら、
gcc (GCC) 4.3.0 20061021 (experimental)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
と表示されたんですが、このうちのどこがバージョンを表してるんですか?
gcc (GCC) 4.3.0 20061021の部分ですか?
431:まちがって名前消しちゃいました。
08/07/09 17:16:15
4.3.0がバージョンで
20061021がリリース日じゃないか?
432:まちがって名前消しちゃいました。
08/07/09 23:39:31 zVECoHPI
for文で
i = i + 1 は i++ と表現できますが、
i = i + 2 は どのように表現すればいいんでしょうか?
433:まちがって名前消しちゃいました。
08/07/10 05:23:25
>432 i+=2 じゃだめ?
434:まちがって名前消しちゃいました。
08/07/10 05:34:50
大きな配列(200MBくらい)を扱うプログラムを書いています。
普段はmakeを使って作業していて、makeを通じてプログラムを実行すると
ちゃんと動くのですが、シェルから起動しようとするとセグメンテーションフォルトが出ます。
デバッガ(gdb)で起動しても正常に動作しました。
どうやら、シェルの子プロセスになっているとセグメンテーションフォルトになるようなのですが、
シェルごとに割り当てられているメモリの量に制限があるということなどはあるのでしょうか。
また、この場合どういう対策をすればいいのでしょうか。
環境
Ubuntu Linux (8.04)
gcc 4.2.3
zsh 4.3.4
435:まちがって名前消しちゃいました。
08/07/11 20:20:49
メモリをどうやって確保してるのでしょうか。
mallocでずずずい~~~っと確保しているのであれば、もしかすると
そのうちの低い確率でNULLを返されてて、NULLポインタを使って
メモリアクセスをしてしまった、なんて事があるかもしれん。
436:まちがって名前消しちゃいました。
08/07/13 01:54:01
#include <stdio.h>
int main(void)
{
int a,b,c,d,x,y;
int mc[2][2]={0};
int ma[2][2]={0};
int mb[2][2]={0};
printf("a:"); scanf("%d",&a);
printf("b:"); scanf("%d",&b);
printf("c:"); scanf("%d",&c);
printf("d:"); scanf("%d",&d);
ma[2][2]={0}+{{a,b},{c,d}};
mb[2][2]={0}+{{d,-b},{-c,a}};
if(a*d-b*c==0)
printf("逆行列はありません。");
for(x=0;x<2;x++)
for(y=0;y<2;y++)
mc[x][y]=1/(a*d-b*c)*mb[x][y];
for(x=0;x<2;x++){
for(y=0;y<2;y++)
printf("%3d",mc[x][y]);
putchar('\n');
}
return(0);
}
abcdに数字を代入してその逆行列を求めるプログラムを作りたいのですが、どこを変えればよいでしょうか?
437:まちがって名前消しちゃいました。
08/07/13 01:58:57
>>436
>int mc[2][2]={0};
>int ma[2][2]={0};
>int mb[2][2]={0};
演算途中は浮動小数点になるから
double mc[2][2]={0};
double ma[2][2]={0};
double mb[2][2]={0};
としないと、演算途中で全部小数点飛ばされるとかそんな事かな。
438:434
08/07/14 05:36:48
>>435
malloc からの NULL ポインタは条件分岐で回避してるので問題ないはずです。(そこでのエラーも何回か経験しました)
現在の問題はどうやら静的に確保されたメモリの部分がシステムのスタックを使いきってしまうために起こる問題のようです。たぶんCだけの問題ではないようなので、ちょっとUnix板にでも行ってきます…。ありがとうございました。
439:まちがって名前消しちゃいました。
08/07/16 13:32:50
>>416
下のほうの場合では、
p_dataはint型へのポインタだからint型の配列をポイントすることができる
しかしdataはint型の配列ではない
dataはint型10個の配列の配列になっているので、
int型10個の配列へのポインタを宣言すればポイントできる
int (*p_data)[10]=data;
ようするに型が合わない
合わない場合でも無理やり代入することはできる
p_data=(int*)data;
440:sage
08/07/19 13:57:27 eTv0ugg/
コンパイラのインストールと環境設定について質問なんですが
*スタート→コンパネ→システム→詳細設定→環境変数→システム環境変数の中にPathの項目を設定する
このpath項目を設定することの必要性について教えてもらいたいのです。
システム(OS)が環境変数で指定されているディレクトリに簡単にアクセスできるようにするもの。
つまりコマンドプロンプトあたりでわざわざソースファイルをコンパイラがあるフォルダにおかなくても
そのソースファイルをコンパイルできるようにするためにある。でしょうか?
もひとつこのpathというのはコンパイラの中で中間言語を順次出力する段階、という意のパスとは別物でしょうか?
スレチかもしれないですがお願いします><
441:まちがって名前消しちゃいました。
08/07/19 14:00:27
なんで名前の方に書き込んでるんだ俺・・・
442:まちがって名前消しちゃいました。
08/07/19 23:28:04
>>440
gccなどを呼び出すとき、「gcc」「gcc.exe」で呼び出せるようにするためです
環境変数PATHを指定しなかったら"C:\Program Files\......\gcc.exe"のように
逐一パスをつけて呼び出さないと検索してくれないので、
コマンド的に名前のみで呼び出したい実行ファイルにはパスを通します
そうすればmakefileの中でも実行させたいプログラムのパスを省略できます
443:まちがって名前消しちゃいました。
08/07/20 01:01:44
>>442
ありがとうございます
444:まちがって名前消しちゃいました。
08/08/01 13:12:44 kbDSdiq1
int a=5,b=2
double c,d,h=2.0
c = a/b; ①
printf("c = %f\n",c);
d = a/h; ②
printf("d = %f\n",d);
というプログラムで
c=2.0 d=2.5
となるのですが、①と②ではどこが違うのですか?
初歩的な質問ですみません。
445:!namekuji
08/08/01 13:47:08
「C言語 型キャスト」でGoogle検索してみるのも。
整数演算(int)と浮動小数点演算(double)の違いだろう。
int型同士の演算はint型が戻り値になる。
int型とdouble型は型キャストされてintがdouble型になり
double型同士の演算結果が戻り値になる。
●C言語編 第21章 型変換
URLリンク(www.geocities.jp)
> 1つの式の中で複数のデータ型が存在する場合、大きい方の型に変換されます。
446:まちがって名前消しちゃいました。
08/08/01 16:51:44 kbDSdiq1
回答ありがとうございます。
ということは①はint型だから切り捨てられて2.0
②はdouble型だからそのまま2.5ってことですか
型キャストという言葉自体しらなかった・・・
447:!namekuji
08/08/01 19:49:29
>>446
そんな感じでいいんじゃないかと思います。
448:まちがって名前消しちゃいました。
08/08/21 13:55:42 tKDDU3nn
小数点以下がある時は第n位まで、無い時は整数のみっていう出力の仕方を書式フィールドだけで指定する方法ってない?
449:まちがって名前消しちゃいました。
08/08/21 17:13:24
>>448
入力検査、文字列処理の基本だろう
C言語の定石 を勉強せにゃあかん
450:まちがって名前消しちゃいました。
08/08/25 11:58:16
C言語を先日から始めました。
商を出す[/]と余りを出す[%]や、[int]型や[double]型を知りましたが、
「小数点以下までを求める割り算」がいまひとつ思いつきません。
いろいろ[/]や[%]を混ぜ合わせた式にするのでしょうか。
例えば、34が48の何パーセントかを出すとき、小数点以下6桁まで求めて
「70.833333%」と出すにはどのようにすればよろしいのでしょうか。
451:まちがって名前消しちゃいました。
08/08/26 21:37:40 POhlpLV3
#include<stdio.h>
int kotae(int,int);
int main()
{
int a,b,c;
printf("かけるられる値=");
scanf("%d",&a);
printf("かける値=");
scanf("%d",&b);
c=kotae(a,b);
printf("%d X %d = %d\n",a,b,c);
return 0;
}
int kotae(int a,int b)
{
int c;
c=a*b;
return c;
}
これをカスタマイズせよ
452:まちがって名前消しちゃいました。
08/08/27 13:48:14 9MCNuaLY
>>449
strlenとか使うんですか?
453:まちがって名前消しちゃいました。
08/08/28 02:10:15
>>450
double型同士の計算では%が使えず、/だけ。
その/の結果は小数点以下も計算した商。
小数点以下6桁というような出力をするにはprintfなどで書式%.6fを使う。
454:450
08/08/28 06:55:06
>>451 >>453
御回答ありがとうございました。
[/]は商以下を切り捨てるので「小数点以下を最初から計算しない」のかと思い込んでました。
もう一度該当箇所の解説を本で読んでみて、なんとなく[double]型と[int]型の違いや
使い方がわかってきた感じがします。
何度か間違いながらも、「計算して表示するときに整数を[double]型にして計算して表示する」…という
方法をとりましたら、一応うまくいきました。(何もしないと小数点以下6桁の表示のようです)
最初に整数を入力するときは[int]型で、計算して割り合いを出すときだけ[double]型にしました。
最後の表示は次のように書きました。
printf("%dは%dの%f%です。\n",n1,n2,((double)n1/(double)n2)*100);
/*n1とn2は入力する二つの整数(int型)*/
二つの整数のそれぞれに(double)をつけて変換してから計算する方法しか思いつきませんでした。
もっと、簡潔に書く方法とかありましたら教えてください。よろしくお願い致します。
455:まちがって名前消しちゃいました。
08/08/31 23:55:58
>>454
強いて言えば、(double)n1 / (double)n2は(double)n1/ n2で十分。
(演算対象の2つにint型とdouble型が混在している場合、intのほうがdoubleへ自動的に変換される)
だけど、前者の書き方をする人も一定数いるみたいだし、
どっちの書き方にするかはお前の好みで決めればいい。
456:450
08/09/02 14:06:08
>>455
ありがとうございました。
457:まちがって名前消しちゃいました。
08/09/02 22:23:47
プログラミング初心者です。
要素数NUMBERの配列に数字を格納し、その中から最小の値を表示するプログラムを書こうとしているのですが
エラー原因がわかりません・・・。
アドバイスもらえないでしょうか。
開発環境:VC++2008
#include<stdio.h>
#define NUMBER 5;
int min_of(const int vc[], int no)
{
int i,min;
for(i=0;i<no;i++)
{
if(min>vc[i])
min=vc[i];
}
return min;
}
int main(void)
{
int A[NUMBER];
int i;
for(i=0;i<NUMBER;i++)
{
printf("A[%d]:",i);
scanf("%d",&A[i]);
}
printf("最低値は%d",min_of(A,NUMBER));
scanf("%d",&A[i]);
}
458:まちがって名前消しちゃいました。
08/09/02 22:49:59
日本語がおかしかった・・・。
要素数NUMBERの配列に数字を格納し、その中から最小の値を表示するプログラムを書こうとして457のようなコードを書いたのですが
下記のエラーが出ます。一応、確認したのですがおかしいところが見あたらないのですが、アドバイスもらえないでしょうか。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(19) : error C2143: 構文エラー : ']' が ';' の前にありません。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(19) : error C2143: 構文エラー : ';' が ']' の前にありません。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(22) : error C2146: 構文エラー : ')' が、識別子 'i' の前に必要です。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(22) : error C2059: 構文エラー : ';'
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(22) : error C2059: 構文エラー : ')'
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(23) : error C2143: 構文エラー : ';' が '{' の前にありません。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(28) : error C2143: 構文エラー : ')' が ';' の前にありません。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(28) : error C2143: 構文エラー : ')' が ';' の前にありません。
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(28) : error C2059: 構文エラー : ')'
1>c:\documents and settings\r\my documents\visual studio 2008\projects\c\c\c.cpp(28) : error C2059: 構文エラー : ')'
459:まちがって名前消しちゃいました。
08/09/03 01:35:42
>>457-458
最初に、最終行の[scanf]はいらないような気がしましたけど、
必要なのでしょうか。
私も初心者ですが、試しにやってみましたところ…
その構文エラーの原因は、「5」の横に[;]が書いてあるからです。
まず、これをはずしてください。
そのあともエラー出たのですが、[min]が初期化されてないようです。
私は[min]に適当に大き目の数を代入してみました。
それでいけると思います。
もっと詳しい人なら、もっといい解決方法があるかもしれませんがご参考まで。
460:まちがって名前消しちゃいました。
08/09/03 02:50:26
>>459
回答ありがとうございます。#defineに;はいらないんでしたね・・・。
461:まちがって名前消しちゃいました。
08/09/03 14:10:24
配列に関する昇順のソートでお聞きしたいのですが、
void sort(int data[], int n)
{
int k = n - 1;
while ( k >= 0 ){
int i, j;
for ( i = 1, j = -1; i <= k; i++)
if (data[ i - 1 ] >data[ i ]){
j = i - 1;
swap(&data[ i ], &data[ j ]);
}
k = j;
}
}
/*swap()は別途定義された関数。data[]が受け取る配列。[ n ]は配列の要素数です。*/
ここで[ j ]が[ -1 ]で初期化されているのがなぜなのか迷いましたが、
おそらく[while]を抜け出すために[k]を負の値にしなければならないからだと思いました。
ということは、[for]文の[ j = -1 ]によって[ j ]は毎回初期化されてるということでしょうか?
[ i ]はインクリメントされて毎回1ずつ増えていて[ i = 1 ]で初期化されていないように見えるのですが、
なぜ[ j ]は[ -1 ]に毎回初期化されるのか教えてください。
それとも、私の認識が全然違ってて、違う理由で[ k ]がマイナスになって[while]文を抜けてる
のでしょうか。([ i ]も[ j ]も毎回初期化されて[ 1 ]と[ -1 ]になってるとか・・・)
462:まちがって名前消しちゃいました。
08/09/03 17:37:37
iとjにセットしている数値は、あくまでも初期値。毎回初期化はされません。
if文で数値比較後、jにi-1を入れてるのに注目。swapがあればjは-1じゃなくなる。
forで一巡してswapがなければjは-1となり、whileから抜ける。
463:461
08/09/03 19:09:44
>>462
ありがとうございます。頭が混乱してたので、検証してみたところ、
[for]文を数回繰り返し→[while]文の先頭へ→[for]文へ…
を数回繰り返すとき、[while]文の先頭に戻ってから[for]文に入るとき
また初期化されてることを見落としてました。
最後は、[j]が[0]になって[k]に代入され、[while]文の先頭に戻り、
[for]文に入るとき[i]に[1]、[j]に[-1]が代入されて、[i <= k]が成立しないので
[ k = j ]に飛ぶのがわかりました。
そのあと、[k]に[j]の[-1]が代入されて[while]文の先頭に戻り、( k >= 0 )が
成立せず、晴れて[while]文を抜け出してるようです。
やっと納得できました。
464:まちがって名前消しちゃいました。
08/09/03 22:52:45
#include <stdio.h>
#define K ①
int main(void)
{
int i;
long s;
s = ②;
for (i = 1; i <= ③; i++)
s = s * i;
printf("%d の階乗 = %ld\n", K, ④);
return 0;
}
10の階乗を計算するプログラムですが、
①~④の中が分からなかったので教えてください。
465:まちがって名前消しちゃいました。
08/09/04 02:52:26 oBFjqOjP
① うんこ
② ちんこ
③ まんこ
④ SEX
466:まちがって名前消しちゃいました。
08/09/04 21:33:23
#include <stdio.h>
#define K 10
int main(void)
{
int i;
long s;
s = 1;
for (i = 1; i <= 10; i++)
s = s * i;
printf("%d の階乗 = %ld\n", K, s);
return 0;
}
これでいけるかと思います。
467:464
08/09/04 23:02:27
>>466
返答ありがとうございました。
468:まちがって名前消しちゃいました。
08/09/06 08:12:41
全くの初心者なんですが、
おすすめの本はないでしょうか?
469:まちがって名前消しちゃいました。
08/09/06 11:22:32 PN6yhvCs
読んでも身に付かないだろう。
URLリンク(msdn.microsoft.com)
470:まちがって名前消しちゃいました。
08/09/06 11:29:28 PN6yhvCs
URLリンク(homepage3.nifty.com)
URLリンク(www.kumei.ne.jp)
プログラミングを行うには、
「デザインパターン」も知っておく必要がある。
デザインパターンとは先人の知恵だ。
こうすれば、後で困らないように作れます。というレシピ。
URLリンク(634.ayumu-baby.com)
471:まちがって名前消しちゃいました。
08/09/06 12:53:21 nyoT4hzw
464は宿題を赤の他人にやらせたな
将来的には人をコキ使うのが上手な
プロジェクトリーダ、そして社長に
なる器だが、それに引き換え、466の
将来は人にアゴ使われるアホのまんま
で終わりだ。アホじゃ逝けないよ。
472:まちがって名前消しちゃいました。
08/09/06 13:32:04 8YLx2SSB
助けてください。
#include<stdio.h>
int main()
{
int ii,i;
for(int i=0; i!=51; i++)
{
printf("%2d\t",i);
if (i = 50)
ii = i;
}
i = ii;
if (i = 50)
{
printf("Success\n");
}
return 0;
}
で、forの中のprintfが正しく実行されないようなのですが、
これってほっとくとバグになる可能性ありますか?
あと、この書き方ってやっぱり見直して書き換えたほうがいいんでしょうか・・・
473:まちがって名前消しちゃいました。
08/09/06 18:08:59 PN6yhvCs
スコープちがうやん。
URLリンク(www.geocities.jp)
474:まちがって名前消しちゃいました。
08/09/06 18:11:24 PN6yhvCs
宿題は自分で解くように。
このような文法問題は宿題だ。
475:まちがって名前消しちゃいました。
08/09/06 18:13:38 PN6yhvCs
ビルドエラーメッセージをそのまま貼り付けろ。
どっかの中学生レベルの宿題は自分で調べるように。
476:まちがって名前消しちゃいました。
08/09/06 18:18:14 PN6yhvCs
>>458
#include<stdio.h>
#define NUMBER 5;
defuneは「コード置き換え」と思ってて良い。そこにブレークポイントを置いて実行できるところではない。
return も関数ではないから return (1) ではなくて return 1 で良い。
477:まちがって名前消しちゃいました。
08/09/06 18:32:00 PN6yhvCs
■調べてみようと感じる質問
メモリリーク、ヌルポ、スタックオーバーフロー、
意味不明コンパイルエラー、
■教科書嫁と思える質問
どう見ても宿題。
478:472
08/09/06 18:32:20 8YLx2SSB
自己解決しました。
Basicの癖が残っていたようですね。
お騒がせして申し訳ありませんでした。
まさか比較してなかったとは。おお怖い怖い。
479:まちがって名前消しちゃいました。
08/09/12 12:24:12
周りのプログラマーから聞いたのですが、「配列とポインタの違いを理解するといいんだよ」と
言ってました。「動きが違う」とかなんとか。
簡単に言うとどういう意味なのでしょうか。わかる方いましたら教えてください。
480:まちがって名前消しちゃいました。
08/09/12 17:46:48
周りに理解してるプログラマーがいるのに、なぜわざわざ
ここで聞く?
481:479
08/09/12 19:57:55
あまりに熟練者(何十年のベテラン)たちなので、「ポインタって実際の業務だとココが難しいんだよね」
みたいな感じで、あまり詳しく教えてくれない雰囲気なので…
「どう言ったらいいんだろうなぁ…」みたいな感じです。
それで、こっちはチンプンカンプンになりました。
482:まちがって名前消しちゃいました。
08/09/12 23:03:59
データ型が同じだったら配列もポインタも同じだろう?
そいつにキッチリ説明を求めたほうがいい
483:479
08/09/12 23:34:07
私がこの3週間勉強してわかったことと言えば、
・配列の名前を引数として関数に渡すと、先頭の要素のポインタとして渡される。
・配列の中身が変わるのを防ぐために const を付ける。
・変数の値を関数の中で変えて、main()に戻してそれを反映させたいときにポインタを使う。
このように理解してます。間違ってたらすみません。
配列とポインタはもっと奥が深いのだと思ってます。
>>482
たぶん、その人自身も何か勘違いしてるのかもしれませんね。
484:まちがって名前消しちゃいました。
08/09/13 06:19:31
ごめん違ったみたい
ポインタは値を代入可能
配列はアドレス変更不可能
485:まちがって名前消しちゃいました。
08/09/14 14:35:50
>>483
その3つはどれも文句なく正しい。自信持っていいよ。
>>479
そこをよく理解しないままCを使って間違ったことやる人間が多いというだけのこと。
486:まちがって名前消しちゃいました。
08/09/22 19:28:16 6ZIXhFqu
C始めようと思ってるんだけど最初からPCに入ってるコマンドプロンプトじゃコンパイルできない?
487:まちがって名前消しちゃいました。
08/09/22 19:54:55 3xDTFwgS
>>486
コマンドプロンプトじゃコンパイルできないので
↓これでも試してみたら?
Visual Windows for BC++
URLリンク(rd.vector.co.jp)
488:まちがって名前消しちゃいました。
08/09/23 00:05:53 6ZIXhFqu
>>487
インストールできなくて対処方法も試したけど効かなかったからvisual C++にしてみた
++でもCできますよね?
489:まちがって名前消しちゃいました。
08/09/23 00:23:00
>>488
標準入出力だけのライブラリを使うことでC言語の開発環境のようにも動作さられる
ので問題ありません。
490:まちがって名前消しちゃいました。
08/09/23 10:54:29 ePDT8MYP
fatalエラーってどんな意味?
コンパイルさせて出力させようとしたんだけど出てきたんだが・・・
調べたけど難しい言葉で書かれてて意味不すぎる
491:まちがって名前消しちゃいました。
08/09/23 12:05:53
>>490
fatalとは、fate(フェイトというアニメがあったはずだが)の形容詞形。
fate(運命)
fatal(運命的というよりは致命的との意味)
つまり、どうにもならないエラーですってこと。
がんばってねー
492:まちがって名前消しちゃいました。
08/09/23 12:39:07 ePDT8MYP
>>491
ありがと
どうにもならないエラー・・・
visual cpp2005のコマンドプロンプトでcl使うと出るんですよね
493:まちがって名前消しちゃいました。
08/09/26 02:59:06 PAN7XzHE
超初心者です 皆さんがC言語を学ぶのに使った参考書など、これは読んどけというものがあったら教えて下さい
494:まちがって名前消しちゃいました。
08/09/26 12:18:00 YF5imrxx
>>493
IT書籍 「インド式プログラミングバイブル C言語入門 (上)」
URLリンク(www.e-chishiki.com)
こんなすばらしい本があったとはインド人もビックリの入門書
お薦め書籍
URLリンク(www9.plala.or.jp)
495:まちがって名前消しちゃいました。
08/09/26 15:43:30
>>494ありがとうございます
496:まちがって名前消しちゃいました。
08/09/27 11:51:52 2VL8Y4GT
整数型配列 a[5]を宣言する。
配列aに適当な整数を代入する。
配列から最大値を求め画面表示する。
#include<stdio.h>
main()
{
int a[5];
int maxdata;
int i;
a[0]=12;
a[1]=3;
a[2]=40;
a[3]=10;
a[4]=30;
maxdata=a[0];
for(i=1;i<5;i++)
{
if(?)
{
maxdata=a[i];
}
}
printf("最大値:%d",maxdata);
}
?の部分がわからないのですが、誰か教えてもらえませんか?
497:まちがって名前消しちゃいました。
08/09/27 12:07:28 2VL8Y4GT
プログラム板で聞いてくることにしました。
無駄レスすいません。
498:まちがって名前消しちゃいました。
08/10/14 22:53:58 TuavOJJv
成績をつけるプログラムを教えてほしいです。
80点以上100点以内 A
65点以上80点未満 B
50点以上65点未満 C
0点以上50点未満 D
それ以外の整数に対しては「ありえない」と出す
499:まちがって名前消しちゃいました。
08/10/15 00:25:03 pk0GxuXL
printf()でポインタのアドレスを表示するときに、例えば、
printf("%p",(void*)ptr);
のように(void*)が必要な意味を教えてください。
今期の教授がスパコンのプログラミングとかやってる人のようで、うるさく言われるのですが、なぜ必要なのか理解できません。
よろしくお願いします。
500:まちがって名前消しちゃいました。
08/10/15 10:43:55 WEs5N7rQ
>>499
教授の脳内コンパイラーは、(void*)でないと「致命的な
エラー」になる理由は不明だ。
(void)が必要な意味はということは、
間接演算子*と四則演算子*が同じであると、一目で意図が
読み易く検索容易にする意図があるのかも。
自分の教え子が書いたコードを発見しやすくする為かも。
その教授の馬鹿の一つ覚えのようなプログラミング作法の
理由は、その教授に尋ねるしかないだろう。
解らないのは、教え方が悪いことが原因なんですね、その
ような欠陥授業を国の税金で援助していることも問題だ。
501:まちがって名前消しちゃいました。
08/10/15 10:50:24 WEs5N7rQ
void ポインタ - Google 検索
URLリンク(www.google.co.jp)
502:499
08/10/15 16:08:20 XYgPsrOC
>>500>>501
ありがとうございます。
503:まちがって名前消しちゃいました。
08/10/16 12:31:03
C言語どころか他のプログラミング知識も0に近い初心者なんですが、参考書は>>494に書かれているものでも大丈夫でしょうか?
プログラミング自体が初めてなら別の参考書の方が良いのでしょうか?
504:まちがって名前消しちゃいました。
08/10/17 04:23:30
俺は柴田望洋氏の本がわかりやすかったょ。
505:まちがって名前消しちゃいました。
08/10/19 14:19:35 +GN+X/q5
>>500
でたらめ言うな。
>>499
アーキテクチャによっては、ポインタ型の種類によって大きさが違うということがあり得るため。
(ワードマシンでchar*系とvoid*だけほかより大きいとか)
%pはvoid*を引数に取る指定だから、確実にvoid*を渡すためにそのキャストは必要。