PDA

View Full Version : ضرب تمام عناصر یک آرایه یک بعدی با طول نا مشخص



t.zeirani
دوشنبه 13 شهریور 1391, 18:58 عصر
سلام به همگی،من یه سری محاسبات انجام میدم بعد اعداد این محاسبات رو میریزم تو یه arraylist حالا میخام تمام عناصرشو تو هم ضرب کنم،نمیدونم چطور اینکارو انجام بدم،تو سایتم گشتم نتونستم چیز به درد بخور پیدام کنم،ممنون میشم اگه کسی راهنماییم کنه،موقع راهنمایی تازه کار بودنم درنظر داشته باشین

مسعود اقدسی فام
دوشنبه 13 شهریور 1391, 19:08 عصر
یه متغیر اعشاری یا صحیح (متناسب با توع لیستتون) تعریف کنید. مثلا p و مقدارش رو یک بذارید. بعد یه حلقه‌ی تکرار بذارید و همه‌ی عناصر رو یکی یکی در p ضرب کنید. بعد از حلقه مقدار p برابر حاصلضرب عناصر آرایه می‌شه.

harani
دوشنبه 13 شهریور 1391, 19:09 عصر
اگر آرایتون از جنس مثلاً double میشه از کد زیر استفاده کنید .

double resultproduct(){//d
double pro = 1;//a

foreach (Double numbers in arraylist)//a
{
pro *= numbers; //t
}
return pro;//k
}

t.zeirani
دوشنبه 13 شهریور 1391, 19:51 عصر
دوستان خیلی ممنون از راهنماییاتون مشکلم حل شد،فقط دلیل اینکه مقدار pro یک در نظر گرفته میشه چیه؟

harani
دوشنبه 13 شهریور 1391, 19:54 عصر
چرا که بقیه اعداد در این عدد ضرب و ذخیره میشوند پس باید مقدار 1 را بگیره .

مسعود اقدسی فام
دوشنبه 13 شهریور 1391, 20:05 عصر
دوستان خیلی ممنون از راهنماییاتون مشکلم حل شد،فقط دلیل اینکه مقدار pro یک در نظر گرفته میشه چیه؟

شما در هر مرحله عدد جدید رو در حاصلضرب اعداد قبلی ضرب می‌کنید. اولین عدد عددی قبل از خودش نداره. پس pro یک قرار داده می‌شه تا اولین عدد با ضرب شدن در اون بدون تغییر داخل pro قرار بگیره و برای مرحله‌ی دوم و ضرب عدد دوم آماده بشه.

tooraj_azizi_1035
دوشنبه 13 شهریور 1391, 20:29 عصر
using System;
using System.Linq;

class Program
{
static void Main()
{
System.Collections.ArrayList nums = new System.Collections.ArrayList(4);

nums.Add(1);
nums.Add(2);
nums.Add(3);
nums.Add(4);
nums.Add(5);

// Apply OfType() to the ArrayList.
int result=nums.OfType<int>().Aggregate((a, b) => b * a);

// 1 * 2 = 2
// 2 * 3 = 6
// 6 * 4 = 24
// 24 * 5 = 120
Console.WriteLine(result);
}
}