نمایش نتایج 1 تا 3 از 3

نام تاپیک: پیدا کردن کوچکترین عدد بزرگتر از یک در یک ماتریس دو بعدی

  1. #1

    پیدا کردن کوچکترین عدد بزرگتر از یک در یک ماتریس دو بعدی

    من میخوام یه ماتریس دو بعدی تولید کنم که قطر اصلیش صفر باشه و عناصر بالای قطر اصلی با اونایی که زیر قطر اصلی هست یکی باشه
    میخوام کوچیک ترین عدد تو سطر اول رو پیدا کنه و عدد در هر ستونی باشه در ادامه جستجو به اون سطر بره

    |  0   142    75     20|
    |142 0 124 41|
    | 75 124 0 24|
    | 20 41 24 0|

    مثلا تو این ماتریس عدد 20 رو انتخاب کنه و چون تو ستون 4 این عدد پیدا شده بره تو سطر چهارم دنبال عدد بعدی بگرده و به قبل بر نگرده
    من تو تولید این ماتریس مشکل ندارم فقط این جستجو و ذخیره کردن رو نمیدونم چطور پیاده سازی کنم

  2. #2

    نقل قول: پیدا کردن کوچکترین عدد بزرگتر از یک در یک ماتریس دو بعدی

    این کدی هست که من نوشتم
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace WindowsFormsApplication27
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    int[] xrange = new int [100];
    int[] yrange = new int[100];
    double [,] xyrange = new double [100, 100];
    int i = 0;
    int sum1;
    int sum2;
    double jazr;
    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void Form1_MouseClick(object sender, MouseEventArgs e)
    {
    xrange[i] = e.X;
    yrange[i] = e.Y;
    Label label1 = new Label();
    Point p = new Point();
    p.X = xrange[i];
    p.Y = yrange[i];
    label1.Location = p;
    label1.Text = "" + i;
    this.Controls.Add(label1);
    i++;
    }

    private void button1_Click(object sender, EventArgs e)
    {

    label2.Text="";
    label1.Text = "";

    for (int j = 0; j < i; j++)
    {

    for (int n =0; n < i; n++)
    {
    if (xrange[j] == xrange[n])
    {
    xyrange[j,n] = 0;
    }
    else
    {
    sum1 = xrange[j] - xrange[n];
    sum1 = sum1 * sum1;
    }
    if (yrange[j] == yrange[n])
    {
    xyrange[j,n] = 0;
    }
    else
    {
    sum2 = yrange[j] - yrange[n];
    sum2 = sum2 * sum2;
    }

    jazr = Math.Sqrt(sum1 + sum2);
    xyrange[j, n] = jazr ;
    // label1.Text = label1.Text + "j" + j + "n" + n +" => "+ xyrange[j,n].ToString() + "\n";
    sum1 = 0;
    sum2 = 0;
    jazr = 0;
    }
    }
    int x1, y1 = 0;
    int s1;
    double select1 = 1;
    double select2 = 1;
    for (x1 = 0; x1 < i; x1++)
    {
    for (y1 = 0; y1 < i; y1++)
    {

    ????????????????????????????????
    }
    }



    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
    label3.Text = "" + e.X.ToString() + "," + e.Y.ToString();
    }
    }
    }


    تو قسمت حلقه فور که علامت سوال گذاشتم رو نمیدونم باید چی بنویسم تا این کار ماتریس رو برام انجام بده

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1389
    محل زندگی
    تهران
    پست
    78

    نقل قول: پیدا کردن کوچکترین عدد بزرگتر از یک در یک ماتریس دو بعدی

    چون گفتی توی مقدار دهیش مشکلی نداری ، فقط پیدا کردن عدد مینیمم رو توش نوشتم .


    int n = 10;
    int min = int.MaxValue;
    int [,] A = new int[n , n];

    // پیدا کردن کوچکترین عدد
    for (int row = 0; row < n; row++)
    {
    for (int column = 0; column < n; column++)
    {
    if (A[row, column] < min & A[row, column] > 1) min = A[row, column];
    }
    }
    Console.WriteLine("Minimum number in Matrix is : {0}", min);
    Console.Read();

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •