Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Допустимое решение системы уравнений, не удается корректно решить матрицу 
:(
    Опции темы
0null
  Дата 1.12.2007, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.11.2007

Репутация: нет
Всего: нет



Вот пытаюсь сделать посчитывание допустимого решения матрицы. mas - матрица, dbr - вектор-кандидат, решение системы уравнений. В перспективе должно быть ещё и базисным. Ответы выдаются как-то рандомно - для одной строки оно допустимо, для другой нет.
  
Код

using System;
using System.Collections.Generic;
using System.Text;
using con = System.Console;

namespace space
{
    class Program
    {
        public static void rInt(ref int a)
        {
            while (true)
            {
                if (Int32.TryParse(con.ReadLine(), out a))
                    break;
                else
                    con.WriteLine("Неверный ввод");
            }
        }
        static void Main(string[] args)
        {
            con.WriteLine("введите размерность матрицы ограничений:");
            int n = 0, m = 0;
            while (true)
            {
                rInt(ref n);
                rInt(ref m);
            }
            int[,] mas = new int[n, m];
            int[] cf = new int[n];
            con.WriteLine("введите элементы матрицы ограничений:");
            for (int i = 0; i < n; i++)
                for (int j = 0; j < m; j++)
                {
                    con.Write(" {0}, {1} :", i, j);
                    rInt(ref mas[i, j]);
                }
           
            con.WriteLine("Введите ДБР");
            int[] dbr = new int[m-1];
            for (int i = 0; i < (m - 1); i++)
            {
                rInt(ref dbr[i]);
            }
            int summ = 0;
            for(int i=0;i<n;i++)
                for (int j = 0; j < m; j++)
                {
                    if(j!=(m-1))
                    summ += mas[i, j]*dbr[i];
                    else
                    if (summ == mas[n - 1, j])
                    {
                        con.WriteLine("Y");
                        summ = 0;
                    }
                    else
                    {
                        con.WriteLine("N");
                        summ = 0;
                    }
                    
                }
            con.ReadKey();
        }

    }
}



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.