2016-06-20 8 views
0

3つの配列を作成する必要があります。 1つはintで、他は小数です。すべての配列には3つの項目のスペースがあります。 ProductPrice(10進数)配列には製品価格が必要です。 ProductAmount(int)は、製品の量でいっぱいにする必要があります。 ProductTotalPrice(10進数)は、2つの他の配列の項目で実行される乗算の結果で満たされる必要があります。最後に、私はそれを以下に示しますと同じように商品名と合計価格を印刷する必要があります。C#3つの配列を作成し、3つ目の配列を2つの他の配列で埋めてください。

製品1:9.90

製品2:77.0

を製品3:95.50

は、ここにいくつかのようなものです作業コードではありませんが、私はどのようにタスクを完了することができないのか分かりません。

using System; 
class calculation 
{ 
    static void Main(string[] args) 
    { 
     decimal[] productPrice; 
     decimal[] productTotalPrice; 
     productPrice = new decimal[3]; 
     int[] productAmount = { Product_1, Product_2, Product_3 }; 
     productTotalPrice = new decimal[3]; 
     productPrice[0] = 9.90m; 
     productPrice[1] = 77.0m; 
     productPrice[2] = 95.50m; 
     productTotalPrice[0] = productAmount[0] * productPrice[0]; 
     Console.WriteLine(productTotalPrice[0]); 
    } 
} 
+1

あなたはProduct_1の値を設定しましたか?あなたが「働いていない」ことによって何を意味するのですか?それはあなたに間違った答えを与えましたか? – TheProvost

+0

Product_1、Product_2、Product_3はどこですか?それは 'int'でなければならず、乗算の前に割り当てられます。 –

+0

シンプルなforループについて何が間違っていますか? – JeffRSon

答えて

4

この

decimal Product1=9.90 

decimal Product2=77.0 

decimal Product3=95.50 
decimal[] productPrice; 
    decimal[] productTotalPrice; 
    productPrice = new decimal[3]; 
    decimal[] productAmount = { Product1, Product2, Product3 }; 
    productTotalPrice = new decimal[3]; 
    productPrice[0] = 9.90; 
    productPrice[1] = 77.0; 
    productPrice[2] = 95.50; 
    for(int i=0;i<3;i++) 
    { 
     productTotalPrice[i]=productAmount[i] * productPrice[i]; 

    } 
    for(int i=0;i<3;i++) 
    { 
     Console.WriteLine(productTotalPrice[i]); 

    } 
+0

計算とコンソールへの書き込みのループを分離するのはなぜですか? – TheProvost

+1

両方を1つのループで実行できますが、計算と出力を区別するだけです –

+0

名前 'Product_1'は現在のコンテキストに存在しません。以前も同じ問題があったし、何が間違っているのか分からない。 – HateB

0

は私がProduct_1Product_2Product_3のためのいくつかの値を追加してみましょう試してみてください。それぞれ12015010となります。productAmountの名前をproductQuantityと変更してください。金額は価格と少し混乱しています。

それはproductQuantity配列から各要素を取得し、productPrice配列の対応する要素を乗算します:あなたは、あなたのタスクを行うには、次のLINQを試すことができます。最後に結果をproductTotalPriceに割り当てます。

decimal[] productPrice = new decimal[3]; 
productPrice[0] = 9.90m; 
productPrice[1] = 77.0m; 
productPrice[2] = 95.50m; 
int[] productQuantity = { 120, 150, 10 }; 
decimal[] productTotalPrice = productQuantity.Select((x, K) => x * productPrice[K]).ToArray(); 
+0

'int []'に 'Select'の定義が含まれておらず、 'int []'タイプの最初の引数を受け入れる拡張メソッド 'Select'がありませんでした(usingディレクティブまたはアセンブリ参照がありませんか?私は何か間違っているのですか? – HateB

+0

に 'using System.Linq;'が含まれています –

2

あなたがこれを行うにはEnumerable.Zip()を使用することができます。

var productPrice = new [] {1.34m, 5.24m, 12.54m, 16.99m}; 
var productAmount = new [] {4, 2, 6, 1}; 

var productTotalPrice = productPrice.Zip(productAmount, (price, amount) => price*amount).ToArray(); 

Console.WriteLine(string.Join("\n", productTotalPrice)); 
+0

'decimal []'に 'Zip'の定義がなく、 'decimal []型の最初の引数を受け入れる拡張メソッド' Zip ' 'が見つかりました(usingディレクティブまたはアセンブリ参照がありませんか?) – HateB

+0

@HateB Linqを使用するには、コードファイルの先頭に 'using System.Linq;'を追加する必要があります。 –

関連する問題