検索結果 1695 件

by box
2日前
フォーラム: C言語何でも質問掲示板
トピック: #ifdefと#endifを定義しているのですが…
返信数: 3
閲覧数: 145

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

コード:

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

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

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

Re: ポインタ変数

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

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

コード:

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

コード:

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

コード:

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

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

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

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

Re: 整数商, 余り

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

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

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

Re: 型変換

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

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

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

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
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: pointerを付け忘れていますとエラーメッセージが出ます。
返信数: 2
閲覧数: 483

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
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 至急解答お願い致します。
返信数: 2
閲覧数: 537

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

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

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
4ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の文字を削除して詰めるには
返信数: 9
閲覧数: 846

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

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

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

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

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

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

Re: ポインタ ソート

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

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
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の数値を出力するには
返信数: 2
閲覧数: 315

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

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

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

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

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
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを使った配列を関数に受け渡す方法について
返信数: 7
閲覧数: 789

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
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 構造体、配列、ファイル操作について
返信数: 3
閲覧数: 494

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

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

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

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

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
6ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートを用いた問題
返信数: 6
閲覧数: 751

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

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

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

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

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

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

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...

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