Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701

Что делать? Ввожу три одинаковых цифры и выдаёт ошибку

19.01.2019, 00:46. Показов 1398. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
А если все три нуля то что тогда выдаёт ошибку как сделать условие что бы выдавала сообщения об ошибки ?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 3;
            int[] mas = new int[n];
            Console.WriteLine("Введите числа");
 
            for (int i = 0; i < n; i++)
            {
                mas[i] = int.Parse(Console.ReadLine());
            }
 
            int max1 = mas.Max(); // первый максимальный элемент
            int[] max = { mas.Max() };
            mas = (from t in mas where !max.Contains(t) select t).ToArray(); // удаляем и первоначального массива max1
            int max2 = mas.Max(); // второй максимальный элемент
            Console.WriteLine("Максимальные элементы " + max1 + " и " + max2);
            Console.WriteLine("Третий элемент" + mas.Min());
            Console.ReadLine();
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.01.2019, 00:46
Ответы с готовыми решениями:

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

Верно ли, что число содержит три одинаковых цифры
Надо написать программу к этой задаче : Дано натурально число n(n &lt;(или равно)9999).Учитывая все четыре цифры числа, определить,...

SetContentTitle and Text выдаёт цифры, что делать?
Доброго времени суток)) В моём приложении, которое реализовано на нескольких языках, создаётся уведомление. Нужно, чтобы это уведомление...

8
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
19.01.2019, 01:00  [ТС]
Помогите пожалуйста.
Ошибка на строчке 37 строка
int max2 = mas.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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Условие программы: Даны три числа. " +
                    " \nОпределить, можно ли построить треугольник с указанными длинами сторон. " +
                    " \nЕсли можно, то указать, будет ли он остро-, прямо- или тупоугольным.");
 
                int n = 3;
                int[] mas = new int[n];
 
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\nВведите три числа");
 
                for (int i = 0; i < n; i++)
                {
                    Console.Write("Введите число № {0}: ", i + 1); // Ввод чисел массивов (по порядку)
                    mas[i] = Convert.ToInt32(Console.ReadLine());
                }
 
                Console.WriteLine("");
 
                int max1 = mas.Max();
                int[] max = { mas.Max() };
                mas = (from t in mas where !max.Contains(t) select t).ToArray();
 
                int max2 = mas.Max();
 
                Console.WriteLine("A = " + max2);
                Console.WriteLine("B = " + mas.Min());
                Console.WriteLine("C = " + max1);
 
                double AB1 = max2 + mas.Min();
                double C1 = max1;
 
                while (AB1 <= C1)
                {
                    Console.WriteLine("\nИз этих отрезков нельзя построить треугольник.");
                    break;
                }
 
                while (AB1 > C1)
                {
                    Console.WriteLine("\nИз этих отрезков можно построить треугольник.");
 
                    double AB = (max2 * max2) + (mas.Min() * mas.Min());
                    double C = max1 * max1;
 
                    if (AB > C)
                    {
                        Console.WriteLine("Это остроугольный треугольник.");
                    }
                    else if (AB < C)
                    {
                        Console.WriteLine("Это тупоугольный треугольник.");
                    }
                    else if (AB == C)
                    {
                        Console.WriteLine("Это прямоугольный треугольник.");
                    }
                    break;
                }
                Console.ReadKey();
            }
        }
    }
}
0
9 / 6 / 3
Регистрация: 15.08.2018
Сообщений: 55
19.01.2019, 03:23
У вас не ошибка а исключение вылетает. Программа пытается найти самое большое число, но не может, так как они все одинаковые.

Добавлено через 32 минуты
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
using System;
using System.Linq;
 
namespace Тест
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Условие программы: Даны три числа. " +
                    " \nОпределить, можно ли построить треугольник с указанными длинами сторон. " +
                    " \nЕсли можно, то указать, будет ли он остро-, прямо- или тупоугольным.");
 
                int n = 3;
                int[] mas = new int[n];
 
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\nВведите три числа");
 
                for (int i = 0; i < n; i++)
                {
                    Console.Write("Введите число № {0}: ", i + 1); // Ввод чисел массивов (по порядку)
                    mas[i] = Convert.ToInt32(Console.ReadLine());
                }
 
                Console.WriteLine("");
 
                int max1 = mas.Max();
                int[] max = { mas.Max() };
                mas = (from t in mas where !max.Contains(t) select t).ToArray();
 
 
                if (mas.Count() > 1)
                {
                    int max2 = mas.Max();
 
 
                    Console.WriteLine("A = " + max2);
                    Console.WriteLine("B = " + mas.Min());
                    Console.WriteLine("C = " + max1);
 
                    double AB1 = max2 + mas.Min();
                    double C1 = max1;
 
                    while (AB1 <= C1)
                    {
                        Console.WriteLine("\nИз этих отрезков нельзя построить треугольник.");
                        break;
                    }
 
                    while (AB1 > C1)
                    {
                        Console.WriteLine("\nИз этих отрезков можно построить треугольник.");
 
                        double AB = (max2 * max2) + (mas.Min() * mas.Min());
                        double C = max1 * max1;
 
                        if (AB > C)
                        {
                            Console.WriteLine("Это остроугольный треугольник.");
                        }
                        else if (AB < C)
                        {
                            Console.WriteLine("Это тупоугольный треугольник.");
                        }
                        else if (AB == C)
                        {
                            Console.WriteLine("Это прямоугольный треугольник.");
                        }
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Равносторонний треугольник.");
                }
                Console.ReadKey();
            }
        }
    }
}
Добавлено через 1 минуту
Еще желательно пару проверок дописать, что бы не выскакивало исключение когда, например, ввел не корректные данные.

Добавлено через 1 час 1 минуту
В конце не
else
{
Console.WriteLine("Равносторонний треугольник.");
}
а
C#
1
2
3
4
5
6
7
8
else if(mas.Count() == 0)
                {
                    Console.WriteLine("Равносторонний треугольник.");
                }
                else
                {
                    Console.WriteLine("Равнобедренный треугольник.");
                }
Так точнее будет
0
9 / 6 / 3
Регистрация: 15.08.2018
Сообщений: 55
19.01.2019, 03:41
Лучший ответ Сообщение было отмечено Nikita110001 как решение

Решение

Выдает исключение не когда все три нуля, а когда все 3 числа одинаковые.

Добавлено через 35 минут
Nikita110001
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
using System;
using System.Linq;
 
namespace Тест
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 3;
            int[] mas = new int[n];
            Console.WriteLine("Введите числа");
 
            for (int i = 0; i < n; i++)
            {
                mas[i] = int.Parse(Console.ReadLine());
            }
 
            int max1 = mas.Max(); // первый максимальный элемент
            int[] max = { mas.Max() };
            mas = (from t in mas where !max.Contains(t) select t).ToArray(); // удаляем и первоначального массива max1
            if (mas.Count() > 1)
            {
                int max2 = mas.Max(); // второй максимальный элемент
                Console.WriteLine("Максимальные элементы " + max1 + " и " + max2);
                Console.WriteLine("Третий элемент" + mas.Min());
            }
            else if(mas.Count() == 0)
            {
                Console.WriteLine("Все элементы равны");
            }
            else
            {
                Console.WriteLine($"Два одинаковых максимальных элемента : {max1}");
                Console.WriteLine("Третий элемент" + mas.Min());
            }
            Console.ReadLine();
        }
    }
}
И еще нужно учесть тот случай, если два минимальных элемента и только один максимальный.
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
19.01.2019, 12:44  [ТС]
Как ты построишь из трёх нулей равносторонний треугольник ?
ноль это же не чего чистый лист значит должно выводить Из этих отрезков нельзя построить треугольник.
0
9 / 6 / 3
Регистрация: 15.08.2018
Сообщений: 55
19.01.2019, 13:21
Nikita110001, Добавь проверку на ноль. Это проблема не в нулюх а в трех равный числах.

Добавлено через 9 минут
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.Linq;
 
namespace Тест
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Условие программы: Даны три числа. " +
                    " \nОпределить, можно ли построить треугольник с указанными длинами сторон. " +
                    " \nЕсли можно, то указать, будет ли он остро-, прямо- или тупоугольным.");
 
                int n = 3;
                int[] mas = new int[n];
 
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\nВведите три числа");
 
                for (int i = 0; i < n; i++)
                {
                    Console.Write("Введите число № {0}: ", i + 1); // Ввод чисел массивов (по порядку)
                    mas[i] = Convert.ToInt32(Console.ReadLine());
                }
 
                Console.WriteLine("");
 
                int max1 = mas.Max();
                int[] max = { mas.Max() };
                mas = (from t in mas where !max.Contains(t) select t).ToArray();
 
 
                if (mas.Count() > 1)
                {
                    int max2 = mas.Max();
 
 
                    Console.WriteLine("A = " + max2);
                    Console.WriteLine("B = " + mas.Min());
                    Console.WriteLine("C = " + max1);
 
                    double AB1 = max2 + mas.Min();
                    double C1 = max1;
 
                    while (AB1 <= C1)
                    {
                        Console.WriteLine("\nИз этих отрезков нельзя построить треугольник.");
                        break;
                    }
 
                    while (AB1 > C1)
                    {
                        Console.WriteLine("\nИз этих отрезков можно построить треугольник.");
 
                        double AB = (max2 * max2) + (mas.Min() * mas.Min());
                        double C = max1 * max1;
 
                        if (AB > C)
                        {
                            Console.WriteLine("Это остроугольный треугольник.");
                        }
                        else if (AB < C)
                        {
                            Console.WriteLine("Это тупоугольный треугольник.");
                        }
                        else if (AB == C)
                        {
                            Console.WriteLine("Это прямоугольный треугольник.");
                        }
                        break;
                    }
                }
                
                else if (mas.Count() == 0)
                {
                    if (max1 == 0)
                    {
                        Console.WriteLine("Из этих отрезков нельзя построить треугольник");
                    }
                    else
                    {
                        Console.WriteLine("Равносторонний треугольник.");
                    }
                }
                else
                {
                    if (mas[0]==0)
                    {
                        Console.WriteLine("Из этих отрезков нельзя построить треугольник");
                    }
                    else
                    {
                        Console.WriteLine("Равнобедренный треугольник.");
                    }
                }
                Console.Read();
            }
        }
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16124 / 11248 / 2888
Регистрация: 21.04.2018
Сообщений: 33,081
Записей в блоге: 2
19.01.2019, 14:35
Цитата Сообщение от Nikita110001 Посмотреть сообщение
Как ты построишь из трёх нулей равносторонний треугольник ?
Это (в математике) случай вырожденного треугольника. Он может вырождаться в точку (если все три вершины совпадают) или в отрезок (когда две вершины совпадают или все три вершины лежат на одной прямой).
1
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
21.01.2019, 22:01  [ТС]
Так какой это треугольник это одна линия прямая ну одна точка
0
9 / 6 / 3
Регистрация: 15.08.2018
Сообщений: 55
21.01.2019, 23:53
Nikita110001, Математика она такая)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2019, 23:53
Помогаю со студенческими работами здесь

Выдает ошибку, что делать?
procedure TForm1.FormCreate(Sender: TObject); var VolName, FileSysName :array of Char; FileSysFlags, VolSerialNum, ...

Выдает ошибку что делать?
jtablesession::Store Failed DB function failed with error number 1054 Unknown column 'client_id' in 'field list' SQL=INSERT INTO...

Выдаёт ошибку.Что делать?
import random while True: Min = int(input(&quot;Минимальное число для угадывания: &quot;)) Max = int(input(&quot;Максимальное число для...

Выдает ошибку в DialogInterface, что делать?
package com.example.learn; import android.content.DialogInterface; import android.content.res.ColorStateList; import...

в uses ошибку выдает что делать не знаю
Unit MyModul; Interface Procedure ADD (Var s1,s2:string); Function scep (s1,s2:string):string; Implementation Procedure...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru