検索結果 6405 件

by みけCAT
50分前
フォーラム: C言語何でも質問掲示板
トピック: 公式のDXライブラリを見ながら当たり判定を実装しようとしているのですが。。。。。。
返信数: 3
閲覧数: 82

Re: 公式のDXライブラリを見ながら当たり判定を実装しようとしているのですが。。。。。。

前言われた配列を走査する、というのがまだ理解できていなくて…どういう意味なのでしょうか 配列の要素を前から1個ずつ処理していく、という意味です。 配列 走査 - Google 検索 みけCATさんに言われたとおりに「配列を走破し・・・」ていうのを前と同じやり方でやってみたのですが ループ後に条件を満たす要素が見つかったかをチェックし、 見つかっていたらそこに対して処理を行う、という処理が無いため、同じやり方ではないですね。 弾を撃つとフリーズしてしまいます for (i = 0; i < Tama; i++) のループの内側で、変数 i の値を不適切に書き換えているため、 特殊な場合以外は無...
by みけCAT
1日前
フォーラム: C言語何でも質問掲示板
トピック: 公式のDXライブラリを見ながら当たり判定を実装しようとしているのですが。。。。。。
返信数: 3
閲覧数: 82

Re: 公式のDXライブラリを見ながら当たり判定を実装しようとしているのですが。。。。。。

if (((JikiTamaX[i] > Teki1X[j] && JikiTamaX[i] < Teki1X[j] + Teki1W) || (Teki1X[j] > JikiTamaX[i] && Teki1X[j] < JikiTamaX[i] + TamaW)) && ((JikiTamaY[i] > Teki1Y[j] && JikiTamaY[i] < Teki1Y[j] + Teki1H) || (Teki1Y[j] > JikiTamaY[i] && Teki1Y[j] < JikiTamaY[i] + TamaH))) { // 接触している Teki1Flag[j] = ...
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題です
返信数: 4
閲覧数: 126

Re: 学校の課題です

%s は文字列を入出力するための書式なので、1文字分の領域しか無い char number; には使えません。 文字を入出力するには %c が使えます。 scanf("%s %s %d", p[ i ].name, &p[ i ].number, &p[ i ].scole ); のかわりに scanf("%20s %c %d", p[ i ].name, &p[ i ].number, &p[ i ].scole ); (ついでに、文字列を読み込む時はバッファオーバーフローを防ぐため読み込む最大の長さを指定する) fprintf( fp,"A %s %s %5.1d\n", p[ i ].n...
by みけCAT
2日前
フォーラム: C言語何でも質問掲示板
トピック: 敵がうまく表示できません、、、
返信数: 5
閲覧数: 161

Re: 敵がうまく表示できません、、、

乱数で位置を決めるにはどうすればいいのでしょうか、 for (int f = 0; f <= TEKI_MAX; f++) { if (Teki1Flag == 0) { Teki1X = ptn,ptn2; Teki1Y += 3; DrawGraph(Teki1X, Teki1Y, Teki1Graph, true); Teki1Flag = 1; } } if (Teki1Y >= WORLD_HEIGHT && Teki1Y <= -64) { Teki1Flag = 0; } この部分のかわりに、例えば if (Teki1Flag == 0) { // 敵を出す時に Teki1X ...
by みけCAT
3日前
フォーラム: C言語何でも質問掲示板
トピック: 敵がうまく表示できません、、、
返信数: 5
閲覧数: 161

Re: 敵がうまく表示できません、、、

ptn という変数をもって0~640のどこかにランダムで敵が落ちてくるようにしたいです。 ptnをどう絡めるかがよくわかりませんが、敵を出す時に位置を乱数で決めるといいと思います。 一瞬だけ右上に敵が現れ、すぐに消えてしまいます。 敵を出した時にしか敵を描画していないからですね。 if (Teki1Y >= WORLD_HEIGHT && Teki1Y <= -64) この条件式は常に偽であり、不自然です。 && ではなく || の方がいいのではないでしょうか? int Teki1X[TAMA_MAX], Teki1Y[TAMA_MAX], ... 敵関連の変数が配列になっていないです。 「...
by みけCAT
4日前
フォーラム: C言語何でも質問掲示板
トピック: スペースを離すと弾が消えるのと、なぜかタイトル画面が表示されなくなりました。
返信数: 2
閲覧数: 104

Re: スペースを離すと弾が消えるのと、なぜかタイトル画面が表示されなくなりました。

まず、前まで表示されていたタイトルが、弾を発射するようになってから表示されなくなりました。(Zを押すとスタートという設定で、真っ暗な画面でもZを押すとゲーム画面にはなります。) ScreenFlip(); を、 status == GAME の時にのみ実行するようにしているからですね。 もう一つは、スペースを押したときに弾を連射できるようになったのですが、スペースを離すと弾が消え、もう一度押すと先ほどの弾が先ほどの位置に居て、スペースを押していると弾が動きます。 「自機の弾iの移動ルーチン」を、 CheckHitKey(KEY_INPUT_SPACE) == 1 の時にのみ実行するようにして...
by みけCAT
5日前
フォーラム: C言語何でも質問掲示板
トピック: グラフの隣接リストを表示させたい(深さ優先探索)(幅優先探索)
返信数: 2
閲覧数: 107

Re: グラフの隣接リストを表示させたい(深さ優先探索)(幅優先探索)

出力する行列の各行について、深さ優先探索をする時と同様に終端まで辺のリストを走査して、 辺がある場所をマークし、最後に行を出力するといいでしょう。 //隣接リスト void printlist(void) { for(int i = 1; i <= N; i++) { // 存在する辺をマークする int edges[N + 1] = {0}; for(int j = 1; j < M; j++) { int y = a[i][j]; if(y == 0) break; edges[y] = 1; } // 行を出力する printf("%d", edges[1]); for (int j =...
by みけCAT
5日前
フォーラム: C言語何でも質問掲示板
トピック: [sikyuu ]二次元配列でのエラー
返信数: 3
閲覧数: 100

Re: [sikyuu ]二次元配列でのエラー

配列をこのような形で代入して設定することはできないのが原因ですね。 今回の場合、構造体ごと初期化して代入するのがいいでしょう。 また、 struct Map stage[2]; は2要素しかないので、stage[2] は範囲外です。 十分な要素数を確保しないといけません。 #include <stdio.h> #define GYO 10 #define RETU 10 struct Map{ int map[GYO][RETU]; }; int main(void){ int i, j; struct Map stage[3]; struct Map *pstage; stage[0]=(s...
by みけCAT
5日前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数を受け取らない関数について
返信数: 3
閲覧数: 150

Re: 仮引数を受け取らない関数について

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 ([]で囲まれていない code や /code はcodeタグではありません) input()で使ったnumをgoukei()でも使うためにはどうすればいいでしょうか 「仮引数を受け取らない」という条件なので、グローバル変数を使うしかなさそうですね。 #include <stdio.h> /* グローバル変数 input関数やgoukei関数ではローカルでnumが宣言されていないため、これが参照される...
by みけCAT
5日前
フォーラム: C言語何でも質問掲示板
トピック: 弾の発射がどうもうまくいきません、、、
返信数: 8
閲覧数: 283

Re: 弾の発射がどうもうまくいきません、、、

スペースを長押しすると弾を保持?みたいな状態で、放すと飛びます、その弾が飛んでいるときにもう一度スペースを押すと弾が消えてしまい、もう一度振り出し(つまり一発しか打てないということ)になってしまいます。 書いた通りに修正して実行してみましたが、再現せず、 予想通りスペースキーを押しっぱなしにすることで弾が連射され、 弾を20個出したところで配列に空き要素が無くなり、弾が止まりました。 (弾が画面外に抜けると、空き要素が再び生まれ、弾が再び発射されました) screenshot.png スペース長押・好きな時に弾を連射したいのですがどうしたらいいでしょうか、、、 なぜ思った通りの動作にならない...
by みけCAT
6日前
フォーラム: C言語何でも質問掲示板
トピック: 弾の発射がどうもうまくいきません、、、
返信数: 8
閲覧数: 283

Re: 弾の発射がどうもうまくいきません、、、

~Flagにiをつければいいのでしょうか いいえ。 「配列を走査し、空いている場所を見つけたらその添字をiに設定」、というのはどういうことでしょうか、 if (CheckHitKey(KEY_INPUT_SPACE) == 1) { i = -1; for (int p = 0; p < Tama; p++) // 配列を走査し { if (PienTamaFlag[p] != 1) // 空いている場所を見つけたら { i = p; // その添字をiに設定 break; } } if (i >= 0) { int Pw, Ph, Tw, Th; GetGraphSize(PienGrap...
by みけCAT
6日前
フォーラム: C言語何でも質問掲示板
トピック: C言語初心者です。コードの作り方がわかりません。
返信数: 3
閲覧数: 185

Re: C言語初心者です。コードの作り方がわかりません。

適解かどうかは一旦置いといて、まずは動くことを目指して実装してみるといいと思います。

また、このreadline関数は最初のコードに合わないようですね。
最初のコードではreadline関数に引数を3個渡していますが、#3のreadline関数の引数は2個しかありません。
また、第1引数の値を使うのであれば、未初期化の自動変数の値(不定) newsid を渡すのはまずいでしょう。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: C言語初心者です。コードの作り方がわかりません。
返信数: 3
閲覧数: 185

Re: C言語初心者です。コードの作り方がわかりません。

エラーメッセージの通り、readline 関数と response 関数が宣言も定義もされていないため、エラーになっています。
使用する場所の前で宣言または定義をし、どこか(別の翻訳単位でも可)で定義をしないといけません。

(readline 関数については以下の有名なライブラリ関数もありますが、引数が違うので関係無さそうです)
readline(3) manページ
readline(3): line from user with editing - Linux man page
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 弾の発射がどうもうまくいきません、、、
返信数: 8
閲覧数: 283

Re: 弾の発射がどうもうまくいきません、、、

また、ここを修正した場合、スペースキーを押している間毎フレーム弾が出てしまいますね。
前のフレームにおけるスペースキーの状態を保持し、前のフレームでは押されていなかった場合のみ弾を出す、
のような処理を入れると動作が改善するかもしれません。
もちろん、毎フレーム弾を出したいのであればこのままでもいいかもしれません。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 弾の発射がどうもうまくいきません、、、
返信数: 8
閲覧数: 283

Re: 弾の発射がどうもうまくいきません、、、

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 offtopicタグはcodeタグではありません。 if (CheckHitKey(KEY_INPUT_SPACE) == 1) { int Pw, Ph, Tw, Th; GetGraphSize(PienGraph, &Pw, &Ph); GetGraphSize(PienTamaGraph, &Tw, &Th); // 弾iの位置をセット、位置はボール君の中心にする PienTamaX[i] = ...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 課題を教えてください
返信数: 4
閲覧数: 218

Re: 課題を教えてください

シェルスクリプトで書いてみました。
こっちの方がシンプルでいいかもしれません.

コード:

#!/bin/sh
sed -e "s/char/char/gi" m_sort.c > m_sort2.c
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 弾を連射するサンプルプログラムを教えてください
返信数: 2
閲覧数: 128

Re: 弾を連射するサンプルプログラムを教えてください

ここにあります。
龍神録プログラミングの館
自機からの弾の発射は17章、弾幕は27章などです。
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: 課題を教えてください
返信数: 4
閲覧数: 218

Re: 課題を教えてください

課題は「プログラムを作成せよ」であり、言語は指定されていないようなので、Perlで書いてみました。 やりたいことに合わせて適切な言語や手段を選ぶのも、重要なスキルだと思います。 #!/usr/bin/perl use strict; use warnings; open(IN, "< m_sort.c") or die "input file open error\n"; my $data = ""; while (<IN>) { $data .= $_; } close(IN); $data =~ s/char/char/ig; open(OUT, "> m_sort2.c") or die...
by みけCAT
1週間前
フォーラム: C言語何でも質問掲示板
トピック: インラインアセンブラ - 引数合っているはず
返信数: 7
閲覧数: 338

Re: インラインアセンブラ - 引数合っているはず

文字列やローカル変数のアドレス(64ビット)の下位16ビットだけをdxレジスタに入れて何をしたいのかよくわかりませんが、
とりあえず int 0x2 というのは不自然に思えます。
0から作るOS開発 割り込みその1 割り込みとIDTとGDT
によると、x86の割り込みベクタの2番はNMIとなっています。
NMIは致命的なハードウェアエラーを表すのに使われるため、「落ちた」と判定されるかもしれません。
他の場所と同様に int 0x21 としたかったのではないでしょうか?
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: Rangeオーバーの原因がわからない
返信数: 3
閲覧数: 257

Re: Rangeオーバーの原因がわからない

いいえ。
i<=0 を加えてしまうと、i = 0 の時しか判定しなくなってしまいます。 (iは0からカウントアップするので)
また、既に i < al.Count という条件があるので、 i<=board.GetLength(0) を加えても意味がないでしょう。

アクセスする場所が範囲外でないという条件にしたいので、
i + 4 < al.Count や m + 4 < al.Count が使えそうと思われます。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: Rangeオーバーの原因がわからない
返信数: 3
閲覧数: 257

Re: Rangeオーバーの原因がわからない

al.Count は rowMax や colMax と同じ8になるはずですが、
例えば i = 7 の時に board[i + 1, m] にアクセスしたり、
m = 7 の時に board[i, m + 1] などにアクセスしてしまうと、範囲外になります。
アクセスする場所に合わせた変数の範囲チェックを追加するべきです。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 文字列から文字を探すプログラム
返信数: 3
閲覧数: 274

Re: 文字列から文字を探すプログラム

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

コード:

int x, c;
scanf("%c", &c);
これは未定義動作になります。
%c は char 型の変数へのポインタを要求するので、変数 c の型は char にするべきです。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: ChangeWindowMode(FALSE); の後に画像表示できない
返信数: 2
閲覧数: 207

Re: ChangeWindowMode(FALSE); の後に画像表示できない

ChangeWindowMode関数はロードした全てのグラフィックハンドルを削除するので、
呼び出した後画像を読み込み直す必要があります。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: C++の宿題が分からないです。(時間差についての問題)
返信数: 3
閲覧数: 307

Re: C++の宿題が分からないです。(時間差についての問題)

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

まずは何らかの方法で「指定の時刻」を指定しないといけないですね。
「指定の時刻」を指定したら、現在時刻と「指定の時刻」それぞれを一旦「基準の時刻から何分」で表して引き算し、
それをまた「〇日と〇時間と〇分」に変換する、という方法があります。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: C++の宿題が分からないです。(時間差についての問題)
返信数: 3
閲覧数: 307

Re: C++の宿題が分からないです。(時間差についての問題)

何をお願いするのですか?
課題の丸投げは禁止です。
フォーラムルールを読み、従ってください。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 難しいです。助けてください
返信数: 2
閲覧数: 294

Re: 難しいです。助けてください

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 例えば、average関数で ・変数sumを定義する ・day[0]を二重に足さないようにする ・配列ではなく要素数をループの条件に使う ・計算結果を返す とし、main関数ではif文の中でもaverage関数を呼ぶようにすると、とりあえず動作は改善するでしょう。 #include<stdio.h> #define NUMBER 7 int day[NUMBER]; int average(void);...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 569

Re: 学校の課題2

%c 指定子は、1文字(もしくは文字数を指定した場合、指定された数の文字)を読み込むためのものです。 文字列を読み込むには、%s 指定子を使うといいでしょう。 また、 fscanf_関数 で文字(%c)や文字列(%s)を読み込む際は、読み込み先の後にunsigned型で読み込み先のバッファサイズを指定しないといけません。 バッファオーバーフローを防ぐため、%s 指定子を使う際は読み込む最大バイト数を指定するべきです。 最大バイト数は、終端のナル文字の分を除くためバッファサイズ-1までにするべきです。 さらに、式中の配列は(sizeof演算子や単項&演算子に渡す場合などの例外を除いて)先頭要素へ...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題 文字配列
返信数: 9
閲覧数: 359

Re: 学校の課題 文字配列

配列の要素数だけでなく、jのループの上限も増やす必要があります。
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題2
返信数: 11
閲覧数: 569

Re: 学校の課題2

fp = fopen_s(&fp,"bodydata.dat", "r"); if (fp != 0) { fprintf(stderr, "read file error\n"); exit(1); } この部分が間違っています。 fopen_s関数 は、正常終了した場合は0、失敗した場合はエラーコードを返します。 この返り値をfpに代入してしまうと、せっかく書き込んでくれたファイルポインタを消すことになってしまいます。 if (fopen_s(&fp,"bodydata.dat", "r") != 0) { fprintf(stderr, "read file error\n"); ex...
by みけCAT
2週間前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題 文字配列
返信数: 9
閲覧数: 359

Re: 学校の課題 文字配列

使っている文字コードは何ですか?
UTF-8の場合、カタカナは1文字を3バイトで表す(厳密には例外があるかも?)ので、
9要素しか無い配列を使うとNUL文字が入る場所がありません。
NUL文字があったときにのみ result = 1; を実行するようになっているので、
この場合9要素しか見ないのであればresultは1にはなりません。
また、inputが9要素しか無く、scanfで読み込む最大のバイト数
(NUL文字を入れるため、最大でバッファサイズより1少ない数に設定するべき)が設定されていないため、
バッファオーバーフローを起こしてまわりのデータを破壊する危険があります。
by みけCAT
3週間前
フォーラム: C言語何でも質問掲示板
トピック: c#
返信数: 1
閲覧数: 133

Re: c#

まずは作りたいものの仕様をはっきりさせるのがいいでしょう。 ・ユーザ1のid、ユーザ1のpwが選択された場合の表示は? ・ユーザ1のid、存在しないpwが選択された場合の表示は? ・存在しないid、ユーザ1のpwが選択された場合の表示は? ・存在しないid、存在しないpwが選択された場合の表示は? ・ユーザ1のid、ユーザ2のpw (ただしユーザ1のpwと同じ) が選択された場合の表示は? そもそもidが存在するかどうかでメッセージを変えないべきだという主張もありますが… IPA ISEC セキュア・プログラミング講座:C/C++言語編 第7章 データ漏えい対策:親切すぎるエラーメッセージの回避
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 乱数でいくつかの弾を同時に落としたい
返信数: 4
閲覧数: 409

Re: 乱数でいくつかの弾を同時に落としたい

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 複数の弾を落とすには、複数の弾の情報を管理しないといけません。 例えばこんな感じでしょうか? (ノーチェックなのでもしかしたら間違っているかもしれません) #include <stdio.h> #include <stdlib.h> #include <handy.h> #define NUM_TAMA 5 int main() { int i; int x[NUM_TAMA]; int y[NUM_T...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 13
閲覧数: 627

Re: 学校の課題

box さんが書きました:
1ヶ月前
lmsq関数に、meanxやmeanyで計算した
mxやmyの値を渡さなくていいんですか?
それほど重い処理じゃないでしょうし、lmsq関数内で(meanxやmeanyで)計算しなおせば、
値を渡す必要は無いでしょう。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 13
閲覧数: 627

Re: 学校の課題

このコメントアウトした部分を削除します。

コード:

float mx, my, /* * pa, * pb, */ u = 0, v = 0 /* , x[10], y[10] */ ;
ところで、mx, my の値も未初期化のまま使われていますね…よくないですね…
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: プロットした円の消去
返信数: 1
閲覧数: 279

Re: プロットした円の消去

Circle(x,y,5,6)の前に system("cls")を書きいれたのですが、 'system’ undefindというエラーが出ました。 関数なのに定義が必要なのですか? それとも別の方法をとるべきですか? 使う関数は定義が必要ですね。 定義が無いとその関数を呼んだときに何をすればいいのかわからなくなってしまいます。 「なのに」というのは意味がよくわかりません。 system関数の定義は標準ライブラリにあるはずなので、自分で定義する必要はありません。 今回は宣言が無いのが問題ですね。 system関数 の宣言はstdlib.hに含まれるので、コード先頭に #include <std...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 水平投射されるボールのアニメーション
返信数: 3
閲覧数: 349

Re: 水平投射されるボールのアニメーション

添付写真が実行結果です。 https://photos.google.com/photo/AF1QipNj4i5kXpi_Q-MvwfhuJDrTyubDhSV6syMcTF8w 指定のURLにアクセスするとログイン画面が表示され、ログインしてみると404が表示されました。 ユーザー登録してログインしていただくと、ファイルを添付できるようになります。 コードはまだきちんとチェックしていませんが、とりあえず if(y=0) //もしボールが床に着いたらcが増えていく { c=c+1; while(c!=0) { a=a*0.8; //a=0.8^c --c; } } という部分は、 ・if文の...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 13
閲覧数: 627

Re: 学校の課題

学校でやらされている初心者 さんが書きました:
1ヶ月前
どうすればよいでしょうか。
・boxさんの指摘通り余計な代入を消す
・lmsq関数の定義で何故か消えている引数を復活させる
・lmsq関数内で、初期化せずに値を参照しているローカル変数を消す (復活させた引数を参照できるようにする)
・lmsq関数の中のmean関数の宣言を消す (無害だけど、使われていないし紛らわしいので)
・main関数の中のlmsq関数の宣言を消す (lmsq関数の定義を不適切に書き換えたのに気づきにくい害が出ていると考えられるので)
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 学校の課題
返信数: 13
閲覧数: 627

Re: 学校の課題

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 全角の[]を使った[code]や[/code]は、BBCodeのcodeタグではありません。 また、大変残念ながら、この掲示板は[​i]を対策なしで書くと、 終了タグが無くても斜体タグとして解釈されてしまう不親切設計となっています。 codeタグの外で書く場合は、できればU+200Bを入れたり、[ i ] のように空白を入れるなどの対策をお願いします。 エラーについては、確かに a = lmsq(x, ...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 平均頂点間距離
返信数: 1
閲覧数: 313

Re: 平均頂点間距離

・double length[N][N];//頂点間距離 において、未初期化のNの値が使われているため、未定義動作になります。  この行は fscanf(fp, "%d %d", &N, &M); /* ファイルからN, Mを読み込む*/ の次に移動するべきです。 ・fflush(stdin); は未定義動作になります。この後標準入力は使っていないようなので、削除するべきです。 ・fopenの返り値がNULLかどうかをチェックしていないため、ファイルオープンに失敗すると危険です。  fopenの直後にチェックを追加し、NULLだったら処理を終了するようにするといいでしょう。 ・/* 隣接行列の...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列
返信数: 2
閲覧数: 371

Re: 配列

コード:

num + i - 1
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列
返信数: 1
閲覧数: 151

Re: 配列

範囲外にアクセスすることになり動作は保証されませんが、
コードゴルフ的(指定の環境で条件を満たせばOK)には

コード:

array[]={10,5}
で指定の出力が得られることがありそうですね。
https://wandbox.org/permlink/CDXodniFgukkejcv
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 数列
返信数: 4
閲覧数: 434

Re: 数列

提示されたコードは } が足りないため、そもそもコンパイルエラーになって値の入力すらできないはずです。
また、もし実行できたとしても、

コード:

sum += (1/sign);
は整数のゼロ除算なので強制終了の原因になりますね。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 2
閲覧数: 417

Re: じゃんけん

このコードは じゃんけん - プログラマ専用SNS ミクプラ で提示したものと大部分が同じですね。 hand_com の計算のバグが修正してあるのは素晴らしいです。 ただ、お礼を言うのが先ではないでしょうか? フォーラムルール より引用 禁止行為について 以下の行為を禁止行為として定めます。 (中略) "C言語何でも質問掲示板"でのみ適用される事項 (中略) 質問後、お礼を言わずにトピックを閉じる、または去る行為 義務行為 "C言語何でも質問掲示板"でのみ適用される事項 トピックを立て、解決した場合は「解決しました」とだけ書かず、どうやって解決したか他の人に分かるように書いて  からトピックを...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: じゃんけん
返信数: 2
閲覧数: 416

Re: じゃんけん

ループを使ってあいこだったら最初からやり直すようにする、というのが一つの手でしょう。 #include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) { int hand_com,hand_YOU; srand(time(NULL)); for(;;) { rand(); hand_com = (rand()%(3)); printf("*** じゃんけんします***\nじゃんけんぽん!(1:グー、2:チョキ、3:パー ):"); scanf("%d",&hand_YOU); if(hand_YOU<1 || hand_...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 平均と標準偏差を求める
返信数: 6
閲覧数: 497

Re: 平均と標準偏差を求める

ヒントの通り、for文の中で入力を読み込みながら和と二乗和を求めるようにするといいでしょう。 #include <stdio.h> int main(void) { int i; double wa = 0, zizyouwa = 0; for (i = 1; i <= 10; i++) { double x; if (scanf("%lf", &x) != 1) { fputs("read error\n", stderr); return 1; } wa += x; zizyouwa += x * x; } /* 平均と標準偏差を求める */ return 0; }
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: Atcoder 実行時エラー
返信数: 3
閲覧数: 457

Re: Atcoder 実行時エラー

minの扱いが不適切です。

例えば

コード:

2 100
2
1
という入力を与えると、 m[j] < m[k] を満たす j, k の組み合わせが存在しないため、
未初期化の自動変数minの値(不定)が計算に使われ、未定義動作になります。
例えば、minの初期値がたまたま0だった場合、
整数のゼロ除算により強制終了(ランタイムエラー)になるかもしれません。

どんな入力が来ても、sum の計算の前に m_i の最小値が min に入るよう、
プログラムを修正するといいと思います。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 平均と標準偏差を求める
返信数: 6
閲覧数: 497

Re: 平均と標準偏差を求める

配列を使わずに値をバラバラの変数に読み込むのであれば、for文の中身は空でいいでしょう。
for文は無視し、

コード:

s = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10;
のようにすれば和を求めることができます。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 平均と標準偏差を求める
返信数: 6
閲覧数: 497

Re: 平均と標準偏差を求める

double 型の値を scanf で読み込むには、 %f ではなく %lf を使います。
%f は float 型の値を読み込むための書式です。
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ユニバーサル文字名から数値の変換
返信数: 2
閲覧数: 413

Re: ユニバーサル文字名から数値の変換

UTF-8の形式に基づいて変換をするのがいいでしょう。 UTF-8 - Wikipedia #include <cstdio> #include <string> #include <cstring> long utf8_to_int(const char* data) { if ((data[0] & 0x80) == 0x00) { return data[0]; } else if ((data[0] & 0xe0) == 0xc0) { return ((data[0] & 0x1f) << 6) | (data[1] & 0x3f); } else if ((data[0] & 0x...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 標準偏差がマイナスになってしまいます
返信数: 6
閲覧数: 569

Re: 標準偏差がマイナスになってしまいます

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 m=sqrt(sigma*sigma); この部分ですが、2乗して平方根をとっても同じ値になりますよね。 (sigmaは負にはならないはずなので) m=sqrt(sigma); とするべきでしょう。 さらに、書式が%20.19fとなっているので、小数点以下が19桁出力されてしまいます。 32.696804のように表示するには、%.6fとするといいでしょう。 他の回答者さんたちへ この質問者さんのコードで...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 評価値,整数値
返信数: 4
閲覧数: 550

Re: 評価値,整数値

ごめんなさい、間違えました。 5~8の説明においては「C言語で」と書かれているのに対し、1~4の説明では「C言語で」的なことは書かれていません。 また、この質問の他の部分にも「C言語」という条件はありません。 したがって、1~4の説明については、C言語以外も考えるのが自然だと考えられます。 実際、例えばJavaScriptでは、条件式 1 == 2 の評価値は false となり、これは0でも整数でもありません。 よって、 3.正しい。 は、「間違っているか微妙」ではなく、間違いだと確定できます。 実際、このコード console.log(1 == 2); // 1 == 2 の評価値 con...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: switch-case
返信数: 1
閲覧数: 446

Re: switch-case

C言語においては、 比較演算子 (==、!=、<、<=、>、>=) 、論理AND演算子(&&)、論理OR演算子(||)、論理NOT演算子(!)の評価結果は 真のとき1、偽のとき0となるので、例えば #include <stdio.h> int main(void) { int value = 42; switch (0 <= value && value < 60) { case 1: puts("D"); break; case 0: puts("Dではない"); break; } return 0; } のように書くことで #include <stdio.h> int main(void)...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 評価値,整数値
返信数: 4
閲覧数: 550

Re: 評価値,整数値

2.正しい。 確かに、少なくともこれは間違いですね。 ここでの「条件式」の定義は ただし,文中の「条件式」とは,関係演算子(==, >, !=など)や論理演算子(&&, ||, !)を用いた式のこととする. となっており、すなわち「指定の演算子が使われている」というだけですね。 したがって、例えば (1 == 1) + 1.5 も(==演算子が使われているので)「条件式」であり、真とみなせますが、 その評価値は整数ではありません。 3.正しい。 これは間違っているか微妙ですね。 例えば、0.0 (1 == 2) + 0.0 や、(void*)0 1 == 2 ? malloc(1024) :...
by みけCAT
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: エラーコードの解決方法
返信数: 1
閲覧数: 421

Re: エラーコードの解決方法

わからないことは、まずググってみるといいと思います。
C28251 - Google 検索

例えばこれとかかな?
warning C28251: 'WinMain' に対する整合性のない注釈: このインスタンスには 注釈なし が含まれます。 - 小さい頃はエラ呼吸
(引数の型の前におまじないを書くといいかも)
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字列から数字を抽出する方法
返信数: 2
閲覧数: 558

Re: 文字列から数字を抽出する方法

1. 作るプログラムの仕様を決める

例えば、
・抽出元の文字列はどこから入力させるか?
・数字はどのくらいの範囲(大きさ)まで対応するか? (例えば4桁?9桁?18桁?もっと?負の数は?)
・認める数字の範囲は? (全角アラビア数字は?漢数字は?ローマ数字は?その他の言語での数字や数を表す言葉は?)
・「大きい順」とは?数値として見た時の大きさ?辞書順?データサイズが大きい順?
・出力はどこに、どのような書式でする?
など。

2. 決めた仕様に基づき、プログラムを作る

3. 作ったプログラムをテスト・デバッグする

というように作ればいいと思います。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: if文を使った組み合わせ(?)の問題です
返信数: 2
閲覧数: 524

Re: if文を使った組み合わせ(?)の問題です

1. なしの個数だけを考えた時、最大何セット作れるかを考える 2. ももの個数だけを考えた時、最大何セット作れるかを考える 3. 1と2のセット数のうち、少ない方(多くない方)が実際に作れるセット数である 4. 全部の果物の数からセットを作るのに使う果物の数を引くと、余った果物の数が求まる #include <stdio.h> int main(void) { int a,b,c,d; printf("なし> "); scanf("%d", &a); printf("もも> "); scanf("%d", &b); /* なしで何セット作れるかを求める */ c = a / 2; /* ももで...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルされていない例外というエラー
返信数: 2
閲覧数: 493

Re: ハンドルされていない例外というエラー

このGameクラスでは、コンストラクタでmodeに1を代入しています。 さらに、Update関数およびRender関数では、それぞれmodeが1の時、 同じUpdate関数やRender関数を呼ぶようになっています。 そのため、Gameクラスのインスタンスを作成し、そのままUpdate関数またはRender関数を呼び出すと、 無限再帰になり、スタックオーバーフローで強制終了する可能性があります。 特に、Render関数ではRender関数の呼び出しの後に処理が続いているため、 末尾再帰最適化ができず、スタックオーバーフローになる可能性が高いと考えられます。 従って、コードを全部消さなくても、こ...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ハンドルされていない例外というエラー
返信数: 2
閲覧数: 493

Re: ハンドルされていない例外というエラー

コードを全部消しましょう。 コードを全部消して、例えば #include <Windows.h> int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ) { return 0; } みたいな状態にすれば、エラーは出なくなると思います。 (これでもエラーが出るなら、おそらく開発環境に問題があるでしょう) コードを消してエラーが出なくなったら、少しずつ消したコードを復活させていきましょう。 ある場所のコードを復活させた時にエラーが出るようになったら、そこに間違いがあるかもしれません。 (ただし、間違いは別の場所かもしれませんし、複数かもしれませ...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: while文
返信数: 1
閲覧数: 493

Re: while文

課題の丸投げは禁止です。 フォーラムルール を読み、従ってください。 宿題の質問は OK! でも丸投げは NG! 宿題の文章だけ書いて「誰か答え教えて下さい」は× 課題の丸投げ(問題文だけ書く事)は禁止です。 ただし上のように記載してもらえればこれは当てはまりません。 自分でどこまでやったのか、今どこが解らないのかを明確にして下さい。 さっぱり解らず、手も足も出ない時は、その事を明記の上、 勉強方法からアドバイスを受けましょう。 どうしても提出期限の関係で答えが欲しい時はその事をしっかり明記の上、 回答者さん達の理解を求めるようにしましょう。 また、解決した時は、「解決しました」とだけ言って去...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 1
閲覧数: 640

Re: 条件

例えば以下のようにすると条件を満たします。

(1)

コード:

puts(n>0?"pos":n<0?"neg":"zero"));return 0;if(0
(2)

コード:

;
(3)

コード:

0
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 型string をdoubleに変える方法
返信数: 2
閲覧数: 698

Re: 型string をdoubleに変える方法

これはC#ですか? とりあえず Wandboxにコピペして実行を試み てみました。 結果 prog.cs(10,23): error CS0029: Cannot implicitly convert type `string' to `double' Compilation failed: 1 error(s), 0 warnings わからないことは、ググることでわかることがあります。 今後は、まずはこれを試してみるといいと思います。 C# string double 変換 - Google 検索 例えばこれが見つかりました。 文字列を数値に変換する、数値を文字列に変換する - .NET ...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 条件
返信数: 8
閲覧数: 937

Re: 条件

確かにこういうのはコンパイラに聞くのが一番ですね。
BqXSrc - Online C Compiler & Debugging Tool - Ideone.com
出力は

コード:

ABCEF
間違いは…例えばscanf()の返り値をチェックしていないこととかでしょうか?
本当は num != 0 じゃなくて num != 1 と書きたかったとか、
num = 0 と書く実験がしたかったなどの可能性もありますし、
何が間違いかはこれだけではわかりませんね。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: do while文について
返信数: 1
閲覧数: 687

Re: do while文について

scanfに空白文字(改行文字を含む)を無視してもらうため、%cの前に空白を入れるといいでしょう。

コード:

scanf(" %c", &input);
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: std::vector<T> のイテレータを関数の戻り値として使いたい
返信数: 2
閲覧数: 705

Re: std::vector<T> のイテレータを関数の戻り値として使いたい

よくわかっていないですが、std::vector<T>::iteratorの前にtypenameを加えるといいかもしれません.

typenameなし

typenameあり
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 新・明解 C言語 演習11-3を解けなくて困っています。
返信数: 2
閲覧数: 775

Re: 新・明解 C言語 演習11-3を解けなくて困っています。

Bullsさんへ ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 警告やノートの方は、 昔のコードに対して、 今の規格だと「何が起こるかわからない」けど、 今、昔の解釈でコンパイルできないと、困りますから、昔風の解釈で通しますが、 将来は保証しませんよ、 ぐらいみみ ? 「ループの中で代入をするというのは不自然だ。本当は比較をしたいんじゃないの?」 という意味ですね。 「いやここは代入で合ってる!」という場合は、 while ((*d++ = *s+...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ファイル操作についてです。
返信数: 2
閲覧数: 694

Re: ファイル操作についてです。

まず、dirent構造体は使いまわしされることがあるので、 文字列へのポインタをそのまま代入するのではなく、新しい領域を確保して文字列をコピーするべきです。 そして、ファイル名としてfile_nameではなくfile_name[​i]を使用して処理をするべきです。 また、file_name[​i]にはファイル名しか含まれていないので、 ディレクトリ名を追加してあげないと対象のディレクトリではなくカレントディレクトリからファイルを読もうとしてしまいます。 さらに、下のfor文においてfile_name[cnt]は初期化されていないので、アクセスしてはいけません。 最後に、操作を続行する前にope...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 式と演算子の問題です
返信数: 8
閲覧数: 1047

Re: 式と演算子の問題です

「果物の個数の合計は100個未満」という条件があり、果物の個数は負にはならないはずなので、 果物の個数は7ビット(0~127)で表すことができます。 したがって、C言語のint型は少なくとも-32767~32767の整数を格納することができるので、 変数priceの下位1バイト(8ビット)に1個の果物の個数を、 その次の1バイトにもう1個の果物の個数を格納することができます。 3個目の果物の個数は、xに読み込んでそのまま使えばいいでしょう。 #include <stdio.h> int main(void) { int x, price = 0; printf("りんご> "); scanf(...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 式と演算子の問題です
返信数: 8
閲覧数: 1047

Re: 式と演算子の問題です

普通に果物の個数を合計すればいいと思います。 「変数宣言を追加してはならない」という条件があったのですね。考え直します。 #include <stdio.h> int main(void) { int x, number = 0, price = 0; printf("りんご> "); scanf("%d",&x); number=number+x; price=price+x*80; printf("みかん> "); scanf("%d",&x); number=number+x; price=price+x*50; printf("もも> "); scanf("%d",&x); numb...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 1~11を表示する線形リスト
返信数: 5
閲覧数: 878

Re: 1~11を表示する線形リスト

compound literal を使うといいでしょう。 また、配列の要素は十分な数確保しないといけません。 【C言語】複合リテラル【完全解説、生存期間、注意点、構造体/配列リテラル】 | MaryCore List listdata[11]; for(int i = 0; i < 10; i++) { listdata[i] = (List){&listdata[i + 1], 1 + i}; } listdata[10] = (List){NULL, 11}; また、メンバに対し1個ずつ代入する方法もあります。 List listdata[11]; for(int i = 0; i < 1...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 1~11を表示する線形リスト
返信数: 5
閲覧数: 878

Re: 1~11を表示する線形リスト

ループ内で p の値を更新していないですね。

p -> next を、 p = p -> next とするといいでしょう。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 標準入力
返信数: 2
閲覧数: 710

Re: 標準入力

さらに、scanfをsscanfに、そのsscanf(元scanf)の引数中の.を,に、変えたほうが良さそうですね。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 標準入力
返信数: 2
閲覧数: 710

Re: 標準入力

まず、全角スペースが入っているようなので、半角スペースに置き換えます。
次に、PythonではなくC言語のソースコードのようなので、拡張子を.pyから.cに変えます。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ガウスの消去法を用いたN元一次方程式を解きたい
返信数: 3
閲覧数: 780

Re: ガウスの消去法を用いたN元一次方程式を解きたい

1. 値を読み込む前に、値を読み込むための領域を確保する 2. 正しい型のポインタをscanfに渡す べきです。 1. は、 printf("N="); scanf("%d",&N); の次に A = malloc(sizeof(*A) * N * N); b = malloc(sizeof(*b) * N); if(A == NULL || b == NULL) return 1; を追加することでできます。 2. は、 scanf("%lf",&ai+j); scanf("%lf",&b+i); をそれぞれ scanf("%lf",ai+j); scanf("%lf",b+i); とするこ...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C#を使って西暦を和暦にするプログラム
返信数: 1
閲覧数: 661

Re: C#を使って西暦を和暦にするプログラム

テンプレートというのはよくわからないですが、
C#での西暦から和暦への変換はJapaneseCalendarクラスでできるらしいです。

西暦と和暦を変換するには?:.NET TIPS - @IT
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: if文の中身教えてください
返信数: 3
閲覧数: 794

Re: if文の中身教えてください

ポイントとなりそうなのが、

・a = 0 の場合の処理に注意!
・2進の内部表現で10進の実数をちょうど表せない場合があり、誤差に注意!

という点ですね。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: if文の中身教えてください
返信数: 3
閲覧数: 794

Re: if文の中身教えてください

if文の中身以前の問題ですね。

・「2解を持つプログラム」とは何か?2解を持つ「か判定する」プログラム?
・scanf は関数であり、そこに代入はできない
・例にはコンマが入っているのに、書式はそれに対応していない
 (例のコンマは入力ではなく出力の可能性があるので、間違っていると断定はできない)
・個人的には、とりあえず関数の最初の { に対応する } を書いておきたい

まずは作るプログラムの仕様 (どのような入力を受け入れ、どのような場合にそれぞれどのような出力をするか)
をはっきりさせましょう。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: データが消えてる
返信数: 4
閲覧数: 856

Re: データが消えてる

あたっしゅ さんが書きました:
2ヶ月前
朝早く目ざめたので、直してみたみみ
このコードは間違っています。
K_iの入力を読む部分が消されており、「下の入力方法に対して」という条件を満たさなくなっています。
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: データが消えてる
返信数: 4
閲覧数: 856

Re: データが消えてる

すると最後に代入したt[n][k],s[n][k]以外の値が0になります。なぜでしょうか... 最後の行で1個しか代入をしておらず(ここで複数個代入していれば、それは全部維持されるはず)、 それぞれの行の入力の前に全部の行のデータを for(j=0;j<n;j++){ t[j] = (int *)calloc(k[i],sizeof(int)); s[j] = (int *)calloc(k[i],sizeof(int)); } という部分で参照を外し、0で初期化された新しいバッファにしているからと考えられます。 ただし、最終的に全行に1要素のバッファへのポインタを代入しているのに、 2番目...
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 9
閲覧数: 853

Re: 配列について

入力を読むようにしてみました。

コード:

#include <stdio.h>

int main(void) {
    scanf("%*s");
    puts("150と6");
    return 0;
}
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 配列について
返信数: 9
閲覧数: 853

Re: 配列について

他に条件は無いですか?

コード:

#include <stdio.h>

int main(void) {
    puts("150と6");
    return 0;
}
by みけCAT
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 文字コード変換
返信数: 2
閲覧数: 959

Re: 文字コード変換

よかったら使ってください。 ソースコードはちゃんと字下げしましょうね。 #include <stdio.h> int main(void) { int c; printf("文字入力> "); scanf("%c", &c); printf("%c の文字コードは %d です。\n", c, c); return 0; } char*型のデータを要求するscanf()の書式%cに対し、int*型のデータを渡しているため、未定義動作になります。 また、提示された実行結果と比べ、「の」と「文字」の間のスペースが抜け、余計な「。」が入っています。 N1570 7.21.6.2 The fscanf...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: VScode + gcc でDXライブラリの環境構築
返信数: 2
閲覧数: 985

Re: VScode + gcc でDXライブラリの環境構築

DXライブラリのファイルはどこに置いていますか?
それは、Intellisenseの設定の

コード:

"C:/8_1_0_i686_w64_posix_dwarf_rt_v6_rev0/"
や、ビルドの設定の

コード:

"-I\\8_1_0_i686_w64_posix_dwarf_rt_v6_rev0",
と合っていますか?
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 手直しをお願いします
返信数: 4
閲覧数: 1160

Re: 手直しをお願いします

自分も修正してみました。 入力の最大文字数指定とエラーチェックを加えた以外、仕様は変えていないと思います。 #include<stdio.h> #include<limits.h> #define STACK_MAX 10 #define INPUT_MAX 99 char stack[STACK_MAX]; int sp=0; /*文字を左から右に1つずつプッシュし、 成功ならば1、失敗ならば0を返す関数*/ //引数は文字であり戻り値は0か1である int push(char c) { if(sp == STACK_MAX){ //スタック内がいっぱいになっている時 return 0; /...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 手直しをお願いします
返信数: 4
閲覧数: 1160

Re: 手直しをお願いします

こんな感じでどうみみ。 例えば {a} という入力において、もとのコードではOKになるのに、あたっしゅさんのコードではERRORになります。 どちらが正しい仕様かはわかりませんが。 (もしかしたら両方正しいといえるかも) さらに、ループの条件として str[ i ]!=0 を指定しているので、 そのループ内で s == '\0' となることは無いはずであり、この判定は無駄でしょう。 また、もとのコードや投稿にはそれを使うべき証拠が見当たらないのに、 環境依存のscanf_s()を使用しているというのはどうなんですかね…? また、例えば { {{{{{{{{{{(}}}}}}}}}} という入...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サイコロのプログラミングについて
返信数: 4
閲覧数: 1173

Re: サイコロのプログラミングについて

参照魚 さんが書きました:
3ヶ月前
合計値を配列の添字にしてカウントすれば良いかと思います。

コード:

a[j] = sum;
↓
a[sum]++;
配列aの初期化も忘れずするようにしましょう。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 手直しをお願いします
返信数: 4
閲覧数: 1160

Re: 手直しをお願いします

あたっしゅ さんが書きました:
3ヶ月前
東上☆海美☆「例によって

コード:

[i]
が抜けてるみみ。
抜けてるのは[​i]ではなくcodeタグです。
誠に遺憾ながらソースコードがcodeタグで囲まれずに投稿され、表示がおかしい場合、
引用画面からコピペするのがいいでしょう。


kwziさんへ

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: サイコロのプログラミングについて
返信数: 4
閲覧数: 1173

Re: サイコロのプログラミングについて

(2) (3) については、 ----------- 「合計」と「回数」の組の構造体を定義する この構造体61個の配列を用意する 配列を、合計→その要素の添字、回数→0に初期化する 1万回の記録それぞれについて、配列のうち、記録した値を添字とする要素の回数を1増やす (2) この時点で、配列のうち添字が30である要素の「回数」が、合計値が30であった回数 配列を「回数」の降順でソートする (3) 一番多かった合計値は、配列の最初の要素の「合計」および、それと「回数」が同じ要素の「合計」 それが何回あったかは、配列の最初の要素の「回数」 ----------- という手順でできるはずです。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 識別子に利用できる記号を複数お教えください
返信数: 3
閲覧数: 1090

Re: 識別子に利用できる記号を複数お教えください

それよりも、1やAのような文字が「記号」に入るかどうかの方が難しい問題かもしれないですね…
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 識別子に利用できる記号を複数お教えください
返信数: 3
閲覧数: 1090

Re: 識別子に利用できる記号を複数お教えください

コンパイラによっては、全角文字も使えることがあります。 https://wandbox.org/permlink/j9v5xoCXCBvZdRDS N1570 6.4.2 Identifiers より引用 identifier: identifier-nondigit identifier identifier-nondigit identifier digit identifier-nondigit: nondigit universal-character-name other implementation-defined characters nondigit: one of _ a b...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 課題を教えてください
返信数: 1
閲覧数: 910

Re: 課題を教えてください

① intではなく、ノードを指すポインタを用意するべきです。 NODE* head; ② intではなく、ノードを指すポインタを用意するべきです。 NODE* tail; ③ 【③】はSTACK*型の変数に代入されているのに、NODE*を代入するというのは不自然ですね。 セミコロンは【③】の後にあるので不要ですが、あっても害は無いです。 (空文が増えるだけ) malloc(sizeof(*tmpstack)) ④ 正しいと思います。 ⑤ これではpop関数内でpop関数を同じ引数で呼び出す(後置インクリメントはインクリメント前の値に評価される) ので、無限再帰になってしまいます。 「ひとつ進め...
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ループと入力 - 複数の数値の合計
返信数: 5
閲覧数: 1139

Re: ループと入力 - 複数の数値の合計

連続でごめんなさい。
5回ならわざわざポインタにする必要も無いですね。

コード:

for (char buf[1024], i = 0; i < 5; i++) {
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ループと入力 - 複数の数値の合計
返信数: 5
閲覧数: 1139

Re: ループと入力 - 複数の数値の合計

よく考えたら、わざわざ別にcntを用意する必要は無かったです。

コード:

for (char buf[1024], *p = buf; p < buf + 5; p++) {
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ループと入力 - 複数の数値の合計
返信数: 5
閲覧数: 1139

Re: ループと入力 - 複数の数値の合計

bufが使用されていますが、宣言がまだ書かれていないようですね。
例えば

コード:

for (char buf[1024], cnt[5], *p = cnt; p < cnt + 5; p++) {
とするといいでしょう。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: ループと入力 - クエリ数と複数クエリの入力
返信数: 2
閲覧数: 933

Re: ループと入力 - クエリ数と複数クエリの入力

大熊 さんが書きました:
3ヶ月前
forの後に何を入れればよいでしょうか。int a=n; a<=0+\;a++だと推測いたしましたが違いました。お教えください。
n回繰り返す場合、

コード:

for (int i = 0; i < n; i++) {
とするのが一般的でしょう。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 1466

Re: 関数の宣言の順番

box さんが書きました:
3ヶ月前
なお、変数の定義は、その関数の最初の実行文の前にすべて
済ませておくことを強くおすすめします。
そうすれば、どんな処理系でも絶対にエラーにはなりませんので。
そんなことは無いでしょう。
存在しない型(その時点で宣言されていない型)を使ったり、予約語を変数として定義しようとしたりしたら、
エラーになる可能性があります。
また、文法上正しくても、大きい配列をローカルの自動変数で確保しようとすると、
スタックオーバーフローで落ちることもあります。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 1466

Re: 関数の宣言の順番

03life さんが書きました:
3ヶ月前
https://atcoder.jp/contests/abc188/submissions/21978449
これです
これは別の問題に提出していますね。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 線形リスト
返信数: 5
閲覧数: 1140

Re: 線形リスト

ruohack さんが書きました:
3ヶ月前
自分が考えたときはsort_listの再帰の脱出条件としてhead==NULLの時に脱出すると制約をつけているため、headがNULLの状態の時remove_one関数が実行されないものだと思っていたのですがこれはいつ呼ばれているのかわかりますでしょうか?
remove_one関数内で head=d->next; としているので、ここでheadがNULLになる可能性がありそうですね。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 1466

Re: 関数の宣言の順番

正解のコード
提出 #21978471 - AtCoder Beginner Contest 188
の提出は確認できましたが、不正解のコードの提出はすぐには確認できなそうです。
もしよろしければ不正解のコードの提出結果のURLを教えていただけますか?

なお、似たコード
提出 #21978422 - AtCoder Beginner Contest 188
はありましたが、これは配列の要素数が少ない値で固定になっており、ここの不正解のコードとは異なります。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 線形リスト
返信数: 5
閲覧数: 1140

Re: 線形リスト

NULLをデリファレンスしてはいけません。
・remove_one関数において、headがNULLであってもfor文の初期化 p=head->next を実行してしまう
・sort_list関数において、pがNULLであっても printf("%d\n",p->student); を実行してしまう
という問題があるので、これらを実行しないようにheadやpがNULLかどうかのチェックを追加するといいかもしれません。
by みけCAT
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 関数について質問です。
返信数: 2
閲覧数: 893

Re: 関数について質問です。

C言語なんですが、func(double x)の関数の中にある、 f= x - cosx - N の式の定数Nに、main関数の中から数値を送ることってできますかね? 定数ならできません。 Nをグローバル変数にすると簡単でしょう。 main関数内やfuncの関数内で、 for(int N=0; N >= 10;N++)で繰り返し処理をしようとしたのですが、同じfの値が返ってきます。 Nを繰り返し処理で10回値を変えて、それぞれ異なったfの値を出力したいのですが... for(int N=0; N >= 10;N++) では、0 >= 10 が偽なので0回の繰り返しになります。 ちなみに、 f...

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