Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 05.11.2016
Сообщений: 46

Код не проходит двумерный массив

06.01.2017, 21:52. Показов 965. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, понимаю что уже всех замучил своим ужасным кодом. Но всё-таки, как не меняю его он всё-равно не работает. Может мне сегодня поможете понять в чём проблема.
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            string[] q = new string[9];
            double[,] mass = new double[3, 3];
            double x, y, z,a1, a2, a3, otvet, p, number1;
            int nm = 0;
            int n = 0;
            int m = 0;
            int number;
            bool l;
            q[0] = Convert.ToString(textBox1.Text);
            q[1] = Convert.ToString(textBox2.Text);
            q[2] = Convert.ToString(textBox7.Text);
            q[3] = Convert.ToString(textBox5.Text);
            q[4] = Convert.ToString(textBox4.Text);
            q[5] = Convert.ToString(textBox3.Text);
            q[6] = Convert.ToString(textBox9.Text);
            q[7] = Convert.ToString(textBox8.Text);
            q[8] = Convert.ToString(textBox6.Text);
            for (int w = 0; w < 9; w++)
            {
                
                string qe = q[nm];
                l = Int32.TryParse(qe, out number);
                if (l == false)
                {
                    MessageBox.Show("Что-то пошло не так");
                    Application.Exit();
                }
                number1 = Convert.ToDouble(number);
                number1 = mass[n, m];
                n++;
                if (m == 2)
                {
                    x = mass[0, 0] - mass[0, 1];
                    y = mass[1, 0] - mass[1, 1];
                    z = mass[2, 0] - mass[2, 1];
                    a1 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
                    a1 = Math.Pow(a1, 1 / 2);
                    x = mass[0, 1] - mass[0, 2];
                    y = mass[1, 1] - mass[1, 2];
                    z = mass[2, 1] - mass[2, 2];
                    a2 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
 
                    a2 = Math.Pow(a2, 1 / 2);
 
                    x = mass[0, 2] - mass[0, 0];
 
                    y = mass[1, 2] - mass[1, 0];
 
                    z = mass[2, 2] - mass[2, 0];
 
                    a3 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
 
                    a3 = Math.Pow(a3, 1 / 2);
                    p = (a1 + a2 + a3) / 2;
                    otvet = Math.Sqrt(p * (p - a1) * (p - a2) * (p - a3));
                    MessageBox.Show(Convert.ToString(otvet));
 
                }
 
                if (n == 2)
                {
                    n = 0;
                    m++;
 
                }
 
 
            }
 
 
 
 
 
 
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.01.2017, 21:52
Ответы с готовыми решениями:

Исправить код. Двумерный массив
Добрый день. У меня такой вопрос. Как можно исправить данный код, чтобы кол-во столбцов задавалось с клавиатуры, а не было равно 5? ...

Как код переделать в двумерный массив
p:=0; i:=0; while (p=0) and (i&lt;=n-1) do begin i:=i+1; if a&lt;0 then p:=1; end; s:=0; j:=n+1; while (s=0)...

Исправить код, использующий динамический двумерный массив
#include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;iomanip&gt; using namespace std; void main(){ srand(time(NULL)); int n,m; ...

4
0 / 0 / 1
Регистрация: 05.11.2016
Сообщений: 46
06.01.2017, 22:01  [ТС]
Не имеет значения, что я ввожу во все текст боксы кроме 1 точки:x
Миниатюры
Код не проходит двумерный массив   Код не проходит двумерный массив  
0
 Аватар для 1231231ghacking
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
06.01.2017, 22:21
Лучший ответ Сообщение было отмечено UDK как решение

Решение

Измени
C#
1
string qe = q[nm];
на
C#
1
string qe = q[w];
Должно помочь.
1
0 / 0 / 1
Регистрация: 05.11.2016
Сообщений: 46
06.01.2017, 23:09  [ТС]
Спасибо большое, теперь он проходит весь массив, но осталась проблема, что при любых введённых переменных, выдаёт один ответ(как на скрине)
Вот исправленный код
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            string[] q = new string[9];
            double[,] mass = new double[3, 4];
            double x, y, z,a1, a2, a3, otvet, p, number1;
            string qe;
            int n = 0;
            int m = 0;
            int number;
            bool l;
            q[0] = Convert.ToString(textBox1.Text);
            q[1] = Convert.ToString(textBox2.Text);
            q[2] = Convert.ToString(textBox7.Text);
            q[3] = Convert.ToString(textBox5.Text);
            q[4] = Convert.ToString(textBox4.Text);
            q[5] = Convert.ToString(textBox3.Text);
            q[6] = Convert.ToString(textBox9.Text);
            q[7] = Convert.ToString(textBox8.Text);
            q[8] = Convert.ToString(textBox6.Text);
            for (int w = 0; w < 9; w++)
            {
                
                qe = q[w];
                l = Int32.TryParse(qe, out number);
                if (l == false)
                {
                    MessageBox.Show("Что-то пошло не так");
                    Application.Exit();
                }
                number1 = Convert.ToDouble(number);
                mass[n, m] = number1;
                n++;
                if (m == 4)
                {
                    x = mass[0, 0] - mass[0, 1];
                    y = mass[1, 0] - mass[1, 1];
                    z = mass[2, 0] - mass[2, 1];
                    a1 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
                    a1 = Math.Pow(a1, 1 / 2);
                    x = mass[0, 1] - mass[0, 2];
                    y = mass[1, 1] - mass[1, 2];
                    z = mass[2, 1] - mass[2, 2];
                    a2 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
 
                    a2 = Math.Pow(a2, 1 / 2);
 
                    x = mass[0, 2] - mass[0, 0];
 
                    y = mass[1, 2] - mass[1, 0];
 
                    z = mass[2, 2] - mass[2, 0];
 
                    a3 = Math.Pow(x, 2) * Math.Pow(y, 2) * Math.Pow(z, 2);
 
 
                    a3 = Math.Pow(a3, 1 / 2);
                    p = (a1 + a2 + a3) / 2;
                    otvet = Math.Sqrt(p * (p - a1) * (p - a2) * (p - a3));
                    MessageBox.Show(Convert.ToString(otvet));
 
                }
 
                if (n == 2)
                {
                    n = 0;
                    m++;
 
                }
 
 
            }
 
 
 
 
 
 
        }
    }
}
Добавлено через 28 минут
Разобрался. Кому интересно проблема в этом выражении
C#
1
Math.Sqrt(p * (p - a1) * (p - a2) * (p - a3))
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
07.01.2017, 00:05
UDK,
а еще нужно поменять 1/2 на 1.0/2 в строке:
C#
79
a3 = Math.Pow(a3, 1.0 / 2);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.01.2017, 00:05
Помогаю со студенческими работами здесь

Двумерный массив объектов (объяснить код программы)
Вот прога: #include &lt;iostream&gt; using namespace std; class samp { int a; public: samp(int n) {a=n;} int get_a() {return...

Двумерный массив, поиск локального минимума - доработать код
Написал следующий код, вроде запускается и работает только не всегда корректно считает. Задача в следующем найти локальные минимумы ( если...

Вставка нового элемента в двумерный динамический массив дополнить код
Здравствуйте ребята, опять нужна помощь по вставке элементов в двумерный динамический массив. А именно вставить рядок заполненный числами...

Нужно создать код задачи через консоль.Двумерный массив
Помогите пожалуйста,буду очень благодарен!) Дана целочисленная матрица M х N. Переставляя строки заданной матрицы, расположить их в...

Как заполнить двумерный массив из stringGrig, используя указатели. Разобрать код
Здравствуте, у меня возникли некоторые вопросы о указтелях и двумерных массивах. Буду признателен, если кто-нибудь на них ответит. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru