検索結果 1739 件

by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: 書いた通りの計算結果になりません。
返信数: 10
閲覧数: 847

Re: 書いた通りの計算結果になりません。

プログラムって奴は書いたとおりにしか動かないので、
書いたとおりの計算結果になりませんというのは
質問者さんの意図しない結果を出すコードを書いているからです。
by box
3週間前
フォーラム: C言語何でも質問掲示板
トピック: マイナスの値に突入してしまいます。
返信数: 4
閲覧数: 505

Re: マイナスの値に突入してしまいます。

コード:

		if (count3 <= 500 && ++count3 <= 500)
			{
				count = count3;
				count > 0;
			}
ここの

コード:

				count > 0;
は何をしたいのですか?
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 質問です
返信数: 1
閲覧数: 276

Re: 質問です

コンピューターを使わずに計算するとき、どういう手順を踏みますか?
by box
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。
返信数: 54
閲覧数: 3039

Re: メモ帳からカンマ付き文字列のデータの読み込みが出来ません。

ソースコードを書き直す際に書き間違えただけです。手書きでソースコードを書けば
投稿のためにわざわざ入力し直したんですか?うわ~そりゃ大変だ。
それは大変な手間がかかり、今回のように打ち間違えたコードを
アップしてしまうことになりかねませんので、コピペといういちばん楽と思われる
方法を使いましょう。
ソースコードが1万行くらいあっても手で打ち直しますか?ということです。
そんなことしたくありませんよね。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: malloc関数とポインタ配列についてです
返信数: 8
閲覧数: 1224

Re: malloc関数とポインタ配列についてです

コード:

       scnaf("%s", name[i]);
関数名のスペルが間違っているようにしか見えないのですが…。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 動的配列の関数への渡し方
返信数: 5
閲覧数: 1108

Re: 動的配列の関数への渡し方

main関数だけ見せられましてもね…。
ここはどうしても
Hoge
Hoge2
の中身を見たいところです。

仮に質問者さんが回答しようとする立場で、今回の質問を見たとき、
「おいおい。肝心なところを見せろよ」って思いませんか?
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列の動的確保
返信数: 15
閲覧数: 1871

Re: 構造体配列の動的確保

みけCAT さんが書きました:
3ヶ月前
全角空白があってもそのまま実行できる処理系もあるので、食い違っているとは限りません。
https://wandbox.org/permlink/h55LBXsvMrPFijHU
あらら。#3の後で言ってほしかった。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列の動的確保
返信数: 15
閲覧数: 1871

Re: 構造体配列の動的確保

Segmentation fault: 11と出ました。
あらら。他の回答者からの回答(そのままコンパイルしたら全角空白のためにエラーが出た)と
食い違ってますね。
実行してsegmentation errorが出た、というそのコードを、コピペして見せてください。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列の動的確保
返信数: 15
閲覧数: 1871

Re: 構造体配列の動的確保

コード:

   if((fp=fopen("02student.txt","r"))==NULL);
この文の最後にある謎のセミコロンはどういう意味を持つのでしょうか。
by box
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: シンプソン公式
返信数: 8
閲覧数: 1580

Re: シンプソン公式

どうしたらいいか全然わからないので教えて欲しいです
では、手始めに、各関数や変数がどういう役割を持っているか(何のための関数か
あるいは何のための変数か)をわかる範囲でいいから教えてください。

コード:

int main(void){
double dean(double,double,double,double);
double a,b,s,dx,y0,y1,x,pi;
こんなところにプロトタイプ宣言を置いちゃっていいんでしょうか。
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 連続した「else if」から抜ける処理は
返信数: 9
閲覧数: 1634

Re: 連続した「else if」から抜ける処理は

合ってますよ。
何か具体的な(つまりコンパイル~実行ができる)コードを書いてみては?
by box
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: if文について、問題点を教えてください
返信数: 12
閲覧数: 1964

Re: if文について、問題点を教えてください

コード:

	if( kekka=0 )
ここ、kekkaにゼロを代入していますが、それでよいですか?
kekkaとゼロとを比べるときは == ではないですか?
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: fgetcについて
返信数: 3
閲覧数: 451

Re: fgetcについて

これで標準出力されました。
だってputchar()してるんだもん。
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: c言語 関数の利用
返信数: 7
閲覧数: 639

Re: c言語 関数の利用

で、質問は何ですか?
当年の1月1日から数えて何日目となるかを返す関数を作成せよ。
作成してください。
上記を呼び出すmain関数も作成し動作を確認せよ。
作成し、動作を確認してください。
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 884

Re: 実行できません

コード:


	a=y/100;
	b=(y%100)/10;
	c=y%10;

	scanf("Input a three-digit number : %d &n" , &y);
yの値を入力する「前に」計算しているのがおかしい。
&nという謎の記述はなくてよいはず。
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 実行できません
返信数: 8
閲覧数: 884

Re: 実行できません

コード:


	a=y/100;
	b=(y%100)/10;
	c=y%10;

	scanf("Input a three-digit number : %d &n" , &y);[/code
yの値を入力する「前に」計算しているのがおかしい。
&nという謎の記述はなくてよいはず。
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 超初心者です
返信数: 1
閲覧数: 378

Re: 超初心者です

i2
って何のことですか?
by box
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 台形の面積をプログラムする問題で、上底がa.下底がb.高さをhとするのですが、あるプログラム例を出されて、その実行結果が80になる理由を知りたいです。また、どうプログラムを改善すると正答の100になるのか知りたいです。
返信数: 3
閲覧数: 565

Re: 台形の面積をプログラムする問題で、上底がa.下底がb.高さをhとするのですが、あるプログラム例を出されて、その実行結果が80になる理由を知りたいです。また、どうプログラムを改善すると正答の100になるのか知りたいです。

a * h
という式では8 * 10 = 80を求めています。
一方、
1 / 2 * (b - a) * h
では、
1 / 2
を行なった時点でint型どうしの割り算のルールに従いゼロとなっています。
したがって、その後で(b - a)をかけようがhをかけようが、
1 / 2 * (b - a) * h
の結果はゼロです。
よって、Sの値は80とゼロを加えた80になります。別段不思議なことではありません。
正答の100を得るには2で割るのを最後にすればよいでしょう。つまり、
S=a * h + (b - a) * h / 2;
by box
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ポインタについて
返信数: 4
閲覧数: 460

Re: ポインタについて

コード:

   double a, b, c, *x1, *x2;
x1, x2をdouble型へのポインターとしていることです。
普通にdoubleにしてください。
by box
7ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 3項演算
返信数: 5
閲覧数: 595

Re: 3項演算

結果さえ正しければ、どっちでもいいです。
by box
8ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ++と +1,および関数のインクリメントについて
返信数: 6
閲覧数: 575

Re: ++と +1,および関数のインクリメントについて

コード:

    return year / 4 && year / 100 != 0 || year / 400 == 0;
本題とそれてしまって申し訳ありませんが、この閏年の判定って
間違ってませんか?
私はこう書きます。

コード:

    return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: putchar(97)が'a'となる?
返信数: 1
閲覧数: 2626

Re: putchar(97)が'a'となる?

ASCIIコードにおいて、16進で61、つまり10進で97という値を
持っているのが'a'、です。
putchar()は、渡された整数値を文字コードだと思って出力するので、
97を受け取ると'a'を出力します。
by box
10ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 摂氏から華氏(小数点下二桁)への出力 再投稿
返信数: 1
閲覧数: 1944

Re: 摂氏から華氏(小数点下二桁)への出力 再投稿

scanf()
の書式文字列を
%.2f
ではなくて
%lf
に変更するだけのことではないでしょうか。
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 作ってみたプログラムが動作しないです
返信数: 12
閲覧数: 4598

Re: 作ってみたプログラムが動作しないです

srand()は、乱数を発生させる前に、「必ず1回だけ」実行(とりあえずmain()で)すればよいです。
少なくともmain()のdoループの中で何度も実行するgetrand()の中に
srand()はない方がよいです。
by box
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 作ってみたプログラムが動作しないです
返信数: 12
閲覧数: 4598

Re: 作ってみたプログラムが動作しないです

コード:

		random[i] = getrand(-1,100);
		printf ("%d\n",rand[i]);
random
という変数名を使いたいのですか?それとも
rand
という変数名を使いたいのですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の削除
返信数: 7
閲覧数: 1504

Re: 配列の削除

最終的な実行結果は、
a[0]=42,a[1]=31,a[2]=45,a[3]=23,a[4]=55
a[5]=11,a[6]=63,a[7]=72,a[8]=33,a[9]= 5

n=5
a[0]=42,a[1]=31,a[2]=45,a[3]=23,a[4]=55
a[5]=63,a[6]=72,a[7]=33,a[8]=5
という形になるそうです。
コンピュータを使わずに手で行なうとすると、どういう手順を踏みますか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語での三角形の面積の求め方
返信数: 7
閲覧数: 1697

Re: c言語での三角形の面積の求め方

 a, b, cで三角形ができるとき |a - b| < c < a + b
この考え方と

コード:

if (-(a - b)) {
printf("三角形ができません");

}
else if (a - b); {
d = (a - b);
}
このコードで、同じことをしていますか?また、else ifの後ろにある謎のセミコロンは何でしょうか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語:ポインタとメモリ空間
返信数: 5
閲覧数: 1137

Re: C言語:ポインタとメモリ空間

c言語は宣言はブロックの最初にまとめないとエラーになります。
開発環境によっては質問者さんのコードが正しく動くものもあります。
Cだからエラーになる、とは必ずしも言えません。
まあ、どの開発環境でも動くようにするには
「使う変数はブロックの最初で定義しておく」という方法が無難ではあります。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 5教科の合計値が正しく表示されない
返信数: 2
閲覧数: 1055

Re: 5教科の合計値が正しく表示されない

1.名前の最後に"P"が付与される。※例:名前をtanakaにしたらtanaka"P"と出力される
ポインター変数ではなく、適切なサイズを持つ配列にする必要がありそうです。
つまり

コード:

    char *name;
ではなく

コード:

    char name[40]; // この40は、最長の名前が格納できる大きさにしてください。ここでは仮に40としています。
ということです。
2.各科目の点数に何の数字を入れても、5教科の合計値が「-858993060」と出る
+=演算子を使ってインクリメントする変数は、必ず、0で初期化しておきましょう。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 引数を二重に定義するような書き方は問題ないのでしょうか?
返信数: 5
閲覧数: 1333

Re: 引数を二重に定義するような書き方は問題ないのでしょうか?

コード:

void substitution(int answer,int number_x,int number_y){
	substitution(1,1);
とりあえずこのコードでは関数定義時の引数の数(3個)と
呼出し時の引数(2個)が食い違っているので
コンパイルエラーが出る、とだけ申しておきましょう。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 置き換えただけで誤った計算結果がでます。
返信数: 5
閲覧数: 2083

Re: 置き換えただけで誤った計算結果がでます。

よく見てみたら、

コード:

        a[i][N] /= a[i][i];
ここと

コード:

  d = a[i][N]/ a[i][i];
ここで使っている演算子が違っていますが(/= と /)本当はどっちにしたいんでしょうか。
いずれにしても、「置き換えただけ」という状態ではないので、
結果が違うのは当然かも。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 置き換えただけで誤った計算結果がでます。
返信数: 5
閲覧数: 2083

Re: 置き換えただけで誤った計算結果がでます。

こうすればいいと思います。試していませんが。

コード:

for (i = N - 1; i >= 0; i--) {
    d = a[i][N] / a[i][i];
    for (j = i + 1; j < N; j++)
        d -= [i][j] * a[j][N] / a[i][i];
    a[i][N] = d;
}
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 置き換えただけで誤った計算結果がでます。
返信数: 5
閲覧数: 2083

Re: 置き換えただけで誤った計算結果がでます。

a[i][N] /= a[i][i]; ここで、a [N]を初期化して、 for (j = i + 1; j < N; j++) a[i][N] -= a[i][j] * a[j][N] / a[i][i]; ここで、初期化してあったa [N]自身から引いています。 それに対して、   d = a[i][N]/ a[i][i];     for (j = i + 1; j < N; j++)     a[i][N] = d - a[i][j] * a[j][N] / a[i][i]; こっちでは、a [N]ではなくてdから引いています。そりゃ結果が違うのは当たり前です。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ネストforについて教えて下さい(入門
返信数: 3
閲覧数: 1086

Re: ネストforについて教えて下さい(入門

ループの中で、*のかわりに
iとjの値を出力してみたらどうですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 関数でarctan1やpiを求めるプログラム
返信数: 4
閲覧数: 1512

Re: 関数でarctan1やpiを求めるプログラム

#include <stdio.h> double arctan(int n) { int i, t; double sum; for (sum = 0, i = 1; i <= n; i++) { t = 2 * i - 1; sum += 1.0 / ((i % 2 == 0) ? -t : t); } return sum; } int main(void) { int n; printf("何項めまで計算しますか?(正の整数):"), scanf("%d", &n); printf("π=%f\n", 4 * arctan(n)); return 0; }
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 関数でarctan1やpiを求めるプログラム
返信数: 4
閲覧数: 1512

Re: 関数でarctan1やpiを求めるプログラム

arctan関数において、戻り値を格納する変数tan1の型がどうしてintなんですか?
ここは普通doubleにするでしょう。それから、細かい話をすると

コード:

  for ( i=1; i<=x; i++ ) _hugou *= -1;
-1と1を交互に「計算して」いるのは何だかムダだと思いませんか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 計算するプログラムを別の表現で表したい
返信数: 2
閲覧数: 1043

Re: 計算するプログラムを別の表現で表したい

方程式の形a *x1*x1 + b * x1 + c == 32のまま、for文などの繰り返しなし、scanfで座標を入力し、n次方程式を解くプログラムを作れるでしょうか?
4次方程式までならば解の公式がありますので、座標(じゃなくて係数ですよね?)を
入力すれば配列もfor文も使わずに解が求まります。
5次以上の方程式には解の公式がありません。この場合、Newton法などを使う必要がありますが、
繰り返しの処理が必要ですので、質問者さんの要求を満たしません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2つの文字列がどのくらい合っているかの割合を求めたいです
返信数: 3
閲覧数: 1481

Re: 2つの文字列がどのくらい合っているかの割合を求めたいです

どうしてさっきみたいなことを聞いたかというと、例えば
ab
ba
という2つの文字列を比べた結果を何%にしたいのかな?という疑問がわいたからです。
先頭から1文字ずつ比べる方法だと全く一致しませんが、
aの数とbの数という観点に立つと、完全に一致しますよね。
なので、
2つのtxtに対しての文字の合っている割合はどう処理また、計算すればいいですか。
という問いかけに対しては、質問者さんはどうしたいのですか?という逆質問となります。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 2つの文字列がどのくらい合っているかの割合を求めたいです
返信数: 3
閲覧数: 1481

Re: 2つの文字列がどのくらい合っているかの割合を求めたいです

例)d.txt aaaaaabbbbbbaabbbbbbbbbaaaaaaaaaaaaa
  t.txt aaaabbbbbbbbaaaaaabbbbbbbbbbbaaaaaab
この例の場合、何%としたいのですか?
仮にコンピューターを使わずに手計算するとしたら、どういう手順を踏みますか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 関数へのポインタ
返信数: 3
閲覧数: 1612

Re: 関数へのポインタ

関数kukuは、「引数が2つあり、int型の結果を返す関数」へのポインターを引数としています。
下記が、より正確です。
関数kukuは、「int型の引数が2つあり、int型の結果を返す関数」へのポインターを引数としています。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 関数へのポインタ
返信数: 3
閲覧数: 1612

Re: 関数へのポインタ

関数sumは、int型の引数を2つ受け取って、その和を呼び出し元へ返します。 関数mulは、int型の引数を2つ受け取って、その積を呼び出し元へ返します。 関数kukuは、「引数が2つあり、int型の結果を返す関数」へのポインターを引数としています。 関数はメモリー中のどこかにありますから、何らかのアドレス値を持っています。 main関数で、sumを引数として関数kukuを呼び出しています。 このとき何が起きるかというと、「関数kukuを実行しろ!引数はsumだ!」という指令が出ています。 よって、kuku関数の引数であるcalcは、今回はsumのことを指します。 9×9回のループの中で実行す...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: fscanf_sがうまく動作しない
返信数: 6
閲覧数: 1926

Re: fscanf_sがうまく動作しない

さしあたりお願いしたいのは、Visual Studioでビルドおよび実行ができるソースコード
(要するにくだんの結果が出るソースコード全部のコピペ)を出していただきたい、ということです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中身が表示されない
返信数: 4
閲覧数: 1345

Re: 配列の中身が表示されない

こんなのじゃダメですか? #include <stdio.h> int main(void) { int data1[] = { 10, 15, 22, 45, 9, 66, 71, 4, 37, 82 }; int data2[10], counter, i; for (counter = i = 0; i < 10; i++) { if (data1[i] % 2 == 1) { data2[counter++] = data1[i]; } } printf("%d odd data\n", counter); for (i = 0; i < counter; i++) { printf(...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: #ifdefと#endifを定義しているのですが…
返信数: 5
閲覧数: 2451

Re: #ifdefと#endifを定義しているのですが…

コード:

//構造体変数宣言部
GLOBAL ch_t ch; //キャラクタデータ宣言
GLOBAL int func_state;
//↑このGLOBALが緑のなみなみがでるんです。
緑の何とか、って言われましても、開発環境に関する情報が全くないので、
いかんともしがたいです。質問者さんのPCは、こちらからは見えません。
試しに、その緑の何とかを無視して強引にビルドしてみると、どうなりますか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの解析をするのにC言語は向いてますか?
返信数: 5
閲覧数: 2698

Re: ゲームの解析をするのにC言語は向いてますか?

ゲームの解析とは、何を指しているのでしょうか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数
返信数: 14
閲覧数: 6674

Re: ポインタ変数

ポインター変数の書き方が
p*
というのは誤解があります。そういう書き方はありません。
int *p;
と定義した場合、「int *」型、つまりint型を指すポインター変数(中身はint型の何かの変数のアドレス)がpです。
よって、p = &p;
という書き方は真っ当です。
次に
*p
という書き方ですが、これは
int *p;
という定義と関連づけて、
「int」型が*pだという風に理解したらどうでしょう。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 もっとも多く投票された品を表示するプログラム
返信数: 3
閲覧数: 2029

Re: c言語 もっとも多く投票された品を表示するプログラム

コード:

            N[I]=num;
ABCDE
を数字(しかも文字コード)で上書きしていいんでしょうか。

コード:

            I=I++;
もしかして
I++;
がいいいとか。

コード:

            printf("商品%p\n",&maxI+1);
"%p"
を使っている意図は何ですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: bcc32でポインタを操作した際の挙動について
返信数: 3
閲覧数: 3617

Re: bcc32でポインタを操作した際の挙動について

a と *cは同じアドレスを差しており、
論拠は何ですか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 「 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」というエラーについて
返信数: 2
閲覧数: 4711

Re: 「 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」というエラーについて

warning C4477: 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」と表示されエラーになります。 warningと書いてあるとおり、エラーではありません。警告です。 実行ファイルは作成できているはずですので、実行すれば何かが起きるでしょう。喜ばしくない結果が出るかもしれませんが…。 while (fscanf_s(fp, "%3d %1020s", &str[*Input].code[3], &str[*Input].name[1021], 1024) != EOF) code[3]とかname[...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 整数商, 余り
返信数: 7
閲覧数: 3833

Re: 整数商, 余り

例えばa = 17, b = 3ならば、整数商 = 5, あまり = 2
となるわけですが、手計算ではどのようにしますか?
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: AIZU ONLINE JUDGE (AOJ) - 0044 について
返信数: 4
閲覧数: 3369

Re: AIZU ONLINE JUDGE (AOJ) - 0044 について

何でもかんでもmain()に押し込むのではなく、
例えば今回の場合、「引数で与えた数が素数かどうかを判定する」という機能を
関数にしてみると、何か見えてくるかもしれません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 型変換
返信数: 14
閲覧数: 4053

Re: 型変換

登場している変数名の定義ぐらいは見せていただきたいです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 書式指定の前にある空白について
返信数: 7
閲覧数: 3652

Re: 書式指定の前にある空白について

printf()のまえによけいな「全角」空白を入れるのはお控えください。
コンパイルできません。
さて、おたずねの件ですが、
書式文字列が
" %8s %8s\n"
でもって、"商品A", "商品B"を出力する場合、
・1バイト分空白をあける
・"商品A"を8バイト分の領域に右詰めで出力する。
・1バイト分空白をあける
・"商品B"を8バイト分の領域に右詰めで出力する。
となります。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: アドレス入力
返信数: 2
閲覧数: 2778

Re: アドレス入力

#include <stdio.h> #include <stdlib.h> #define SIZE (800) int main(void) { double *p, *y; int i; p = malloc(sizeof(double) *SIZE); if (!p) printf("allocation error\n"), exit(1); for (i = 0; i < SIZE; i++) { p[i] = i; } y = p; for (i = 0; i < 10; i++) { // とりあえず最初の10個だけ確認 printf("%f\n", *y); y++; } ...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: pointerを付け忘れていますとエラーメッセージが出ます。
返信数: 2
閲覧数: 3807

Re: pointerを付け忘れていますとエラーメッセージが出ます。

#if 0 こういうことがしたかったのでしょうか #endif /*外部変数を使ったプログラム*/ #include<stdio.h> int max, min; void maxmin(int data[10]); int main(void) { int data[10] = { 0, 2, 1, 4, 3, 6, 5, 8, 7, 9 }; maxmin(data); return 0; } void maxmin(int data[10]) { int i, *p; p = data; max = min = *p; for (i = 1; i < 10; i++) { if (*(...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 至急解答お願い致します。
返信数: 2
閲覧数: 2791

Re: 至急解答お願い致します。

#if 0 インクルードすべきファイル名が間違っています。studio(これじゃスタジオ) ではなくて、stdio(標準入出力standard input/output)です。 また、変なところに全角のダブルクォーテーションがあるのもいただけません。 あと、インデント(字下げ)ってご存じですか?今のようなノッペリしたコードは、 あまり読む気になれません。メリハリを付けましょう。 p.s. あまり「至急」って書かない方がいいと思う。ていうか、投稿のタイトルは、 中身がある程度わかるものにしていただきたいような気がしないでもない。 #endif #include <stdio.h> int fu...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: char型の5桁の数字をソートする方法
返信数: 10
閲覧数: 3383

Re: char型の5桁の数字をソートする方法

こんなのじゃダメですか? #include <string.h> void sortzip(Employees workers[], int size) { Employees t; int i, j; for (i = 0; i < size - 1; i++) { for (j = i; j < size; j++) { if strcmp(workers[i].zip, workers[j].zip) { t = workers[i], workers[i] = workers[j], workers[j] = t; } } } printf("\nk)\n"); for (i = 0;...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の文字を削除して詰めるには
返信数: 9
閲覧数: 7307

Re: 配列の中の特定の文字を削除して詰めるには

例えば、要素数が10で[3]が空いたとしましょうか。このときは、
[4]~[9]を[3]~[8]へ移して、[9]には'\0'(文字列終端の印)を入れるという
操作が必要なはずです。
この処理を行なうための関数(引数は、例えば詰める部分の始めと終わり)を準備しておくとよいかもしれません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の文字を削除して詰めるには
返信数: 9
閲覧数: 7307

Re: 配列の中の特定の文字を削除して詰めるには

lily さんが書きました: 上手くいきません。
これだけでは何とも…。
どのようにうまくいかないのでしょうか。うまくいかないコード全体と入力データ、出力データの例を示してください。
lily さんが書きました: 詰めるというのは配列の要素に一つ隣の要素を代入するではダメなのでしょうか?
たぶんダメでしょうね。空きができた箇所から後ろのデータを「すべて」1個前へ詰めないと…。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の各要素の足し算
返信数: 7
閲覧数: 3096

Re: 配列の各要素の足し算

t_n_y_09 さんが書きました: num3={9,9,9,9,9,9,9,9,9,9}
何と何を足したらこんな結果になるんですか?
全然わかりません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ ソート
返信数: 12
閲覧数: 4819

Re: ポインタ ソート

Oops!
昇順と降順を間違えてた。sort関数で、不等号の向きを逆にしてください。>質問者様
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ ソート
返信数: 12
閲覧数: 4819

Re: ポインタ ソート

こんな感じなんでしょうか。 #include <stdio.h> #define NUMBER (10) void swap(double *x, double *y) { double t; t = *x, *x = *y, *y = t; } void descending_sort(double *data, int n) { int i, j; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (*(data + i) > *(data + j)) { swap(data + i, data + j); } }...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の数値を出力するには
返信数: 2
閲覧数: 2457

Re: 配列の中の特定の数値を出力するには

「特定の数値を出力する」というタイトルと「最後の1のある要素数を出力する」が食い違っているように思えて、
何がしたいのかがよくわかりません。
また、「最後の1のある要素数」の意味もよくわかりません。要素数ではなくて要素番号ならば話はわかります。
最後の要素番号を調べたいのであれば、配列を最後からたどっていって、初めて1が見つかった要素番号を
答にすればよいでしょう。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ピラミッド作成 表示回数1回
返信数: 15
閲覧数: 4729

Re: ピラミッド作成 表示回数1回

無名 さんが書きました:上記のプログラム、エラー(移植性のないポインタ変換)
がputcharの列にあって実行出来ないのですが…
シングルクォートを使っていますか?ダブルクォートではダメですよ。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ピラミッド作成 表示回数1回
返信数: 15
閲覧数: 4729

Re: ピラミッド作成 表示回数1回

実行後、偶数の整数を入力してみてください。 #include <stdio.h> void pyramid(int n) { int x, y; if (n % 2 == 0) { int m = n - 1; for (y = m; y >= 0; y--) { for (x = -m; x <= m; x++) { putchar((y <= x + m && y <= -x + m) ? '*' : (x == m) ? '\n' : ' '); } } } } int main(void) { int n; scanf("%d", &n); pyramid(n); return 0; }
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを使った配列を関数に受け渡す方法について
返信数: 7
閲覧数: 3797

Re: ポインタを使った配列を関数に受け渡す方法について

#include <stdio.h> #include <stdlib.h> #include <time.h> // mainから渡されるのはint *型 void sort(int *d, int n) { int i, j, t; for (i = 0; i < n - 1; i++) { for (j = i; j < n; j++) { if (d[i] > d[j]) { t = d[i], d[i] = d[j], d[j] = t; } } } } int main(void) { int *data; // dataはint *型、*dataはint型 int n, i; ...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体、配列、ファイル操作について
返信数: 3
閲覧数: 2721

Re: 構造体、配列、ファイル操作について

hnkto さんが書きました:ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いし
ファイルの置き場所は適切ですか?
開発環境によって、使うファイルをどこのフォルダーに置いておく必要があるかは異なります。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 中央値を求めるプログラム
返信数: 4
閲覧数: 3542

Re: C言語 中央値を求めるプログラム

データの個数が偶数である場合の中央値の求め方は既出ですが、
その場合、*の付け方はどうするんでしょうね。>質問者さん
中央値を計算するためのネタとなるデータ(2個)に*を付けるんでしょうか。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートを用いた問題
返信数: 6
閲覧数: 3937

Re: バブルソートを用いた問題

何でもかんでもmain()にぶち込まない方がよいと思います。 // 全面的に改変しました #include <stdio.h> #include <stdlib.h> #include <time.h> #define N (10) void makeRandomNumber(int *a, int n) { int i; for (i = 0; i < n; i++) { a[i] = rand() % 20 + 1; // 1~20の乱数を発生 } } void sortArray(int *a, int n) { int i, j, t; for (i = 0; i < n - 1; i...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートを用いた問題
返信数: 6
閲覧数: 3937

Re: バブルソートを用いた問題

mogu2522 さんが書きました: バブルソートで昇順に並び変えるのは理解できる
では、そのときのコードを見せてください。たぶんちょっとした修正でうまくいくと思います。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 普通式から後置記法に変換でうまくコンパイルができない
返信数: 5
閲覧数: 2813

Re: 普通式から後置記法に変換でうまくコンパイルができない

今回の事象は「うまくコンパイルできない」ではなく、
「うまくコンパイルはできるけど、思ったとおりに動かない」というのが
正しそうです。
もし、「コンパイル」という用語の意味を正しく理解していないのであれば、
この機会に覚えておくとよいかもしれません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 循環小数の計算について
返信数: 4
閲覧数: 3287

Re: 循環小数の計算について

1/7だったら循環節に現われる数字がすべて異なるので対処のしようがあると思いますが、
例えば1/17だったら循環節に同じ数字が複数回現われます。そこをどう切り抜けるかがポイントとなりそうです。
1/17 = 0.05882352941176470588235294117647...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列をスキップする方法
返信数: 9
閲覧数: 3186

Re: 配列をスキップする方法

#include <stdio.h> int main(void) { int skip[10] = { 0 }; // skip[n] == 1のとき、その段をスキップする int s, i, j; do { printf("スキップする段を入力してください(0または1~9以外で終了)。\n"); scanf("%d", &s); if (s == 0) break; if (1 <= s && s <= 9) skip[s] = 1; } while (0 <= s && s <= 9); for (i = 1; i <= 9; i++) { if (skip[i] == 0) { fo...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイル時の構造体宣言
返信数: 6
閲覧数: 3410

Re: 分割コンパイル時の構造体宣言

多重インクルードガード付きのヘッダーファイルを作成するのがよさそうです。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 変数だけを書く
返信数: 4
閲覧数: 2263

Re: 変数だけを書く

何もしない関数ですので、何も起きません。
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列のアルファベット順並び替え
返信数: 5
閲覧数: 4238

Re: 文字列のアルファベット順並び替え

"asrutocdgeqkfg"という文字列をアルファベット順に並び替えたいのですが下記のプログラムだとうまくいきません。よろしければアドバイスをよろしくお願いします。 for (i = 0; i < N - 1; i++) for (j = 0; j < N - 1; j++) if (ch[j] > ch[j + 1]) { ex = ch[j]; ch[j] = ch[j + 1]; ch[j + 1] = ex; } ループの中で、i がからむ処理がないのが気になります。 ・i がからむ処理をしたければ、そういうコードを書く ・処理がなくていいのなら、i のループをやめる どっちかに...
by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: cのプログラミング基礎
返信数: 9
閲覧数: 2426

Re: cのプログラミング基礎

for (d = 1.0; (int)d <= 9; d = d + 0.1) (int)(5.000000) = 4 (int)(6.000000) = 5 たぶん浮動小数点数の誤差でしょう。 そもそも10進の0.1を2進で表現するときから誤差が発生します。 (int) 5.000000 と表示しているところは、おそらく、正確には5.000000という数値ではなく4.999999....で、 %lfで表示すると四捨五入か何かで5.000000と表示するが実際の中身は上述のとおり4.999999...なので intにキャストすると4になってしまう、といったところではないでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 複数回定義されているシンボル
返信数: 6
閲覧数: 2065

Re: 複数回定義されているシンボル

donnbee さんが書きました:一応消してみましたがエラーがやはり発生します。
何というエラーメッセージが出るのか、具体的に記載してください。回答しようとする側は超能力者ではありません(質問者さんのPC画面は見えない)ので、
質問者さんのところで何が起きているかは質問者さんからの情報を頼りにするしかないのです。
まあ、
donnbee さんが書きました:

コード:

//int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
//}
この2行だけをコメントアウトしたら、そりゃエラーが出ますわ。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数字がエラーしてしまいます。
返信数: 3
閲覧数: 1587

Re: 数字がエラーしてしまいます。

peko さんが書きました:

コード:

		L[k]+=1;
		L[k]+=5;
別の回答にもありますが、このように、L[k]に何かを足す、ということは、「必ず、事前にL[k]を初期化(例えばゼロで)しておかねばならない」
という大原則を覚えておいてください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトからの四則演算入力
返信数: 21
閲覧数: 2902

Re: コマンドプロンプトからの四則演算入力

tgg さんが書きました:

コード:

double shisoku_tasu(gx, gy)

char *gx;
char *gy;
今どきこういう書き方をしている人はいないと思います。過去の遺物。

コード:

double shisoku_tasu(char *gx, char *gx)
のように書くのが標準でありましょう。
tgg さんが書きました:

コード:

int main(argc, argv)

int argc;
char *argv[];
ここも上と同じ。
tgg さんが書きました:

コード:

		if (m == "+") {
ここは一つstrcmpあたりを使ってください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体に入れた文字の出力について
返信数: 2
閲覧数: 700

Re: 構造体に入れた文字の出力について

忍者 さんが書きました: char camera;
sscanf(line, "%d",&pa.camera);
printf("%d\n",pa.camera);
[/code]

char型で定義しているメンバーcameraに整数型で値を読んで整数型で出力しているので、
そうなるのは必然ではないかと。
cameraというメンバーをchar型で扱いたいですか?それともint型などの整数として扱いたいですか?話はそこからです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 配列とメモリ確保
返信数: 5
閲覧数: 1080

Re: C言語 配列とメモリ確保

MFJ-228 さんが書きました:

コード:

    free(a); 
    }

      int i;
      for(i=0; i<n; i++)
         printf("a[%d]=%d\n", i, a[i]);
何だかfreeで領域を解放した後にそこへアクセスしているように見えて仕方がありません。
freeを書くのであれば、もうちょい後ろに置くべきでは?
現状は、プログラムがたまたま落っこちないというだけで、実は非常にまずいように思えます。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数の値渡し
返信数: 3
閲覧数: 863

Re: ポインタ変数の値渡し

るま さんが書きました:ポインタについて勉強したばかりなのですが以下のようにすればaの値が1になるということでよろしいでしょうか?

コード:

p(b);
}
実験してみればいいのに…。printfか何かをかませれば、すぐわかりますよね。

コード:

    printf("%d\n", b);
    printf("%d\n", *b);
とか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル分割と構造体
返信数: 7
閲覧数: 1657

Re: ファイル分割と構造体

あらい16 さんが書きました: ファイルを分割したときに、複数のソースファイルから一つの構造体でやり取りできるようにしたいと考えているのですがどうにもうまくいきません。
何をしたときにどううまくいかないのかが全くわかりませんので、お答えのしようがありません。
せめて、ソースコードやエラーメッセージを開示してはいただけないでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 3×3行列と3×1行列の積を求めるプログラム
返信数: 3
閲覧数: 1197

Re: 3×3行列と3×1行列の積を求めるプログラム

字下げ(インデント)の悪いくせが身に付いてしまうと、あとあとやっかいです。 今のうちから、せめて下記の感じくらいに書くようにする方がよいでしょう。 誤解しないでいただきたいのは、「何が何でも下記のように書け」ということではなく (それ言い出すと宗教論争みたくなってしまう)、質問者さんのコードと当方のコードでは どっちが見やすいですか?っていうことです。 あと、少数じゃなくって小数です。少数派とか少数精鋭とかだったら少数でいいんですけどね。 #include <stdio.h> int main(void) { double v[3][3] = { { 0.00003, 0.000144, -0...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: atoiと+でバグります
返信数: 4
閲覧数: 1348

Re: atoiと+でバグります

atoi()に渡す引数の型が違ってるようです。

コード:

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

int main(void)
{
    int a = 999990;
    char *c = "9";

    a += atoi(c);
    printf("%d\n", atoi(c));
    printf("%d\n", a);
    return 0;
}
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に関する質問
返信数: 3
閲覧数: 1043

Re: 配列に関する質問

下記の解答のdo while文の配列の部分(13行目)が「array 」となっています。なぜ「array 」ではなく「i - 1」となるのかがわかりません。確かにこれを入れないと、データの終わりを意味すると問題で指定されている「−1」を入力しても無限ループから抜けられません。 scanf ("%d", &array[i]); ここで、array に値を代入しています。例えばi = 5としましょうか。array[5]に何かが入りました。 i++; ここで、iを1増やしています。iは6になりました。したがって、上で代入したarray[5]の値が-1かどうかを判断するには } while (arr...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++のプログラム文の結果が変なのでは?
返信数: 8
閲覧数: 970

Re: C++のプログラム文の結果が変なのでは?

とりあえず言えることは、「プログラムは書いたとおりにしか動かない」ということです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 『C言語入力した10進数を2進数変換し、出力する
返信数: 7
閲覧数: 1468

Re: 『C言語入力した10進数を2進数変換し、出力する

ぶっさん さんが書きました:

コード:

//負の値はNG
do{
printf("数値を入力してください。:");
scanf("%d",&num);
}while(num>0);
何だかコメントと実装、本当にやりたいこととが食い違っているように見えます。
正の数を入力している間ループする、というのは正しいですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列検索について
返信数: 11
閲覧数: 1308

Re: 文字列検索について

Math さんが書きました:

コード:

#include <stdio.h>
char test1[] = "file"; // char test1[4];==>コンパイラに数えさせる方が安全:test1[5]
char test2[] = "sos filenonfile"; // char test2[16] = "sos filenonfile";==>同上tese2=[17]
せっかくこう書くのであれば、
Math さんが書きました:

コード:

	int n1=4,n2=16,i=0;
	
	for(i=0; (16-i) > 4; i++){
このあたりもコンピューターに数えてもらう方がよくないですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 自作関数について・・・
返信数: 2
閲覧数: 530

Re: 自作関数について・・・

こんな風にしたい、ってことですか? #include <stdio.h> int max2(int a, int b) { int max; if (a > b) { max = a; } else { max = b; } return max; } int main(void) { int a, b; a = 30; b = 34; printf("%d", max2(a, b)); return 0; } だったら、全然問題ありません。 ちなみに、「有効範囲的に」という意味では、上記コードで、main関数におけるa, bとmax2関数におけるa, bとは 全く別物です。 main関数から...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 選択ソートについての質問です。
返信数: 6
閲覧数: 1245

Re: 選択ソートについての質問です。

みけCAT さんが書きました:とりあえず、for文の中に間違って存在するコンマ2個をセミコロンにすれば、コンパイルは通りますね。
21行目と22行目にある } のどっちかがいらない気がする。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 2
閲覧数: 569

Re: c言語

// こんな感じなのかな~という気がしないでもないような気がする #include <stdio.h> #include <string.h> #define N (10) void irekae(char (*a)[N], char (*b)[N]) { char t[N]; strcpy(t, *a), strcpy(*a, *b), strcpy(*b, t); } int main(void) { char a[N] = "book"; char b[N] = "amazon"; printf("a:%s, b:%s\n", a, b); irekae(&a, &b); printf...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 3
閲覧数: 554

Re: c言語

mac さんが書きました:c言語で、4つの自然数a1,a2,b1,b2を入力し、2つの分数 a1/b1,a2/b2 の四則演算を行い、それぞれの式と値を出力するプログラムを作成せよ。という問題についてです。
自然数a1, a2, b1, b2とあるので、とりあえずこれらはint型でしょう。
計算時にdoubleとかfloatとかにキャストする必要はあるにしても。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列
返信数: 3
閲覧数: 693

Re: 文字列

tese さんが書きました: 実行するとエラーが出てどこが間違っているのかがよくわからなくて。。。
どんなエラーが出るのか明記しましょう。
tese さんが書きました:

コード:

char *cswap(char *str, int i, int j); 
この関数、作っただけで呼び出している形跡がないように見えます。それでOKですか?
作ったならばどこかで呼び出す、いらないのならば削除する、どっちかにしましょう。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 質問です
返信数: 1
閲覧数: 398

Re: 質問です

if文でも使えば? #include <stdio.h> int main(void) { int i; for (i = 1; i <= 100; i++) { if ( 1 <= i && i <= 20) putchar('A'); if (21 <= i && i <= 50) putchar('B'); if (51 <= i && i <= 70) putchar('C'); if (71 <= i && i <= 90) putchar('D'); if (91 <= i && i <= 100) putchar('E'); } putchar('\n'); return 0; }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 5
閲覧数: 726

Re: 教えてください

データが失われてしまいます そうならないためにはどうしたらいいですか? kがint型なのがおかしい。double型にすべき。 インデントがグッチャングッチャンで見づらい。修正すべき。 (注)-4 -0.19のくだりは、意をくんで直しておいた。 #include <stdio.h> int main(void) { double x[] = { -1, -0.49, 0, -3.1, -8, -3, -7.5, 0, -0.98, -4, -3.21, -4, -0.19, -2.4, -3.1, -3.6, -8.5, -3.7, -1, -5.4 }, t; int i, j, n = s...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: mallocで確保した領域に文字列を
返信数: 3
閲覧数: 499

Re: mallocで確保した領域に文字列を

あまつ さんが書きました:このプログラムでは"あいうえお"に必要な11バイトの領域をmallocで確保しています。が、2バイトや3バイトでもERRORが発生せず、出力されます。
深刻なエラーが出るような領域をたまたま破壊していないだけです。
11バイト確保したならば、そこへ格納できるのは「プログラマーの責任で」11バイトまでです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 7
閲覧数: 962

Re: 教えてください

どういう結果がほしいのですか?
例題の座標群で提示してください。

詳細検索ページへ移動する