Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
8 / 8 / 1
Регистрация: 10.12.2010
Сообщений: 64

составить вектор, который задается в матрице

23.04.2011, 20:51. Показов 949. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу программу вот осталось последнее действие.
Нужно составить вектор который задается следующим правилом в матрице(она генерируется формулой) найти первую по порядку строку с наибольшей суммой ее элементов и в качестве вектора Х взять упорядоченные по неубыванию элементы этой строки. И в конце вычислить значение u=g(X), где g(X) - заданная функция.
вот начало коды для подпрограммы
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
             textBox1.Text = "" ;
            if (richTextBox2.Text == string.Empty)
            {
                linkLabel1.Text = "Размер матрицы не введен";
            }
            else
            {
                linkLabel1.Text = "Размер матрицы равен  " + richTextBox2.Text;
                w = richTextBox2.Text;
                const int firstldx = 100;
                const int secondldx = 100;
                matrix = new int[firstldx, secondldx];                
                n = int.Parse(w);
                richTextBox2.Text = w;
                for (i = 1; i <= n; i++)
                {
                    for (j = 1; j <= n; j++)
                    {
                        // f = Math.Pow(2, i) * (2 - (j - 5) * (j - 5)) / ((i - 2.5) * i * i);
                        f=(Math.Abs(3.7 - j))*(i - 4.3)*Math.Pow(2,(-i));
                        if (j % n == 0)
                            textBox1.AppendText(Math.Truncate(f) + Environment.NewLine);
                        else
                            textBox1.AppendText(Math.Truncate(f) + "  ");
                        matrix[i, j] = (int)f;
                    }
                }
                int sum0 = int.MinValue;
                int sum = int.MaxValue;
                int str = 0;
                for (int i = 0; i < n; i++)
                {
                    int temp = 0;
                    for (int j = 0; j < n; j++)
                    {
                        temp += matrix[i, j];
                    }
                    if (temp > sum0)
                    {
                        str = i;
                        sum0 = temp;
                    }
                }
               
                // Console.WriteLine("Строка {1} с максимальной суммой элементов, равной {0}", sum0, str);// тут тоже проблема, знаю как вывести это в консоли, но не соображу как сделать в форме
                
            }
Изображения
 
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2011, 20:51
Ответы с готовыми решениями:

Составить вектор, по условию: если сумма элементов строки четное число, то задается значение 1 иначе 0
Дан массив целых случайных чисел (в диапазоне от 12 до 24) размерности m*n. Числа m и n вводятся пользователем. Найдите вектор, который...

Составить программу которая находит наименьший элемент в матрице. Размерность матрицы задается с клавиатуры
Составить программу которая находит наименьший элемент в матрице. Размерность матрицы задается с клавиатуры

Как задается вектор и матрица?
напишите примеры пожалуйста!(я скопирую) не могу разобраться в матлаб. но мне нужно задание выполнить. 2 дня осталось:help:

5
8 / 8 / 1
Регистрация: 10.12.2010
Сообщений: 64
26.04.2011, 15:10  [ТС]
Ммм подскажите хотя бы метод / алгоритм =//
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
26.04.2011, 18:30
Вот, настрочил консольное приложение. Оно генерирует матрицу с размерами m,n (размеры матрицы вводишь, а элементы матрицы генерируются случайно) далее программа выводит исходную матрицу, потом индекс строки с максимальной суммой элементов(функсия возвращающая этот индеь отдельно написана) далее печатает строку с этим индексом но отсортированнаю(это тоже отдельная функция, их можешь использовать в своем приложении) однако на счем массива g(X) я не понял если юто вектор то какого черта там написано max? Какой максимум, обяснишь может и тут помогу

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        //функция возвращает индекс строки с максимальной суммой элементов
        static int maxRowSummIndex(int[,] arr, int row, int col)
        {
            int[] summArr = new int[row];
            int tempSumm=0;
            for (int i = 0; i < row; i++)
            {
                tempSumm = 0;
                for (int j = 0; j < col; j++)
                {
                    tempSumm += arr[i, j];
                }
                summArr[i] = tempSumm;
            }
            int max = summArr[0],maxIndex=0;
            for (int i = 0; i < row; i++)
            {
                if (max < summArr[i])
                {
                    max = summArr[i];
                    maxIndex = i;
                }
            }
            return maxIndex;
        }
        //функция возвращает отсортированный массив по неубыванию
        static int[] retSorted(int[,] arr,int index, int row,int col)
        {
        int[] result=new int[row];
            int tmp=0;
        for (int j = 0; j < col; j++)
        {
            result[tmp] = arr[index, j];
            tmp++;
        }
        int temp;        
        for (int j = 0; j < row; j++)
        {
            for (int i = 0; i < row-1; i++)
            {
                if (result[i] > result[i+1])
                {
                    temp = result[i];
                    result[i] = result[i + 1];
                    result[i + 1] = temp;
                }
            }
        }
            return result;
        }
        static void Main(string[] args)
        {
            int m, n;
            Console.WriteLine("m=");
            m = int.Parse(Console.ReadLine());
            Console.WriteLine("n=");
           n = int.Parse(Console.ReadLine());
           int[,] matrix = new int[m, n];
           Random rand = new Random((int)DateTime.Now.Ticks);
           for (int i = 0; i < m; i++)
           {
               for (int j = 0; j < n; j++)
               {
                   matrix[i, j] = rand.Next(0,100);
               }
           }
           Console.WriteLine("Исходная матрица:");
           for (int i = 0; i < m; i++)
           {
               for (int j = 0; j < n; j++)
               {
                   Console.Write(matrix[i, j] + ",");
               }
               Console.WriteLine();
           }
           int index = maxRowSummIndex(matrix, m, n);
           Console.WriteLine("Индекс строки с максимальной суммой="+index);
           int[] Xarray = retSorted(matrix, index, m, n);
            Console.Write("Отсортированная строка=");
            for (int i = 0; i < m; i++)
            {
                Console.Write(Xarray[i]+",");
            }
 
        }
    }
}
1
8 / 8 / 1
Регистрация: 10.12.2010
Сообщений: 64
02.06.2011, 06:47  [ТС]
Добавлено через 2 минуты
из отсортированного вектора нужно выбрать такую G(x) у которой разница модулей последующего и предыдущего будет максимальна.
ну например получился массив 1 3 5 7 8 12
3-1=2
5-3=2
7-5=2
8-7=1
12-8=4
т.е нам нужен правильный ответ 4

Добавлено через 7 часов 26 минут
Заранее спасибо!=))
0
8 / 8 / 1
Регистрация: 10.12.2010
Сообщений: 64
09.06.2011, 19:59  [ТС]
Подскажите хотя бы как передать нужные данные для нахождения в этот код
Я делаю так создаю новый класс, вот он
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
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
 
namespace ConsoleApplication4
{
    class Ux
    {
        public void UX(string file4, string file6, int n)
        {
            #region считываем вектор X
            int w = 0;
 
            FileStream schit;
            schit = new FileStream(file4, FileMode.Open, FileAccess.ReadWrite);
            StreamReader outf1 = new StreamReader(schit);
            string[] stolb = new string[n];
            double[] X = new double[n];
            for (w = 0; w < n; w++)
            {
                stolb[w] = outf1.ReadLine();
                X[w] = Double.Parse(stolb[w]);
            }
            #endregion
 
            #region Ux
            for (w = 0; w < n; w++)
            {
                X[w] = (Math.Abs(X[w] + 1) - Math.Abs(X[w]));
 
            }
            Max obj = new Max();
            double U;
            U = obj.maxVal(X);
            #endregion
 
            #region записываем Ux в файл
            FileStream newpotok;
            newpotok = new FileStream(file6, FileMode.CreateNew, FileAccess.ReadWrite);
            StreamWriter outf4 = new StreamWriter(newpotok);
 
            outf4.WriteLine(U);
 
            outf4.Close();
            newpotok.Close();
            #endregion
        }
    }
}
начинаю передавать сюда вот так
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
Console.WriteLine("Введите имя создаваемого файла(U(x))");
                                U = Console.ReadLine();
                                if (U == "")
                                {
                                    Console.WriteLine("");
                                    Console.WriteLine("пустой ввод");
                                    Console.WriteLine("");
                                    Console.WriteLine("нажмите Enter для выхода");
                                    Console.ReadLine();
                                    Environment.Exit(0);
                                }
                                U = "путь к  файлу \\" + U + ".txt";
 
                                if (File.Exists(U))
                                {
                                    Console.WriteLine("");
                                    Console.WriteLine("файл с таким именем существует");
                                    Console.WriteLine("");
                                    Console.WriteLine("нажмите Enter для выхода");
                                    Console.ReadLine();
                                    Environment.Exit(0);
                                }
                                else
                                {
                                    Ux obj6 = new Ux();
                                    obj6.UX(Xarray, U, n);
                            #endregion
 
                                    #region проверки
                                    Console.ReadLine();
                                }
тут и выскакивает ошибка, что неизвестно что такое U


класс maxVal который тут упоминается вот
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication4
{
    class Max
    {
        public double maxVal(params double[] nums)
        {
            #region Max
            double m;
            m = 1;
            if (nums.Length == 0)
            {
                Console.Write("ошибка");
            }
            else
            {
                m = nums[0];
                for (int l = 1; l < nums.Length; l++)
                {
                    if (nums[l] > m)
                    {
                        m = nums[l];
                    }
                }
            }
            return m;
            #endregion
        }
    }
}

Добавлено через 34 секунды
Может как-то проще можно сделать?
0
8 / 8 / 1
Регистрация: 10.12.2010
Сообщений: 64
17.06.2011, 20:15  [ТС]
Вот сам доделал, что смог! Программа конечно сырая, но думаю кому-нибудь может пригодиться!
Вложения
Тип файла: rar ConsoleApplication4.rar (25.7 Кб, 8 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2011, 20:15
Помогаю со студенческими работами здесь

Синтаксис условия, которое задается как вектор
Добрый день. Так и не смог на форуме отыскать ответ на простой вопрос - старожилы точно подскажут. Я делаю вычисление и в качестве...

Массив, который задается определенной формулой
Есть массив который задается определенной формулой.Например array=n(2n-1); мне нужны получить числа, сумма цифр которых равна элементу...

Считывание из файла, который задается пользователем
Здравствуйте! Помогите, пожалуйста, составить программу. При запуске программы пользователь вводит имя файла, из которого он хочет считать...

задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных...

Нарисовать график Конхойды, который задается уравнением
Нужно нарисовать график Конхойды, который задается уравнением (x^2+y^2)*((y-a)^2)-(l^2)*(y^2)=0 средствами vb.net Есть форма: ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru