閲覧ありがとうございます。
C#を学習している初心者です。
以下の条件のプログラムを作成したいのですが、(4)~(6)までの内容の個数の表示方法がわかりません。(0よりも大きい数と0よりも小さい数を出力することはできています・・・)
具体的に知りたい内容としては【個数を表現するための方法】です。
おそらくCountを使用するのではないかとは思うのですが、どうやって使うか、基本的なことがわからないため、教えていただける方おりましたらご教授いただけますと幸いです。
※参考になるサイトや、こうすれば何個あるかを表現できますといったプログラムの書き方(例として)を教えていただけますと嬉しいです。
■開発環境
visual studio 2019
OS:Windows10
コンソールアプリ(.NET Core)
■問題
実行例に習い、以下のプログラムを作りなさい。
(1)長さ5のint型の配列を作成する。
(2)(1)の各要素に、-10から10までの乱数を代入する。
(3)配列の内容をすべて表示する。
(4)0よりも大きい数が何個あるか表示する。
(5)0よりも小さい数が何個あるか表示する。
(6)0が何個あるか表示する。
■実際に書いたプログラム
using
1using System.Collections.Generic; 2using System.Linq; 3using System.Text; 4using System.Threading.Tasks; 5 6namespace prob5_8 7{ 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 //実行例に習い、以下のプログラムを作りなさい。 13 //(1)長さ5のint型の配列を作成する。→○ 14 //(2)(1)の各要素に、-10から10までの乱数を代入する。→○ 15 //(3)配列の内容をすべて表示する。→○ 16 //(4)0よりも大きい数が何個あるか表示する。 17 //(5)0よりも小さい数が何個あるか表示する。 18 //(6)0が何個あるか表示する。 19 20 Random rnd = new Random(); 21 int[] n = new int[5]; 22 int i; 23 24 25 for ( i = 0; i < 5; i++) 26 { 27 n[i] = rnd.Next(-10, 11); 28 } 29 30 //配列の全件を出力する 31 for ( i = 0; i < n.Length; i++) 32 { 33 Console.Write(n[i] + " "); 34 } 35 Console.WriteLine(); 36 37 //0よりも大きい数が何個あるか表示する 38 Console.Write("0より大きい数:"); 39 40 for ( i = 0; i < n.Length; i++) 41 { 42 if ( 0 <= n[i]) 43 { 44 Console.Write(n[i] + "個"); 45 } 46 47 } 48 49 Console.WriteLine(); 50 51 //0よりも小さい数が何個あるか表示する 52 Console.Write("0より小さい数:"); 53 for (i = 0; i < n.Length; i++) 54 { 55 if ( 0 >= n[i]) 56 { 57 Console.Write(n[i] + "個"); 58 } 59 } 60 Console.WriteLine(); 61 } 62 63 private static void printf(string v, int count_a) 64 { 65 throw new NotImplementedException(); 66 } 67 } 68} 69
コードは ``` と ``` で囲ってくださいインデントされて見やすくなるので。
開発環境を書いてください。
ありがとうございます。
開発環境の追記と、コードのインデントをいたしました。
Visual Studio のバージョンだけでなく、OS, .NET なのか CORE なのかとそのバージョンも書いてください。Windows だろうと思っていたら Mac だったと言うこともありますので。
これ以上何を聞きたいのか理解できません。ここまで自分で書けるなら自分でわかるのでは?
自分で書いたんですよね?
カウンターを追加し (例: int count;)、for ループの前にゼロにセットし、if 文の中でカウント数を増やし (例: count++;)、for ループを抜けたらカウンターの値を表示するようにしてはいかがですか?
あと、ゼロより大きい/小さいというのがゼロを含むのか否かに注意。
> 基本的なことがわからないため、教えていただける方おりましたらご教授いただけますと幸いです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/tutorials/
とりあえず、C#チュートリアルを一通り流してみてはどうでしょう。
> こうすれば何個あるかを表現できますといったプログラムの書き方
これを聞くという事は、まず変数が何なのか、どうやって使うのかを理解してないということになってしまうのですが、まずは変数の使い方からしっかり学習し直した方がよいでしょう。こういうところで答えだけ貰って基礎をすっ飛ばすと、後でまた同じような質問をする事になります。
[1-2. 投稿前に検索し、できるところまで自分でやってみましょう]
https://teratail.com/help/question-tips#questionTips1-2
>>SurferOnWwwさん
ご指摘・アドバイスありがとうございます。
不慣れなもので、OS等の記載が抜けていたので以後気を付けます。
注意点なども教えてくださり参考になりました。
--------------------
>>Zuishinさん
実際に書いたプログラムに関しては自分で書きました。
以前までに実施した問題から順番に取り組んでいたため、そこまでは書けたのですが、個数を数える問題は初めてだったのでやり方がわからなかった次第です。
--------------------
>>radianさん
参考サイトを教えてくださりありがとうございます。
勉強に活用したいとおもいます。
変数の扱いがしっかりできると他が上手くできそうなので、学習をより重点的に行いたいと思います。
> 個数を数える問題は初めてだったのでやり方がわからなかった次第です。
これはあなたの知識だけで解ける問題ですが、考えるのではなく覚えるというハードな方法を選びましたね。
プログラミングできるようになるまでに人の数十倍時間のかかる方法ですが、選ぶのは自由です。
ただし、エンジニア向けの掲示板である teratail で同様の質問を繰り返すのであれば、不愉快な思いを何度もすることになる可能性が高いと思います。
よく勘違いされていますが、ここは素人の質問にプロが親切丁寧に教えるところではなく、エンジニアなどのプログラミングをする人たちが互いに情報交換をする場です。回答者だけではなく、質問者もプログラマーという前提なんですよ。
だから質問フォーマットも、一般では使われないマークダウン形式が採用されていて難しかったでしょう?
知識が足りない初心者の質問は歓迎されますが、変数やループや条件分岐の使い方がわからない上に努力する気もない、あるいは努力したのにわからないというのではプログラマーにはなれません。
プログラマー用の掲示板ではなく、知恵袋などのような一般人向けの掲示板の方が楽だと思いますよ。
回答2件
あなたの回答
tips
プレビュー