###前提・実現したいこと
始めまして
先日プログラミングをはじめたものです。
c#で配列変数を作成し
値が1から100までの乱数ときめて
配列の大きさは10
で実行した10個の乱数を
偶数だったら
string 1に追加
奇数だったら
string 2に追加
としたいです
問題URL
http://csharp.sevendays-study.com/problem4.html#problem5
###発生している問題・エラーメッセージ
エラーメッセージ
未割当のローカル変数が使われましたとOdd,Evenで出ます
###該当のソースコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace prob5_3
{
class Program
{
static void Main(string[] args)
{
Random rnd = new Random();
int [] data = new int[10];
data[0] = rnd.Next(1, 101); data[1] = rnd.Next(1, 101); data[2] = rnd.Next(1, 101); data[3] = rnd.Next(1, 101); data[4] = rnd.Next(1, 101); data[5] = rnd.Next(1, 101); data[6] = rnd.Next(1, 101); data[7] = rnd.Next(1, 101); data[8] = rnd.Next(1, 101); data[9] = rnd.Next(1, 101); int i; // 文字列 i を宣言 string Odd ; // 文字列 Oddを宣言 string Even; // 文字列 Evenを宣言 for (i = 0; i < data.Length; i++) // i は0で初期化 i がa の大きさ未満ならtrue { Console.Write(data[i] + " "); // 配列変数 data[i]と空白を表示 if (data[i] % 2 != 0) // 配列変数 data[i] が偶数で割れないのであれば { int a = int.Parse(Odd); // データ型変換 文字列oddは int 型の変数 aに置き換える Odd += data[i]; // data[i] は奇数の aに代入 } if (data[i] % 2 == 0) // 配列変数 data[i] が偶数で割りきれるのであれば { int b = int.Parse(Even); Even += data[i]; } } Console.WriteLine(); Console.Write(" 奇数 : " + Odd); Console.WriteLine(); Console.Write(" 偶数 : " + Even); System.Threading.Thread.Sleep(100000); } }
}
###試したこと
stringを使って変換作業を試みるもうまくいかないです
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答3件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/05/02 13:52