Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Разъяснить условие вхождения одной окружности в другую using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 https://www.cyberforum.ru/ csharp-beginners/ thread596486.html Вместо вывода ошибки программа прекрашает работу C#
Помогите исправить программу, вместо вывода сообшения об ошибке некоректности введённых данных программа прекрашает работу, проверка на ошибки есть но почемуто игнорируется.
C# Реализовать метод реализующий факториал (факт(5)-120) Задание таковы !Помогите завтра экзаман ( и эти вопросы будут тама ! Спасибо ! 1.Даны 3 числа . Вывести их в порядке возрастания (472-247) 2.Дано число вывести его обратном порядке (358-853) 3.Реализовать метод реализующий факториал (факт(5)-120) 5.Получить сумму первых 10 чисел (1+2+3+4+5+6+7+8+9+10=?) 6.Реализовать метод ,который получает число и возвращает все четные числав... https://www.cyberforum.ru/ csharp-beginners/ thread596410.html C# Подкажите, как занести в текствовый файл инфу, а затем её считать оттуда Подкажите, как занести в текствовый файл инфу, а затем её считать оттуда? Я так понимаю для этого нужно базы данных знать? https://www.cyberforum.ru/ csharp-beginners/ thread596398.html
C# Слова "Шина" заменить на "*", а букву е удалить до первой точки
Помогите пожалуйста исправить програмку. Здесь нужно слова "Шина" заменить на "*", а букву е удалить до первой точки. Здесь Шина заменяется правильно, а буква е удаляется и до точки и после точки.... using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
C# Найти наименьшее значение функции Найти наименьшее значение функции: y=sin(x)/(1+x) и значение аргумента, при котором оно получено, если X изменяется от 0 до 10 с шагом 0,1. Для найденного x подсчитать сумму членов ряда: z=1+x+x^2/2!+...+x^10/10! x^2- икс в квадрате х^10-икс в десятой степени https://www.cyberforum.ru/ csharp-beginners/ thread596384.html
C# Поменять местами максимальный и минимальный элемент массива https://www.cyberforum.ru/ csharp-beginners/ thread596309.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string args)
C# Нужен Совет, перезапись файла
Есть класс, наследник FileStream В определенный момент надо отчистить файл. и начать запись в него с нуля. Как это сделать? вот как я пытался base.Close(); String name = this.Name; FileStream TMP = new FileStream(this.Name, FileMode.Create); TMP.Close(); base = new FileStream(Name, FileMode.Create);
C# Оценка точности методов численного интегрирования (Выходящие прямоугольники) Помогите написать программу на C# Метод выходящих прямоугольников Функция - x + x^2 - x^3 Нужно найти Точное значение, приближенное значение и погрешность. Нахождение точного значения было описано в этой теме( https://www.cyberforum.ru/csharp-net/thread321686.html ) Мои дальнейшие действия, к сожалению, тщетны :( Добавлено через 32 минуты Забыл уточнить... Пределы: https://www.cyberforum.ru/ csharp-beginners/ thread596298.html C# Напечатать все слова предложения в порядке убывания их длин, используя StringBuilder https://www.cyberforum.ru/ csharp-beginners/ thread596281.html
Помогите пожалуйста, надеюсь есть люди которым этот вопрос покажется очень лёгким. Надо написать программу с использованием класса StringBuilder. Задание: Дано предложение. Напечатать все его слова в порядке убывания их длин. Вот какие-то вроде довольно беспомощные попытки что-то написать) Выдает сначала первую букву предложения, а потом сообщает об ошибке. Программировать практически не умею,...
C# Из данного псевдокода нужно написать программную реализацию
Помогите, пожалуйста! Из данного псевдокода нужно написать программную реализацию в С# (Консольное приложение и Windows Form, к последнему желательно фото). Спасибо, большое! Псевдокод: Начало Ввод a,b НЦ Если a>5 Если a>8
C# Из данного псевдокода нужно написать программную реализацию https://www.cyberforum.ru/ csharp-beginners/ thread596275.html
Помогите, пожалуйста! Из данного псевдокода нужно написать программную реализацию в С# (Консольное приложение и Windows Form, к последнему желательно фото). Спасибо, большое! Псевдокод: Начало Ввод n S = 0 i = 1 НЦ ПОКА i<=n
0 / 0 / 0
Регистрация: 04.06.2012
Сообщений: 7
0

Программа решает слау методом Гаусса: показывать ошибку при вводе некорректных данных - C# - Ответ 3125334

04.06.2012, 22:45. Показов 2210. Ответов 6
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Программа решает слау методом гауса, привводе несовместимой системы или системе без решений вместо сообшения о несовместимости или нерешаемости программа прекрашает работу.помогите исправить данную ошибку. проверка на совместимость ситемы есть но при запуске программы она игнорируется
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
using System;
using System.Collections;
using System.Data;
using System.Threading;
 
namespace Gauss
{
    public class GaussSolutionNotFound : Exception {
        public GaussSolutionNotFound(string msg)
            : base("Программа неможет решить  СЛАУ : \r\n" + msg) {
        }
    }
 
    public class LinearSystem {
        private double[,] initial_a_matrix;
        private double[,] a_matrix;  // матрица A
        private double[] x_vector;   // вектор неизвестных x
        private double[] initial_b_vector;
        private double[] b_vector;   // вектор b
        private double[] u_vector;   // вектор невязки U
        private double eps;          // порядок точности для сравнения вещественных чисел 
        private int size;            // размерность задачи
        private int TCount = 2;      // количество потоков
        private bool IsDone = false;
 
 
        public LinearSystem(double[,] a_matrix, double[] b_vector)
            : this(a_matrix, b_vector, 0.0001) {
        }
        public LinearSystem(double[,] a_matrix, double[] b_vector, double eps) {
            if (a_matrix == null || b_vector == null)
                throw new ArgumentNullException("Один из параметров равен null.");
 
            int b_length = b_vector.Length;
            int a_length = a_matrix.Length;
            if (a_length != b_length * b_length)
                throw new ArgumentException(@"Количество строк и столбцов в матрице A должно совпадать с количеством элементров в векторе B.");
 
            this.initial_a_matrix = a_matrix;  // запоминаем исходную матрицу
            this.a_matrix = (double[,])a_matrix.Clone(); // с её копией будем производить вычисления
            this.initial_b_vector = b_vector;  // запоминаем исходный вектор
            this.b_vector = (double[])b_vector.Clone();  // с его копией будем производить вычисления
            this.x_vector = new double[b_length];
            this.u_vector = new double[b_length];
            this.size = b_length;
            this.eps = eps;
            //Jacobi(size, a_matrix, b_vector, ref x_vector);
        }
 
        public double[] XVector {
            get {
                while (!IsDone) { }
                return x_vector;
            }
        }
 
        public double[] UVector {
            get {
                return u_vector;
            }
        }
 
        // инициализация массива индексов столбцов
        private int[] InitIndex() {
            int[] index = new int[size];
            for (int i = 0; i < index.Length; ++i)
                index[i] = i;
            return index;
        }
 
        // поиск главного элемента в матрице
        private double FindR(int row, int[] index) {
            int max_index = row;
            double max = a_matrix[row, index[max_index]];
            double max_abs = Math.Abs(max);
            //if(row < size - 1)
            for (int cur_index = row + 1; cur_index < size; ++cur_index) {
                double cur = a_matrix[row, index[cur_index]];
                double cur_abs = Math.Abs(cur);
                if (cur_abs > max_abs) {
                    max_index = cur_index;
                    max = cur;
                    max_abs = cur_abs;
                }
            }
 
            if (max_abs < eps) {
                if (Math.Abs(b_vector[row]) > eps)
                    throw new GaussSolutionNotFound("система не совместима.");
                else
                    throw new GaussSolutionNotFound("Система уравнений имеет множество решений.");
            }
 
            // меняем местами индексы столбцов
            int temp = index[row];
            index[row] = index[max_index];
            index[max_index] = temp;
 
            return max;
        }
 
        void Jacobi(int N, double[,] A, double[] F, ref double[] X)
        // N - размерность матрицы; A[N][N] - матрица коэффициентов, F[N] - столбец свободных членов,
        // X[N] - начальное приближение, ответ записывается также в X[N];
        {
            double[] TempX = new double[N];
            double norm; // норма, определяемая как наибольшая разность компонент столбца иксов соседних итераций.
            do
            {
                for (int i = 0; i < N; i++)
                {
                    TempX[i] = -F[i];
                    for (int g = 0; g < N; g++)
                    {
                        if (i != g)
                            TempX[i] += A[i,g] * X[g];
                    }
                    TempX[i] /= -A[i,i];
                }
                norm = Math.Abs(X[0] - TempX[0]);
                for (int h = 0; h < N; h++)
                {
                    if (Math.Abs(X[h] - TempX[h]) > norm)
                        norm = Math.Abs(X[h] - TempX[h]);
                    X[h] = TempX[h];
                }
            } while (norm > eps);
        }
 
        public void Solve() {
            int[] index = InitIndex();
            ForwardStroke(index);
            BackwardStroke(index);
            Discrepancy();
            IsDone = true;
        }
 
 
 
        private void ForwardStroke(int[] index) {
            // перемещаемся по каждой строке сверху вниз
            for (int i = 0; i < size; ++i) {
                // 1) выбор главного элемента
                double r = FindR(i, index);
 
                // 2) преобразование текущей строки матрицы A
                for (int j = 0; j < size; ++j)
                    a_matrix[i, j] /= r;
 
                // 3) преобразование i-го элемента вектора b
                b_vector[i] /= r;
 
                // 4) Вычитание текущей строки из всех нижерасположенных строк
                for (int k = i + 1; k < size; ++k) {
                    double p = a_matrix[k, index[i]];
                    for (int j = i; j < size; ++j)
                        a_matrix[k, index[j]] -= a_matrix[i, index[j]] * p;
                    b_vector[k] -= b_vector[i] * p;
                    a_matrix[k, index[i]] = 0.0;
                }
            }
        }
 
        private void BackwardStroke(int[] index) {
            // перемещаемся по каждой строке снизу вверх
            for (int i = size - 1; i >= 0; --i) {
                // 1) задаётся начальное значение элемента x
                double x_i = b_vector[i];
 
                // 2) корректировка этого значения
                for (int j = i + 1; j < size; ++j)
                    x_i -= x_vector[index[j]] * a_matrix[i, index[j]];
                x_vector[index[i]] = x_i;
            }
        }
 
        // Вычисление невязки решения
        // U = b - x * A
        // x - решение уравнения, полученное методом Гаусса
        private void Discrepancy() {
            for (int i = 0; i < size; ++i) {
                double actual_b_i = 0.0;   // результат перемножения i-строки 
                // исходной матрицы на вектор x
                for (int j = 0; j < size; ++j)
                    actual_b_i += initial_a_matrix[i, j] * x_vector[j];
                // i-й элемент вектора невязки
                u_vector[i] = initial_b_vector[i] - actual_b_i;
            }
        }
    }
}


Вернуться к обсуждению:
Программа решает слау методом Гаусса: показывать ошибку при вводе некорректных данных C#
Вложения
Тип файла: rar program5.rar (129.3 Кб, 29 просмотров)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 22:45
Готовые ответы и решения:

Программа зацикливается при вводе некорректных данных
Доброго дня. Уже искал по форуму, нашел много похожих тем, но предложенные там решения, в...

Программа вылетает при вводе в поле некорректных символов
Грубо говоря, программа состоит из трех текст боксов в которые вводятся числа и кнопки которая...

Обработку исключений при вводе некорректных данных
#include &lt;iostream&gt; #include &lt;signal.h&gt; using namespace std; class Student{public: string...

Обработка исключений при вводе некорректных данных
День добрый, начал разбираться с исключениями, пока не совсем понимаю в чем их удобство и зачем они...

6
04.06.2012, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2012, 22:45
Помогаю со студенческими работами здесь

Зацикливание программы при вводе некорректных данных
Привет всем! Я совсем новенький в программировании на С++ (в школе чуток увлекался Бейсиком, но...

Какое исключение генерировать при вводе некорректных данных
Какое исключение генерировать при вводе неккорекных данных, например в переменную типа int пытались...

Программа для решения СЛАУ методом Гаусса
Всем доброго времени суток. Может у кого-то есть программа для решения СЛАУ методом гауса с...

Почему программа прерывается с ошибкой? Реализовывал решение СЛАУ методом Гаусса
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int n=0; int...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru