検索結果 1739 件

by box
1年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の各要素の足し算
返信数: 7
閲覧数: 3082

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

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

Re: ポインタ ソート

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

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
閲覧数: 2446

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

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

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

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

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
閲覧数: 3771

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
閲覧数: 2710

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

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

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

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

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
閲覧数: 3914

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

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

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

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

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

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

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
閲覧数: 3391

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

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

Re: 変数だけを書く

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

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
閲覧数: 2415

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
1年前
フォーラム: C言語何でも質問掲示板
トピック: 複数回定義されているシンボル
返信数: 6
閲覧数: 2055

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

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

コード:

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

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

peko さんが書きました:

コード:

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

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
閲覧数: 699

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
閲覧数: 1079

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
閲覧数: 1185

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
閲覧数: 1041

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
閲覧数: 964

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

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

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

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

コード:

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

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
閲覧数: 529

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
閲覧数: 1244

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
閲覧数: 397

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
閲覧数: 959

Re: 教えてください

どういう結果がほしいのですか?
例題の座標群で提示してください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: calc関数
返信数: 6
閲覧数: 1108

Re: calc関数

コード:

// 最もシンプルと思われるコード
#include <stdio.h>

int calc(int n)
{
    return (n + 5) * 3;
}

int main(void)
{
    int n;

    printf("input:"), scanf("%d", &n);
    printf("answer:%d\n", calc(n));
    return 0;
}
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: おかしなところがあったらごしてきくださいorz
返信数: 6
閲覧数: 1052

Re: おかしなところがあったらごしてきくださいorz

makaraito さんが書きました:

コード:

    if(abs(sum)<=d){
        
    }else{
        while(i>0);
    }
ここの無限ループはいいんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 至急!!演算子です。初歩の初歩ですみません
返信数: 3
閲覧数: 551

Re: 至急!!演算子です。初歩の初歩ですみません

重隅な話をすると、
ミルキー さんが書きました:

コード:

    int a=0;
    int b=0;
    int C=32;
    a = C/10;
    b = C%10;
aとbの初期化は特にいりません。
なぜなら、すぐ後で、Cを10で割った商やあまりでもって上書きしているからです。
0で初期化してもしなくても同じだったら、「初期化しない」という楽な方を選びたいところです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語プログラムを作成でわかりません
返信数: 8
閲覧数: 1749

Re: c言語プログラムを作成でわかりません

#if 0 65とか25とかマジックナンバーを書いていたり、mainの型がvoidだったりするのが イヤなので、自分ならこう書く。絶対にこうじゃなきゃいけないことはないのは承知。 #endif #include <stdio.h> #define ALPHABETS (26) int main(void) { int i, j; for (i = 'A'; i < 'A' + ALPHABETS; i++) { for (j = 'A'; j <= i; j++) { putchar(j); } putchar('\n'); } return 0; }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 新・明解c言語の演習問題での疑問です
返信数: 3
閲覧数: 677

Re: 新・明解c言語の演習問題での疑問です

SZK さんが書きました:質問する際に打ち間違えたようです。
わざわざ手打ちするよりもコピペする方が正確で楽だと思いませんか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列について
返信数: 4
閲覧数: 584

Re: 構造体配列について

#if 0 どこが間違っているのか分からないので、助言を頂ければ幸いです。 実行例のように,5名分の学生情報(学生番号と氏名)を構造体配列に格納し,表示するプログラムを作成しなさい. 自作の関数を使う必要はありません. 文字列の代入には,標準ライブラリ関数strcpyを使いなさい. すでに記載されている部分は書き換えてはいけません. 実行例 0人目: 学生番号 11001 名前 山田 一郎 1人目: 学生番号 11002 名前 山田 二郎 2人目: 学生番号 11003 名前 山田 三郎 3人目: 学生番号 11004 名前 山田 四郎 4人目: 学生番号 11005 名前 山田 五郎 #e...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 行列とベクトルの積
返信数: 11
閲覧数: 1667

Re: 行列とベクトルの積

あい さんが書きました:

コード:

			 Mat[i][j] * Vec[i];
何か計算はしてますけど、それを「どこにも代入していない」ので、そりゃダメですよね。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: fscanfがうまく動きません
返信数: 5
閲覧数: 815

Re: fscanfがうまく動きません

そもそも
yg さんが書きました:

コード:

	for (int i = 0; i <= 19; i++)memo[i] = NULL;
memo[]を初期化しようとしているのなら、不要です。
どうせfscanf()の呼び出しで初期化の結果を上書きしますので。
それに、char型に、(void *)型のはずのNULLを放り込んでいるのは謎です。
「余分なのはできるだけそぎ落として」所定の目的を達成する、というのがいいんじゃないでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: すいません 急ぎで解答をお願いします。
返信数: 5
閲覧数: 809

Re: すいません 急ぎで解答をお願いします。

冷やかしなどはいりません じゃあ、冷やかしでないのを。 #include <stdio.h> #include <string.h> #define LEN (20) typedef struct { char name[LEN]; int price; } Coffee; void get_price(Coffee *coffee, int kind) { char name[LEN]; int weight, i; printf("豆の種類:"), scanf("%s", name); printf("分量(g):"), scanf("%d", &weight); for (i = 0;...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: FOR文で不連続な範囲でLoopしたい
返信数: 13
閲覧数: 1411

Re: FOR文で不連続な範囲でLoopしたい

kaoruh さんが書きました: For(i=220;i<250,i++) {処理式}
を実行してから同じ処理式で、更に
For(i=0;i<50,i++){処理式}
と続けたいばあいにはどうすれば良いでしょうか?
回答のどの場合でも、処理時間はそう変わらんと思うので、素直に

コード:

    for (i = 220; i < 250; i++) {
        // 何かの処理
    }
    for (i = 0; i < 50; i++) {
        // 何かの処理
    }
と書くのがよいと思います。後でそのコードを見たときに「何をしているか」が一目瞭然なはず。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元平面上の2点間を計算する関数について
返信数: 2
閲覧数: 694

Re: 2次元平面上の2点間を計算する関数について

// double型にnとかiとかjとかいう変数名を付けているのが何となく違和感があったので、 // 思い切ってそういう変数を使わないようにしてみた #include <stdio.h> #include <math.h> double distance(double *p1, double *p2); int main(void) { double p1[2], p2[2]; printf("点p1の入力\n"); scanf("%lf %lf", &p1[0], &p1[1]); printf("点p2の入力\n"); scanf("%lf %lf", &p2[0], &p2[1]); ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 関数にポインタを引数として渡すプログラムについて
返信数: 29
閲覧数: 2397

Re: C言語 関数にポインタを引数として渡すプログラムについて

purin52002 さんが書きました:
'A'-'a'の意味は分かったんですけど'B'-'b'の意味が分かりませんでしたorz
少なくとも、ASCIIコードにおいては、
'A' - 'a'
'B' - 'b'
'C' - 'c'
...
'Z' - 'z'
は、どれも同じはずです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 円の面積と円周を求めるプログラムを作っています。
返信数: 2
閲覧数: 1735

Re: 円の面積と円周を求めるプログラムを作っています。

#include <stdio.h> #if 0 #define PI 3.14159; // 最後のカンマは不要 #endif #define PI 3.14159 float Circle_S(float r) { // この辺の余分な変数定義や初期化は不要で、単に面積の値を返せばよい // その方がプログラムが簡単になる // 同じ結果を得るんだったら、コード量が少ない方がよいと思う // float result1 = 0; // result1 = r*r*PI; // return result1; return (r < 0) ? -1 : PI * r * r; } floa...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 微分係数を求めるプログラムを作っています
返信数: 7
閲覧数: 2491

Re: 微分係数を求めるプログラムを作っています

(1) 引数 x (double型)と n (int型)を与えて x^n の値を返すdouble型の関数 powerを定義。 (2) 引数 x (double型)と n (int型)を与えて x^n の微分係数((x^n)’の値,n x^(n -1)を計算してxの値を入れる)を返すdouble型の関数 diff を定義。ただし(1)の関数powerを呼び出して使うこと。 まず、「ただし(1)の関数powerを呼び出して使うこと。」とありますが、違う計算をするのになぜ呼び出すのですか?呼び出す意味はありますか? この疑問に対する答えは、別の回答者さんからの回答のとおりです。 (2)においてべき...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 微分係数を求めるプログラムを作っています
返信数: 7
閲覧数: 2491

Re: 微分係数を求めるプログラムを作っています

みけCAT さんが書きました: どうしてわざわざ質問にほとんど関係ない上に苦手な数学の話に寄ったのですか?
数学があまり得意でない方が数学に関する投稿をしてもいっこうに差し支えないのでは?
ここの掲示板には、ある分野があまり得意ではない方がその分野に関する投稿をしていけないという
ルールでもあるんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: エラー解消されません、、、
返信数: 7
閲覧数: 2036

Re: エラー解消されません、、、

tennga さんが書きました: 解消されましたが、結果がこうなりました
気温と周波数を入力してください。
17.0
40.0
波長はinfです。
う~ん、自分のところでは、(計算式が正しければ)正しいと思われる8.5425が出ますけどね。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: エラー解消されません、、、
返信数: 7
閲覧数: 2036

Re: エラー解消されません、、、

printfとかscanfとかのプロトタイプ宣言が書いてあるはずの stdio.h をインクルードすれば、 くだんの警告は出なくなるかもしれません。 #include <stdio.h> double onnsoku(double t) { return 331.5 + 0.6 * t; } double hattyou(double c, double f) { return c / f; } int main(void) { double f, t; printf("気温と周波数を入力してください。\n"); scanf("%lf %lf", &t, &f); printf("波長は%fで...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語プログラムについて
返信数: 3
閲覧数: 1136

Re: c言語プログラムについて

その操作を手で行なうとしたら、どういう手順を踏みますか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 配列を引数とする関数について
返信数: 14
閲覧数: 1622

Re: 配列を引数とする関数について

別の回答にもあるとおり、ave関数における変数nの使い方が超絶おかしいので修正。 せっかく要素数(今回はn)を引数で受け取っているのに、それを変えちゃまずいでしょう。 要素数がたまたま5であるから、正しく動いているように見えるだけ。要素数が5以外だったらどうする? 今回の場合、ave関数は、渡ってきた配列の要素数が「いくつであっても」対応できるようにしておくべき。 #include <stdio.h> double ave(int a[], int n); int main(void) { int a[5] = {3, 1, 4, 2, 5}; double ans; ans = ave(a,...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 1886

Re: 早急にお願いします。

梅衣堂ひよ さんが書きました: あとはこれをマイルからキロメートルへ、キロメートルからマイルへ変換する関数として実装するだけですよ。
キロメートルをマイルに変換したいだけなので、オーバースペック(不要な機能を実装)。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 1886

Re: 早急にお願いします。

purin52002 さんが書きました: 2、マイルを引数(double型がいいかな?)、kmを返り値(これもdouble型がいいかな?)の関数を作ります。
キロメートルをマイルに変換したいので、仕様誤り。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 急ぎです…。
返信数: 2
閲覧数: 982

Re: 急ぎです…。

全部見たわけではありませんが…
あみあみ さんが書きました:要素数100程度の2つのint型配列a,b
って書いてあるのに、どうして
あみあみ さんが書きました:

コード:

	double a[100], b[100]
こうなっちゃうんですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 1211

Re: 二つの整数を入力してその間の全整数の和を出力

こちらの環境で下のようなコードを実行したら、ちゃんと答えが出ます。 #include <stdio.h> int main(void) { int no, no1, no2; int max, min; int sum = 0; do { printf("正の整数を二つ入力してください。\n"); printf("整数1:"); scanf("%d", &no1); printf("整数2:"); scanf("%d", &no2); } while(no1 < 0 || no2 < 0); if (no1 > no2) { max = no1; min = no2; } else { max...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 1211

Re: 二つの整数を入力してその間の全整数の和を出力

うまく起動できない、というのは、どういった状況を指していますか?
コンパイルはできるけど、実行結果が思ったとおりにならないということですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語のキューの問題のことです
返信数: 3
閲覧数: 739

Re: C++言語のキューの問題のことです

コードをザッと見たところ、データ構造がキューではなくてスタックになっているようです。
関数名もpush()とかpop()とか、いかにもスタックを扱うかのような名前が付いてますね。
だからどうすれば?というのは、キューとか待ち行列とかでまずはググってみてはどうでしょう。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c++で変数の数字を上書きせずに並べる
返信数: 5
閲覧数: 721

Re: c++で変数の数字を上書きせずに並べる

ほんの一例です。

コード:

#include <iostream>
using namespace std;

int main(void)
{
    int a;

    for (a = 1; a <= 10; a++) {
        cout << a;
    }
    cout << '\n';
    return 0;
}
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 1876

Re: たまに曜日が表示されないときがあります。

hのiの値がいくつになっているか、printf()か何かで確認してみましょう。
0~6以外の値になっているような気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルが作れない
返信数: 8
閲覧数: 1462

Re: ファイルが作れない

boru さんが書きました:DXライブラリでfopen関数でファイルを作ろうとしてもエラーが出ます。
エラー LNK2019 未解決の外部シンボル _WinMain@16 が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。
このエラーが出ているということは、たぶん、プロジェクトの設定でWindowsアプリケーションを作成するようになっているのに、
WinMain関数がないよ、と怒られているのだと思います。
直すには、たぶん、プロジェクトの設定でコンソール・アプリケーションを作成するようにすればよいと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 1615

Re: 構造体(structure)のプログラムについて。

割り算用の関数が意図どおりに動いているのであれば、それには手を触れずに
「新たに」足し算用の関数(名前の例:Add)と引き算用の関数(名前の例:Sub)を用意するのがよいと思います。
1つの関数で足し算も引き算も割り算も実行する、というのは避ける方がよいと思います。

なお、構造体に、商とあまりの他、和と差のためのメンバーを追加する必要があると思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?
返信数: 3
閲覧数: 932

Re: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?

11~19のかけ算をしたいのか1~19のかけ算をしたいのか、質問文からは判読不能。とりあえず1~19と解釈した。 単にかけ算の結果を表示するだけなので、配列を使う必要なし。 かけ算のときに+1するのがめんどくさいので、ループは素直に1~19で回す。 #include <stdio.h> int main(void) { int i, j; for (i = 1; i <= 19; i++) { for (j = 1; j <= 19; j++) { printf("%4d", i * j); } putchar('\n'); } putchar('\n'); return 0; }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
返信数: 2
閲覧数: 756

Re: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる

result=284480*F/L; // 1行で計算すると result= 743 となって正しくない 右辺の計算の途中で、int型で表わせる数値の範囲を超えているように思います。 result=284480; // 1行目 result=result*F/L; // 2行目 → 2行に分けると正しい結果 (9482) が得られる こっちは、1行目で__int64型の変数に値を代入「した後で」続きの計算をしていますね。このように、__int64とintが混在しているとき、 2行目の右辺の型は最も大きい__int64型となるので、何も問題がない、ということでありましょう。 1行で片づけるには...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。
返信数: 7
閲覧数: 692

Re: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。

Cで作るならこんな感じ? #include <stdio.h> #include <math.h> #define N 4 typedef struct vector { int x; int y; double r; double d; } vector; void InputData(vector *data) { data[0].x = 0; data[0].y = 3; data[1].x = 7; data[1].y = 7; data[2].x = 1; data[2].y = 5; data[3].x = 2; data[3].y = 1; } /*ベクトルの大きさを求める関数で...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: rand関数の不可解なエラーについて
返信数: 4
閲覧数: 701

Re: rand関数の不可解なエラーについて

kohei さんが書きました: 関数がない変数定義注釈~enumより上にrand関数を設定したのですが
何を言いたいのかよくわかりません。
kohei さんが書きました: 私では理解できないエラーが発生いたしました。
どんなエラーですか?エラーメッセージがあれば貼ってください。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 逆順表示の関数の作成方法
返信数: 9
閲覧数: 1050

Re: 逆順表示の関数の作成方法

ほんの一例です。 #include <stdio.h> #include <string.h> void gyaku(char s[]); int main(void) { char str[20]; scanf("%19s", str); gyaku(str); return 0; } void gyaku(char s[]) { int len = strlen(s), i; for (i = len - 1; i >= 0; i--) { putchar(s[i]); } putchar('\n'); } ちなみに、別の言語だったら1行で。逆順にしたい文字列の字数に制限なしで、楽勝。 p...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 特になにもないです
返信数: 7
閲覧数: 933

Re: 特になにもないです

質問は「特になにもないです」ですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の作成の仕方が分かりません
返信数: 4
閲覧数: 557

Re: 関数の作成の仕方が分かりません

こんな感じ?ベストとは限らないけど。 #include <stdio.h> #include <string.h> void yoko(char s[]); void kuuhaku(char s[], int n); void tate(char s[]); int main(void) { char name[50]; printf("名前は?(全角入力) "); scanf("%s", name); printf("\n"); yoko(name); printf("\n"); kuuhaku(name, 3); printf("\n"); tate(name); printf("\n"...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力をしないとprintfの文が表示されない
返信数: 3
閲覧数: 727

Re: 数字を入力をしないとprintfの文が表示されない

maxwell さんが書きました: 順番としては、printfで行う処理の番号を表示し、scanfで入力を受け付けています。
どなたか原因と改善策をご教授ください。
当該のコードを見せてください。そこで使っている変数の定義部分を含めて。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 課題について至急アドバイスをお願いします!
返信数: 5
閲覧数: 519

Re: 課題について至急アドバイスをお願いします!

ottochang さんが書きました: sounyuuhou.c:23: error: expected expression before ‘)’ token
sounyuuhou.c:29: error: expected declaration or statement at end of input
とでるのですが、どこが間違っているのでしょうか?
if文の勢力範囲が終わった後にelseが来ているのがよろしくなさそうです。
また、どうも閉じカッコ } の数が多いように見えます。それもエラーの原因だと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の宿題が・・・
返信数: 19
閲覧数: 3259

Re: C言語の宿題が・・・

獅子丸 さんが書きました: また他にもおかしいところがあれば教えて欲しいです
間違いというわけではありませんが、
獅子丸 さんが書きました: int printPlayData(PLAYER p)
{
return printf("%s %d %d %d %f", p.name, p.number, p.at_bat, p.hit, p.ave);
}

printPlayerData(p);
int型の戻り値をどこでも使っていないので、思い切ってvoid型にしてみる(関数の中身はprintfするだけにして、
何もreturnしない)、という手はあるかもしれません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

こんな感じ? 元のコードのインデントがあまりにグッチャングッチャンだったので自分なりに直しておきました。なお、 あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか 便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。 ここは後者の策を採りました。 #include <stdio.h> int myatoi(char *p); int main(void) { int y, n; char w[50]; printf("Input Wareki: "); scanf("%...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか
便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 1784

Re: c言語和暦から西暦

文字列をintがたの整数にして返す関数はできているのですが 元号をローマ字表記したときの先頭文字からその元号が始まったり(あるいは終わったり)する西暦の取得は? 標準入力から和暦で H29(平成29年の場合)などと入力すると、それが西暦何年かを計算して表示するプログラムを作成しなさい。 入力は1文字目がアルファベットで H, S, T, M がそれぞれ平成、昭和、大正、明治を表しており、数字との間にスペースなどの区切りは無いため、ひと続きの文字列として読み込む。 文字列から数値への変換には問題1で作成した関数 myatoi をそのままコピーして使用し、main関数のみを新たに作成すること。 ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録プログラミングの館で勉強中にバグが出てきました。
返信数: 9
閲覧数: 1193

Re: 龍神録プログラミングの館で勉強中にバグが出てきました。

ポインタ さんが書きました: どのようにプログラムを変えれば正しいグラフィックになりますか?
まずは、今のプログラムを提示することでしょう。質問者さんがどういうコードを書いたのか、
回答しようとする側には今のところ全くわかっていません。その状態で、「どのように変えれば」と
言われましても、何とも答えようがありません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: -1,2,-3,4…という数列
返信数: 27
閲覧数: 3343

Re: -1,2,-3,4…という数列

みなさんがんばってコードを書かれていますが、読みやすさや修正しやすさといった点においてどうなんでしょうか。

コード:

#include <stdio.h>

#define N (100)

int main(void)
{
    int i;

    for (i = 1; i <= N; i++) {
        printf("%d\t", i * ((i % 2 == 1) ? -1 : 1));
    }
    putchar('\n');
    return 0;
}
あたりで十分な気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 分からないです!至急アドバイスお願いします!
返信数: 7
閲覧数: 1194

Re: 分からないです!至急アドバイスお願いします!

metaphor さんが書きました:

コード:

			break;                //再帰終了
			x0 = x1;         //前回の計算値に置き換えて再帰処理
再帰っていう表現を使っていいものかどうか、疑問ありです。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: -1,2,-3,4…という数列
返信数: 27
閲覧数: 3343

Re: -1,2,-3,4…という数列

こんにちは さんが書きました:-1,2,-3,4,-5…
何項めまで出力したいのですか?
さておき、ロジックとしては、
1から上限の数値までループする。
ループの中で、
・その数が奇数ならば-1倍した値を出力する
・その数が偶数ならば、そのまま出力する
てな感じでいいと思います。
どなたかの回答みたいにハードコーディングするのではなくて。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: スロットマシーン 作成
返信数: 67
閲覧数: 8199

Re: スロットマシーン 作成

ゆうtyt さんが書きました:

コード:

		a=rand()%9;
		b=rand()%9;
		c=rand()%9;
a, b, cには0~8の数値が入るので、
ゆうtyt さんが書きました:

コード:

[4][1][2]
[5][9][3]
[6][8][4][/quote]

こんな結果(1が出たり9が出たりする)になることは絶対にありません。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: スタック操作について
返信数: 9
閲覧数: 1179

Re: スタック操作について

main関数の話の前に、素朴な疑問があります。
のの さんが書きました:

コード:

void init_stack(){
  sp=-1;
}
スタックポインターの初期値が-1のときに
のの さんが書きました:

コード:

int push(int x){
  if(sp<stack_size-1){
    stack[sp++] = x;
pushを行なうと、おかしなことにならないでしょうか。stack[-1]に値を代入しようとしているように見えて仕方がありません。
てか、この手の問題においてはスタックポインターの初期値はゼロ一択であるように思っています。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: TANAKA
返信数: 3
閲覧数: 484

Re: TANAKA

ファイルから文章を読み込んで、その文章の空白の数と、改行の数を数えたいのですが、初期値0のままでうまくいきません。 どこが間違っているのでしょうか? インデント(字下げ)がグチャグチャで見づらいです。 int main(){ stdio.hなど、必要なヘッダーをインクルードしていません。 if(file == NULL) printf("開けません"); ファイルが存在しないなどのエラーが発生しても強引に先へ進んでいるのはまずいです。 while(scanf(file,"%c", &c) == 1){ 本当にscanf()の呼び出しでいいですか?
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 16進数の下位2桁を取り出す処理について
返信数: 41
閲覧数: 4095

Re: 16進数の下位2桁を取り出す処理について

sadora3 さんが書きました: 言語:C
C言語において
sadora3 さんが書きました:

コード:

void DispSimo(short* temp);
void DispSimo(long* temp);
このように同じ名前で違う型の引数を持つ関数は複数定義できないはずです。
どこかで何かが間違っているような気がします。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: オペランドと一致する演算子”=”がない
返信数: 3
閲覧数: 2387

Re: オペランドと一致する演算子”=”がない

mattun さんが書きました: 「オペランドと一致する演算子”=”はありません」とエラーが
せめて、どのソースコードの何行目でエラーが出ているかくらいは教えていただきたいところです。
エラーメッセージに書いてあるはずです。
まぁ、自分が回答できるかどうかはともかく。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: C言語わかりません
返信数: 4
閲覧数: 1059

Re: C言語わかりません

すべてのテストケースで以下の条件を満たします。 1 ≦ n ≦ 100 この条件があるにもかかわらず } while (n == 0 || n>100); としているのは、問題の趣旨に反しています。このために不正解になっているかどうかはわかりませんけど。 素直に、こんな風に書くのがよいのではないでしょうか。 #include <stdio.h> int main(void) { int n, i; do { scanf("%d", &n); } while (!(1 <= n && n <= 100)); for (i = 1; i <= 9; i++) { printf("%d%s", n...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の引数にポインタを使うときの初歩的な質問
返信数: 15
閲覧数: 1661

Re: 関数の引数にポインタを使うときの初歩的な質問

ケトン さんが書きました:

コード:

void swap (int *pX,int *pY);
引数には*pX,*pYの二つ(変数の値!)があって,
ここを即値とお考えでしたらちょっと違うと思います。
int *型の値ですから、中身は変数のアドレス値です。一方、
ケトン さんが書きました: 関数を呼び出すときに

コード:

swap (&num1,&num2);
呼び出す側では、変数のアドレスという値を渡しています。
何もおかしくないと思います。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 足し算の項の入れ替え
返信数: 6
閲覧数: 904

Re: 足し算の項の入れ替え

とりあえず同じ名称のことは意識せずにやってみた。
Rubyだと2行でできた。\(^O^)/

コード:

a = ["a", "b", "c"]
puts a.permutation(a.size).collect { |a| a.join("+") }
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: おそらく初歩の初歩だと思われますが、、、、
返信数: 4
閲覧数: 800

Re: おそらく初歩の初歩だと思われますが、、、、

こんな感じですかね。合ってるかどうかは知らないけど。 #include <stdio.h> #include <string.h> char *mystr2cpy(char *a, char *b) { // staticがないと、関数内部のautomaticなローカル変数のアドレスを返そうと // することとなる。ところが、cは本関数を抜けた瞬間に雲散霧消してしまう。 // main関数で正しく受け取れない。 static char c[256]; // aとbを連結した結果を格納できる十分な大きさであること strcpy(c, strcat(a, b)); return c; } int ...
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: externについて
返信数: 8
閲覧数: 1278

Re: externについて

akasann さんが書きました: おまけとして、AOJの問題にも取り組んでいるのですが、前のDight Numberについては解決しました。次の問題として最小公倍数の問題に取り組んでいます。次のコードに 50000000 と 30000000 を標準入力すると -14 という値が出てきます。何か別のやり方があるのでしょうか?・・・
50000000 と 30000000 をかけ算している時点で、int型で扱える数値の範囲を超えているような気がする。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: おそらく初歩の初歩だと思われますが、、、、
返信数: 4
閲覧数: 800

Re: おそらく初歩の初歩だと思われますが、、、、

C言語彷徨い人 さんが書きました:

コード:

char mystr2cpy (*char a, *char b)
引数の書き方と戻り値の型が違う。
char *mystr2cpy (char *a, char *b)ではないですか?
C言語彷徨い人 さんが書きました:

コード:

  char c;
変数cはchar型1バイトしかないので、
C言語彷徨い人 さんが書きました:

コード:

  strcpy(c, a); 
こういう書き方はできないはず。
C言語彷徨い人 さんが書きました:

コード:

  return 0;
もともとのコードではchar型を返すことになっているのに0を返すのは不自然。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 課題で*を使って△を表示.....
返信数: 6
閲覧数: 1105

Re: 課題で*を使って△を表示.....

ネバー さんが書きました:課題で△を真ん中に表示する
真ん中ってどこですか。
by box
2年前
フォーラム: C言語何でも質問掲示板
トピック: 解凍・圧縮ソフト【雑談】
返信数: 7
閲覧数: 1061

Re: 解凍・圧縮ソフト【雑談】

ターボ さんが書きました: Windows7まではLhaplusを使っていたのですが、10にしたら使えなくなってしまって、
自分のところでは、Windows7から10にアップグレードした環境で全く問題なく使えています。
使えなくなった、というのは、何かエラーメッセージが出るのですか?
単に「使えなくなった」だけですと、状況が正確に把握できません。
by box
3年前
フォーラム: C言語何でも質問掲示板
トピック: 配列内の数字のシャッフル
返信数: 12
閲覧数: 1424

Re: 配列内の数字のシャッフル

みけCAT さんが書きました:入れ替え対象としてたまたま同じ数を選んでしまうと、「2つの数を選んで入れ替え」たことにならないのでは?
2つの数がたまたま同じであっても、いっこうにかまわないのでは?自分の解釈はそういうことです。
まあ、出題者の意図が正確にはわかりませんので、自分のような部外者があ~だこ~だ言うようなことではないのかもしれません。

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