Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 10:24   #1
Nickolai47
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 37
По умолчанию массив+матрица

Вот такая задачка (1,4) но не пойму где косяк с моей стороны...
Код:
int count = Source_TB.Lines.Length;
            int[] mas = new int[count];
            int i;
                double[] sumB= new double [count];
            for (i = 0; i < count; i++)
                mas[i] = Convert.ToInt32(Source_TB.Lines[i]);

                for (i = 0; i < count; i++)
                    sumB[i] += (mas[i] + Math.Pow((mas[i + 1]), 2) +Math.Pow((mas[i + 2]), 2)) / (mas[i + 1] * mas[i]);
               
            Dest_TB.Clear();
                for (i = 0; i < count; i++)
                    Dest_TB.AppendText(sumB[i] );
и ещё не пойму как вывести данные в матрицу (ругается на индекс)
Код:
 int i, j;
            int[,] matrA = new int[dataGridView1.RowCount, dataGridView1.ColumnCount];
            int[,] matrB = new int[dataGridView1.RowCount, dataGridView1.ColumnCount];
           
            for (i = 0; i < dataGridView1.RowCount; i++)
                for (j = 0; j < dataGridView1.ColumnCount; j++)
                    matrA[i, j] = Convert.ToInt32(dataGridView1[j, i].Value);
           
                for (i = 0; i < dataGridView1.RowCount; i++)
                    for (j = 0; j < dataGridView1.ColumnCount; j++)
                        if (matrA[i, j] >= 0) matrB[i, j] = matrA[i, j];
                        else
                            if (matrA[i, j] < 0) matrB[i, j] = 1;

                for (i = 0; i < dataGridView1.RowCount; i++)
                    for (j = 0; j < dataGridView1.ColumnCount; j++)
                        matrA[i, j] += matrB[i, j];

               
                 for (j = 0; j < dataGridView1.ColumnCount; j++) 
                     for (i = 0; i < dataGridView1.RowCount; i++)
                        dataGridView2[j,i].Value=matrA[i,j]:
Изображения
Тип файла: jpg 1,4.jpg (32.7 Кб, 122 просмотров)
Nickolai47 вне форума Ответить с цитированием
Старый 10.03.2013, 11:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = 10;
            int[] a = new int[count];
            double[] b = new double[count-2];
            for (int i = 0; i < count; i++) {
                a[i] = i;
                if (i > 2) b[i-2] = (a[i-2] + Math.Sqrt(a[i - 1]) + Math.Sqrt(a[i - 1])) / (a[i-2] * a[i - 1]);
            }
            for (int i = 0; i < count; i++)
            {
                if (i < (count - 2)) Console.Write("{0}\t{1}\n", a[i], b[i]); else Console.Write("{0}", a[i]);
            }
            Console.ReadKey();

        }
    }
}
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 11:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int count = 10;
            int[] a = new int[count];
            double[] b = new double[count-2];
            for (int i = 0; i < count; i++) {
                a[i] = i;
                if (i > 2) b[i-2] = (a[i-2] + Math.Sqrt(a[i - 1]) + Math.Sqrt(a[i - 1])) / (a[i-2] * a[i - 1]);
            }
            for (int i = 0; i < count; i++)
            {
                if (i < (count - 2)) Console.Write("{0}\t{1}\n", a[i], b[i]); else Console.Write("{0}", a[i]);
            }
            Console.ReadKey();

        }
    }
}
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 12:56   #4
Nickolai47
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Подходит?
мне не через консоль надо, но подходит я нашел в чем проблема была спасибо!
А вот подскажите со вторым случае почему он не хочет выводить в dataGridView2
Nickolai47 вне форума Ответить с цитированием
Старый 22.02.2014, 14:49   #5
brokenice
Новичок
Джуниор
 
Регистрация: 22.02.2014
Сообщений: 1
По умолчанию

dataGridView2 по количеству строк и столбцов может не соответствовать dataGridView1, или даже может быть вообще пустой.
Поэтому возникала ошибка несоответствия индекса.
brokenice вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++ матрица,массив. progdev Общие вопросы C/C++ 3 07.01.2011 20:43
матрица и массив uiivalet Паскаль, Turbo Pascal, PascalABC.NET 1 19.06.2010 16:28
матрица-массив xxx-niko Помощь студентам 5 15.06.2010 07:44
Паскаль. Матрица (массив). -dD Помощь студентам 2 23.04.2009 19:45
Массив и матрица pashun Помощь студентам 1 15.01.2009 16:56