検索結果 16 件

by 03life
2年前
フォーラム: C言語何でも質問掲示板
トピック: Atcoder 実行時エラー
返信数: 3
閲覧数: 4269

Re: Atcoder 実行時エラー

みけCAT さんが書きました:
2年前
minの扱いが不適切です。

例えば

コード:

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

どんな入力が来ても、sum の計算の前に m_i の最小値が min に入るよう、
プログラムを修正するといいと思います。
ありがとうございます!解決できました!!
by 03life
2年前
フォーラム: C言語何でも質問掲示板
トピック: Atcoder 実行時エラー
返信数: 3
閲覧数: 4269

Re: Atcoder 実行時エラー

コピーのミスで #include の #iが抜けています
by 03life
2年前
フォーラム: C言語何でも質問掲示板
トピック: Atcoder 実行時エラー
返信数: 3
閲覧数: 4269

Atcoder 実行時エラー

atcoderの下記の問題を以下のようなコードで書いたところ実行時エラーと不正解になります。 解決方法を教えていただきたいです。 https://atcoder.jp/contests/abc095/tasks/abc095_b --コード nclude <stdio.h> int main(void) { int N,X; int m[1001]; int mMax = 0; int min; int sum = 0; scanf("%d%d",&N,&X); for(int i=0; i<N; i++) { scanf("%d",&m[i]); mMax += m[i]; } for(in...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: Forの中のforとそのforの中の意味についての質問です。
返信数: 4
閲覧数: 4295

Re: Forの中のforとそのforの中の意味についての質問です。

box さんが書きました:
3年前
nに3あたりの小さめの数を設定して、
自分がコンピューターになったつもりで
コードを1行ずつ追いかけてみては?
ありがとうございます。自分でもやってみたのですが、それでもまったくわからず質問させていただきました。
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 6102

Re: 関数の宣言の順番

みけCAT さんが書きました:
3年前
03life さんが書きました:
3年前
https://atcoder.jp/contests/abc188/submissions/21978449
これです
これは別の問題に提出していますね。
あ。。。
提出したらあってました。
本当に申し訳ないです。
ありがとうございました。。
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: Forの中のforとそのforの中の意味についての質問です。
返信数: 4
閲覧数: 4295

Forの中のforとそのforの中の意味についての質問です。

https://atcoder.jp/contests/abc194/tasks/abc194_b この問題で次のような回答をみつけました。 #include<stdio.h> void main(void){ int n,a[1000],b[1000],A_MIN=100000,B_MIN=100000,p=100000,x; scanf("%d",&n); for (int i = 0; i < n; i++) { scanf("%d %d",&a[i],&b[i]); } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++)...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 6102

Re: 関数の宣言の順番

box さんが書きました:
3年前
わからなければそのままでよろしいかと。
なお、変数の定義は、その関数の最初の実行文の前にすべて
済ませておくことを強くおすすめします。
そうすれば、絶対にエラーにはなりませんので。
なるほど。ありがとうございます!次からそうしてみます。
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 6102

Re: 関数の宣言の順番

box さんが書きました:
3年前
それはそのサイトがそう判定してるからでしょう。
ところで関数の宣言じゃないしwww
変数の定義w
ありがとうございます。
言葉間違いなのは僕が悪いんですけど、笑う要素がどこにあるかわからないんですが、、
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 6102

Re: 関数の宣言の順番

正解のコード 提出 #21978471 - AtCoder Beginner Contest 188 の提出は確認できましたが、不正解のコードの提出はすぐには確認できなそうです。 もしよろしければ不正解のコードの提出結果のURLを教えていただけますか? なお、似たコード 提出 #21978422 - AtCoder Beginner Contest 188 はありましたが、これは配列の要素数が少ない値で固定になっており、ここの不正解のコードとは異なります。 https://atcoder.jp/contests/abc188/submissions/21978449 これです
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の宣言の順番
返信数: 9
閲覧数: 6102

関数の宣言の順番

この問題についての質問です。 https://atcoder.jp/contests/abc188/tasks/abc188_b 下の二つのコードの int = i; の順番を変えただけで正解になりました。なぜだか解説をお願いしたいです。 最初が正解のコード、最後が不正解のコードとなります。 正解 #include <stdio.h> int main (void) { int i; int N; scanf("%d",&N); int a[N],b[N]; int sum; for(i=0; i<N; i++) { scanf("%d",&a[i]); } for(i=0; i<N; i++...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の中の各文字の数
返信数: 2
閲覧数: 2984

Re: 文字列の中の各文字の数

/* j = 0, 1, ... , 25 について以下を行う */ for(int j=0; j<26; j++) { /* x を'a'にjを足した値にする (ASCIIのようなアルファベットの文字コードが連続した文字コードの場合、 j番目のアルファベットになる) */ x= 'a'+j; /* 文字列の終わりまで繰り返す */ for(int i=0; str[i]!='\0'; i++) { /* もし、今見ている文字がこのループの前に決めた文字なら */ if(str[i]==x) { /* countに1を加える */ count++; } } /* もし、countが奇数なら ...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列の中の各文字の数
返信数: 2
閲覧数: 2984

文字列の中の各文字の数

atcoderのこの問題についての質問です。 https://atcoder.jp/contests/abc044/tasks/abc044_b この問題を検索しながら作成したのですが、次の部分の意味が全く分からないので教えていただきたいです。 for(int j=0; j<26; j++) { x= 'a'+j; for(int i=0; str[i]!='\0'; i++) { if(str[i]==x) { count++; } } if(count%2!=0) { return 1; } プログラム全文↓ #include <stdio.h> int kazoeru(char *str...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: +=と==について
返信数: 5
閲覧数: 4178

Re: +=と==について

box さんが書きました:
3年前

コード:

x += s[i] == '1';
は、次のifi文と同じ意味を持ちます。

コード:

if (s[i] == '1') {
    x += 1;
}
ありがとうございます!
ifと同じ意味で使えることを覚えておきます!!
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: +=と==について
返信数: 5
閲覧数: 4178

Re: +=と==について

ここ(x += s[​i] == '1';)の意味を教えていただきたいです。 ==演算子は、両辺を比較し、等しければ1、等しくなければ0という結果になります。 この比較結果の値を、+=演算子によってxに加えています。 forのなかのsのあとには []がつきます。 なぜか消えていました [​/i]が無くても、[​i]は斜体タグと認識されてしまいます。 ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、 BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただける と、 見やすくてありがたいです。 ※この記事内の[​i]は、 U+200B を挟むこと...
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: +=と==について
返信数: 5
閲覧数: 4178

Re: +=と==について

forのなかのsのあとには []がつきます。
なぜか消えていました
https://gyazo.com/d980cdd2d4bcd3cf78bc19d4cba66aad
by 03life
3年前
フォーラム: C言語何でも質問掲示板
トピック: +=と==について
返信数: 5
閲覧数: 4178

+=と==について

atcoderのPlacing marblesという問題についての質問です。 https://atcoder.jp/contests/abs/tasks/abc081_a この回答をみてみると ---------------------------------- #include <stdio.h> int main(void) { char s[3]; int x = 0,i; scanf("%s",s); for(i = 0;i < 3;i++) { x += s == '1'; } printf("%d",x); return 0; } -------------------------...

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