С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/76: Рейтинг темы: голосов - 76, средняя оценка - 4.66
Лиза У.

Умножение матрицы на вектор, исправить код

24.03.2012, 20:19. Показов 14764. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При выводе координат вектора(выделено красным) мне всегда выдает 0000. какие бы числа не заводила. я уже просто тупо не могу найти ошибку. помогите, я совсем тяжко начинающая.программа не дописана- не хочу продолжать дальше,не избавившись от ошибки


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication11
{
    class Program
    {
        
        double[,] massiv=new double[4,4];
        double[] vektor= new double[4];
        double[] result = new double[4];
 
       
            public void Programm()
            {
                int m, n;
                for (m = 0; m < 4; m++)
                {
 
                    for (n = 0; n < 4; n++)
                    {
 
                        Console.WriteLine("Введите эламент матрицы № {0},{1}", m, n);
                        massiv[m, n] = System.Convert.ToDouble(Console.ReadLine());
 
                    }
                }
 
            
        }
        
 
            public void Programm2()
            {
                int x;
                double[] vektor = new double[4];
                for (x = 0; x < 4; x++)
                {
                    Console.WriteLine("Введите координату вектора №" + x);
                    vektor[x] = System.Convert.ToDouble(Console.ReadLine());
 
                }
 
            }

C#
1
2
3
4
5
6
            public void Prosmotr()
            {
                Console.WriteLine("Вектор");
                for (int x = 0; x < vektor.Length; ++x)
                    Console.Write(+vektor[x]);
                Console.WriteLine();
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    }
 
        static void Main(string[] args)
        {
            Program matriza = new Program();
            Program vetorstroka = new Program();
            Program vid1 = new Program();
 
            matriza.Programm();
            vetorstroka.Programm2();
            vid1.Prosmotr();
            
 
                     
            Console.WriteLine("Нажмите Enter для выхода из программы");
            Console.Read();
        }
    }
 
}
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2012, 20:19
Ответы с готовыми решениями:

Умножение матрицы на вектор-строку
Здравствуйте! Написал следующее, на что VS выдает выход за границы массива в самом последнем цикле, где я задаю переменной к значение. Как...

Умножение квадратной матрицы на вектор
Я не могу понят вот у меня перегруженный метод умножения матрицы на вектор: public static Vektor operator *(Kvadrat_mat b, Vektor a ) ...

Многопоточное умножение матрицы на вектор
Здравствуйте! Помогите, пожалуйста!!!! Очень нужно Я написала программу умножения матрицы на вектор, но нужно сделать из неё...

4
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
24.03.2012, 20:37
1. С# это объектно-ориентированный язык, а не процедурный.
2. пишите нормальные названия для методов, тут же ничего не поймешь!

3. вызывайте свои методы так:
this.Programm();
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
24.03.2012, 21:45
держи студентка... :-D
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication11
{
    public class Matrix
    {
        double[,] matrix;
 
        public int Row { get; protected set; }
        public int Column { get; protected set; }
 
        public Matrix(int row, int column)
        {
            Row = row;
            Column = column;
            matrix = new double[row, column];
        }
 
        public Matrix Multiple(Matrix value)
        {
            Matrix result = new Matrix(Row, value.Column);
            for (int i = 0; i < Row; i++)
                for (int j = 0; j < value.Column; j++)
                    for (int k = 0; k < value.Row; k++)
                        result.matrix[i, j] += matrix[i, k] * value.matrix[k, j];
            return result;
        }
 
        public void Read()
        {
            for (int i = 0; i < Row;i++ )
                for (int j = 0; j < Column; j++)
                {
                    Console.Write("Введите элемент [{0},{1}]: ", i+1, j+1);
                    matrix[i, j] = System.Convert.ToDouble(Console.ReadLine());
                }
        }
 
        public void Print()
        {
            for (int i=0; i<Row; i++)
            {
                for (int j = 0; j < Column; j++)
                    Console.Write("{0:f2} ", matrix[i, j]);
                Console.WriteLine();
            }
        }
    }
 
    class Program
    {
 
        static void Main(string[] args)
        {
            Matrix vector = new Matrix(1, 4);
            Matrix matrix = new Matrix(4, 4);
            Console.Clear();
            Console.WriteLine("Ввод вектора");
            vector.Read();
            Console.WriteLine("\nВвод матрицы");
            matrix.Read();
            Console.Clear();
            Matrix result = vector.Multiple(matrix);
            Console.WriteLine("Вектор");
            vector.Print();
            Console.WriteLine("\nМатрица");
            matrix.Print();
            Console.WriteLine("\nРезультат умножения матрицы на вектор");
            result.Print();
            Console.WriteLine("\nНажмите любую клавишу для выхода из программы");
            Console.ReadKey(true);
        }
    }
}
Learx, в Main обращение к this не допустимо т. к. это статический метод
4
15 / 15 / 5
Регистрация: 04.09.2011
Сообщений: 80
24.03.2012, 23:58
F11 в помощь. проверяй переменные на каждом шаге.
1
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 8
02.03.2013, 22:31
подскажите пожалуйста как переделать так чтоб размер матрицы нужно было вводить с клавиатуры)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.03.2013, 22:31
Помогаю со студенческими работами здесь

Умножение матрицы на вектор-столбец
Помогите решить задание, пишет что проблема в res.GetLength(1) { class Program { static void Main(string args) ...

Умножение матрицы на вектор с помощью рекурсии
умножения матрицы на вектор с помощью рекурсия С#

Как реализовать умножение матрицы на вектор?
Нужно реализовать класс матрица и вектор, что бы в дальнейшем реализовать перегрузку функций умножения матрицы на вектор, вектора на...

Исправить код транспонирования матрицы
Ребят, нужна ваша помощь!!! как сделать чтобы матрица правильно транспонировалась, т.е. на месте нечетных элементов знак менялся на...

Помогите исправить код ввода, вывода матрицы
Подскажите, пожалуйста, что не правильно в коде.По возможности - исправьте. namespace ConsoleApplication12 { class Program ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru