PDA

View Full Version : مبتدی: خاندن اعداد و سرت كردن آن



armin20
سه شنبه 03 آذر 1388, 11:54 صبح
بازم سلام
حالا اين كجاش ايراد داره؟

ميخام اولش دوتا عدد بگيره
در هم ضرب كنه
به تعداد حاصل ضرب از ورودي عدد بگيره
بعد عدد هارو سرت كنه
بعد چاپ كنه
اساتيد عزيز واقعا ممنون ميشم راهنماييم كنيد

string snum1, snum2, snum3;
int num1, num2, num3;
Console.WriteLine("Enter number of rows: ");
snum1 = Console.ReadLine();
num1 = System.Convert.ToInt32(snum1);

Console.WriteLine("Enter number of columns: ");
snum2=Console.ReadLine();
num2 = System.Convert.ToInt32(snum2);
num3=(num1+num2);

snum3 = System.Convert.ToString(num3);

string[] sarr = new string [snum3];
int[] arr = new int[num3];
for (int i = 0; i < num3; i++)
{
Console.WriteLine("Enter num");
sarr[i] = Console.ReadLine();
arr[i] = System.Convert.ToInt32(sarr[i]);
Console.WriteLine(arr[i]);
}

Console.ReadKey();

armin20
سه شنبه 03 آذر 1388, 12:44 عصر
يه سوال ديگه
اگر بخام عدد و حروه در يك آرايه رو سرت كنم چي؟
شايد يك ايندكس چند تا حرف داشته باشه و يكي از ايندكس هاي ديگه حروف كمتر داشته باشه

كمممك
گيج شدم :عصبانی++:

bghad1
سه شنبه 03 آذر 1388, 13:09 عصر
سلام...خوب شما براي چيدن(سورت كردن) عددهاتون،احتياج به روشهاي سورت كردن(مثل bubble sort,selection sort و...) دارين...

armin20
سه شنبه 03 آذر 1388, 13:22 عصر
سلام...خوب شما براي چيدن(سورت كردن) عددهاتون،احتياج به روشهاي سورت كردن(مثل bubble sort,selection sort و...) دارين...

لطف ميكنيد بيشتر توضيح بديد؟
ممنون

armin20
سه شنبه 03 آذر 1388, 15:43 عصر
:ناراحت:



Number of rows is 4
Number of columns is 3
Program reads 12 (3*4) input elements from the console:

Enter element: abc
Enter element: ace
Enter element: ghi
Enter element: 2*
Enter element: xxy
Enter element: bas
Enter element: 34
Enter element: def
Enter element: cde
Enter element: maxi
Enter element: 12*
Enter element: HELLO



The output is


xxy maxi ghi
def cde bas
ace abc HELLO
34 2* 12*

saed2006
چهارشنبه 04 آذر 1388, 17:21 عصر
از sortedlist استفاده کنید

sky_in_iran
پنج شنبه 05 آذر 1388, 00:49 صبح
سلام دوست عزيز اين كد سورت حبابي ببين جواب كارت و ميده يا نه اگه نه بگو به روش ديگه راهنماييت بكنيم :



static void Main(string[] args)
{
int num1, num2 , m;
Console.Write("number 1:");
num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("number 2:");
num2 = Convert.ToInt32(Console.ReadLine());
int[] number = new int[num1 * num2];
for (int i = 0; i < (num1 * num2); i++)
{
Console.Write("enter number:");
number[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 0; i < number.Length; i++)
{
for (int j = i + 1; j < number.Length; j++)
{
if (number[i] < number[j])
{
m = number[i];
number[i] = number[j];
number[j] = m;
}
}
}
for (int i = 0; i < number.Length; i++)
{
Console.WriteLine(number[i].ToString());
}
Console.ReadKey();
}

armin20
جمعه 06 آذر 1388, 21:26 عصر
ممنون
تا اینجاشو میدونستم
امما میخام آرایم حرف و عدد بگیره بعد با مقایسه کد اسکی فکر کنم سرت کنه:گریه:

sky_in_iran
شنبه 07 آذر 1388, 10:29 صبح
دوست عزيز اگر ميخواي حرف و اعداد تك رقمي بزني كاري نداره فقط آرايه رو به جاي int بزار char و متغير m تبديل كن به char حله مشكلي نداره اما اگه بخواي كلمه وارد كني يا اعداد بالاي 10 براي كلمات مينويسي



if (number[i][0] < number[j][0])
{
m = number[i];
number[i] = number[j];
number[j] = m;
}



البته متغيرات و string تعريف كن (آرايه و M دوتاش بشه string) بعد به جاي if بالا را بزار اما اگه بخواي عددم بهش اضافه كني يه مقدار كارت پيچيده ميشه بايد عدد و تشخيص بدي بعد به int تبديل كني و بعد مقايسه كني اميدوارم بتونم كمكت كرده باشم