検索結果 1688 件

by box
1週間前
フォーラム: C言語何でも質問掲示板
トピック: AIZU ONLINE JUDGE (AOJ) - 0044 について
返信数: 4
閲覧数: 127

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

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

Re: 型変換

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Re: ポインタ ソート

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイル時の構造体宣言
返信数: 6
閲覧数: 605

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

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

Re: 変数だけを書く

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

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
5ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: cのプログラミング基礎
返信数: 9
閲覧数: 653

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

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

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

コード: 全て選択

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

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

peko さんが書きました:

コード: 全て選択

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

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あたりを使ってください。

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