Работа с одномерными и многомерными массивами в программных средах Borland Delphi 7 и MS Visual Studio2008

Автор работы: Пользователь скрыл имя, 26 Марта 2012 в 20:34, курсовая работа

Описание

Язык программирования С# был создан в конце 1990-х годов и стал частью общей .NET-стратегии Microsoft. Впервые он увидел свет в качестве b-версии в середине 2000 года. Главным архитектором С# был Андерс Хейлсберг - один из ведущих специалистов в области языков программирования, получивший признание во всем мире. Достаточно сказать, что в 1980-х он был автором весьма успешного продукта Turbo Pascal, изящная реализация которого установила стандарт для всех будущих компиляторов.

Содержание

Введение
1 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
2 Работа с массивами на С#
2.1 Работа с многомерными массивами
2.2 Условие задачи
3 Работа с массивами на Delphi
3.1 Работа с многомерными массивами
3.2 Условие задачи
Заключение
Список использованной литературы
Приложение №1
Приложение №2
Приложение №3
Приложение №4
Приложение №5
Приложение №6

Работа состоит из  1 файл

вмиип.doc

— 1.14 Мб (Скачать документ)

        {

           

            ArrayClass.ant(textBox3);

            ArrayClass.Displayoutrow(dataGridView2);

            ArrayClass.summa(textBox2);

        }

 

        private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)

        {

            ArrayClass.summa(textBox2);

            ArrayClass.Displayoutrow(dataGridView2);

        }

 

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

 

        }

 

        private void button5_Click(object sender, EventArgs e)

        {

            ArrayClass.st();

            ArrayClass.displaysts(dataGridView3);

        }

 

      

 

       

   

      

       

 

       

 

        }

    }

 

Class2.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Drawing;

using System.Windows.Forms;

 

namespace ANTproject

{

    class ArrayClass : object

    {

        private int n;

        private int m;

        private int[,] a;

        private int[,] ta;

        private int[,] tsa;

        private int i;

        private int j;

        private int MaxR = 10;

        private int Max = 0;

        private int[] outrow;

        private int t;

        private int s;

        private int x;

 

        public ArrayClass(int n, int m)

        {

            this.n = (n <= Form2.n) ? n : Form2.n;

            this.m = (m <= Form2.m) ? m : Form2.m;

            a = new int[this.n, this.m];

            //ta = new int[this.m, this.n];

            ta = new int[5, 5];

            tsa = new int[5, 5];

           

            t = 0;

            outrow = new int[this.m];

 

        }

        public void initarray()

        {

            Random rnd = new Random();

            for (i = 0; i < n; i++)

                for (j = 0; j < m; j++)

                    a[i, j] = rnd.Next(-10, MaxR);

            for (t = 0; t < m; t++) ;

            t = 0;

        }

        public void displayarray(DataGridView DataGridView)

        {

            for (i = 0; i < n; i++)

                for (j = 0; j < m; j++)

                {

                    DataGridView.CurrentCell = DataGridView[j, i];

                    DataGridView.CurrentCell.Value = Convert.ToString(a[i, j]);

                   

                   

                }

        }

 

 

 

 

       

 

 

 

 

 

 

        public void DrawGraphics(PictureBox PictureBox)

        {

            Graphics Gr = PictureBox.CreateGraphics();

            int k;

            int[] B = new int[n * m];

            float x0;

            float y0;

            int H;

            Gr.Clear(Color.White);

            k = 0;

            for (i = 0; i < n; i++)

                for (j = 0; j < m; j++)

                {

                    B[k] = a[i, j];

                    k++;

                }

            Pen Redpen = new Pen(Color.Red, 3);

            x0 = PictureBox.Size.Width / (n * m);

            y0 = PictureBox.Size.Height / MaxR;

            H = PictureBox.Size.Height;

            for (k = 1; k < (n * m); k++)

                Gr.DrawLine(Redpen, x0 * (k - 1), H - (B[k - 1] * y0), x0 * k, H - (B[k] * y0));

            k = 0; for (t = 0; t < n; t++)

            {

                B[k] = outrow[t]; k++;

            }

            Pen Bluepen = new Pen(Color.Blue, 3);

            x0 = PictureBox.Size.Width / (n * m);

            y0 = PictureBox.Size.Height / MaxR;

            H = PictureBox.Size.Height;

 

            for (k = 1; k < n; k++)

                Gr.DrawLine(Bluepen, x0 * (k - 1), H - (B[k - 1] * y0), x0 * k, H - (B[k] * y0));

        }

 

 

        public void clearArray()

        {

            for (i = 0; i < n; i++)

                for (j = 0; j < m; j++)

                 

                    a[i, j] = 0;

            for (i = 0; i < n; i++)

                for (j = 0; j < m; j++)

            outrow[t] = 0;

        }

        public void summa(TextBox TextBox)

        {

            //транспонируем

           

            for (j = 0; j < n; j++)

            {

                s = 0;

                for (i = 0; i < m; i++)

                {

                    //хахаха

                    ta[i, j] = a[j, i];

 

                }

            }

 

            //считаем сумму

                     

 

            t = 0;

            for (j = 0; j < n; j++)

            {

                s = 0;

                for (i = 0; i < m; i++)

                {

                s = s + a[j, i];

 

                }

 

 

                outrow[t] = s;

                t++;

 

                {

                    Max = 0;

                    for (i = 0; i < m; i++)

                   

                    {

                        for (j = 0; j < n; j++)

                      

                            if (ta[i,j] > 0)

                            {

                                Max = Max + ta[i,j];

                            }

                        TextBox.Text = Convert.ToString(Max);

                    }

 

                }

            }

        }

 

 

 

 

       

    

        public void Displayoutrow(DataGridView DataGridView)

        {

            /*

            for (t = 0; t < n; t++)

            {

                DataGridView.CurrentCell = DataGridView[t, 0];

                DataGridView.CurrentCell.Value = Convert.ToString(outrow[t]);         

 

            }

             * /

            //Вывод ответа, выводим заместо суммы

            /*

            for (int ii = 0; ii < 2; ii++)

            {

                for (int jj = 0; jj < 5; jj++)

                {

                    //DataGridView.CurrentCell = DataGridView[ii, jj];

                    DataGridView.CurrentCell = DataGridView[jj, ii];

                    //DataGridView.CurrentCell.Value = Convert.ToString(ta[ii,jj]);

                    //DataGridView.CurrentCell.Value = Convert.ToString(ta[ii-1, jj-1]);

                    DataGridView.CurrentCell.Value = Convert.ToString(ta[jj - 1, ii - 1]);

 

                }

            }

            */

            /*

            //хахаха

            DataGridView.CurrentCell = DataGridView[0, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0,0]);//выводим данные в ячейку

           

            DataGridView.CurrentCell = DataGridView[0, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[2, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[2, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[3, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[3, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 1]);//выводим данные в ячейку

            */

            //хахаха

            DataGridView.CurrentCell = DataGridView[0, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 2];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 2];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 3];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 3];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 1]);//выводим данные в ячейку

                       

        }

   

        public void st()

        {

            for (j = 0; j < n; j++)

            {

 

                for (i = 0; i < m; i++)

                {

                    x = ta[i, 0];

                    ta[i, 0] = ta[i,n-1];

                    ta[i, n - 1] = x;

 

 

                }

 

            }

           

           

            }

 

public void ant(TextBox TextBox)

       

               

 

                {

                    o = 0;

                    for (i = 0; i < m; i++)

                   

                    {

                        for (j = 0; j < n; j++)

                      

                            if (ta[i,j] < 0)

                            {

                                o = o + ta[i,j];

                            }

                        TextBox.Text = Convert.ToString(o);

                    }

 

                }

 

        public void displaysts(DataGridView DataGridView)

        {

            DataGridView.CurrentCell = DataGridView[0, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 0];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[0, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 1];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[1, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 2];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 2];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[2, 0]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[0, 3];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 1]);//выводим данные в ячейку

 

            DataGridView.CurrentCell = DataGridView[1, 3];//выделяет ячейку

            DataGridView.CurrentCell.Value = Convert.ToString(ta[3, 0]);//выводим данные в ячейку

 

 

                }

        }

    }

 

 

 

 

Приложение №5

Форма Form1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение №6

Программный код формы Unit1.pas

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, StdCtrls;

 

type

  TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    Edit3: TEdit;

    StringGrid1: TStringGrid;

    Button2: TButton;

    Label3: TLabel;

    Edit4: TEdit;

    StringGrid2: TStringGrid;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

var

  j, i, n, m, pred, sum: longint;

  mas: array of array of int64;

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  If (trim(edit1.text)='') or (StrToInt(edit1.text)=0) then ShowMessage('Параметр N задан неверно')

    else

      begin

        If (trim(edit2.text)='') or (StrToInt(edit2.text)=0) then ShowMessage('Параметр M задан неверно')

          else

            begin

              If Trim(edit4.text)='' then ShowMessage('Введите предел значений(Предел=100, то A[n,m]={-99,..,100})')

                else

                  begin

                    n:=StrToInt(Edit1.Text);

                    m:=StrToInt(Edit2.text);

                    Stringgrid1.ColCount:=n;//ширина первой таблицы равна ширине матрицы

                    StringGrid1.RowCount:=m;//высота первой таблицы равна высоте матрицы

                    Stringgrid2.ColCount:=m;//ширина второй таблицы равна высоте матрицы

                    StringGrid2.RowCount:=n;//высота второй таблицы равна ширине матрицы

                    pred:=StrToInt(Edit4.text);

                    setlength(mas, n, m);

                    for i:=0 to n-1 do

                      begin

                        for j:=0 to m - 1 do

                          begin

                            mas[i,j]:=Random(pred*2)+1-pred;

                            StringGrid1.Cells[i,j]:=intToStr(mas[i,j]);//присвоить значение в обычную таблицы

                            StringGrid2.Cells[j,i]:=intToStr(mas[i,j]);//присвоить значение в транспортированную таблицу

                          end;

                      end;

                  end;

            end;

      end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  Sum:=0;

  for i:=0 to n-1 do

    begin

      for j:=0 to m - 1 do

        begin

          if mas[i,j]>0 then sum:=sum+mas[i,j];

       end;

    end;

  Edit3.Text:='Сумма положительных элементов равна '+IntToStr(Sum);

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  Randomize;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

  Sum:=0;

  for i:=0 to n-1 do

    begin

      for j:=0 to m - 1 do

        begin

          if mas[i,j]<0 then sum:=sum+mas[i,j];

       end;

    end;

  Edit3.Text:='Сумма отрицательных элементов равна '+IntToStr(Sum);

end;

 

 

end.

 

2

 

 



Информация о работе Работа с одномерными и многомерными массивами в программных средах Borland Delphi 7 и MS Visual Studio2008