Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 12.10.2011
Сообщений: 37
1

Считав массив, заполнить им стек и найти минимальный элемент

09.04.2014, 06:34. Показов 2363. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Считав массив, заполнить им стек и найти минимальный элемент. Минимальный элемент нужно находить уже после того как очередь построена. Задача реализуется с помощью Windows Forms.
Пример ввода:
1 2 3 4 1 2 1 1 5 2 7 7 1 3
Вывод на данный пример:
1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2014, 06:34
Ответы с готовыми решениями:

Считав массив, заполнить им список. Найти минимальный элемент листа в области от элемента с индексом L до R
Считав массив, заполнить им список. Найти минимальный элемент листа в области от элемента с...

Заполнить массив случайными числами, найти минимальный элемент
8. Дан одномерный массив, состоящий из N вещественных элементов. 8.1. Заполнить массив случайными...

Заполнить двумерный массив N x N случайными числами из интервала [-10;10] и найти минимальный элемент в каждом столбце.
2.Заполнить двумерный массив N x N случайными числами из интервала и найти минимальный элемент в...

Стек (найти максимальный и минимальный элемент)
#include<iostream> #include<ctime> using namespace std; class Stack { public: class...

15
35 / 35 / 0
Регистрация: 04.04.2014
Сообщений: 63
09.04.2014, 08:10 2
ух.
Вот, считываем массив введенный с клавиатуры (элементы массива должны быть разделены пробелом или пробелами), и выводим младшего на экран.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static void Main(string[] args)
        {
            string inputData = "";
            int minimum = 2147483647;
            string[] massive;
            inputData = Console.ReadLine();
            massive=inputData.Split(' ');
            foreach (var s in massive)
            {
                if (Convert.ToInt32(s) < minimum)
                {
                    minimum = Convert.ToInt32(s);
                }
            }
            
            Console.WriteLine(minimum);
 
            Console.ReadLine();
        }
Добавлено через 3 минуты
Ну или вот тот же вариант, только почище, без лишнего мусора фактически:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        static void Main()
        {
            int minimum = 2147483647;
            foreach (var s in Console.ReadLine().Split(' '))
            {
                if (Convert.ToInt32(s) < minimum)
                {
                    minimum = Convert.ToInt32(s);
                }
            }
            Console.WriteLine(minimum);
            Console.ReadLine();
        }
1
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 09:47 3
Saykiro, а что такое "2147483647"?
0
35 / 35 / 0
Регистрация: 04.04.2014
Сообщений: 63
09.04.2014, 09:48 4
Костыль
Мог написать int.minvalue =)
1
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 09:48 5
Saykiro, и кстати вы задание читали? вы его не решили
0
Эксперт .NET
5534 / 4298 / 1217
Регистрация: 12.10.2013
Сообщений: 12,332
Записей в блоге: 2
09.04.2014, 09:50 6
Saykiro, разговор был как-бы про стек... Да и минимум определяется одной строкой...
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Ежик
{
    class Program
    {
        static void Main(string[] args)
        {
            Stack<int> myStack = new Stack<int>();
            string temp = null;
            do
            {
                Console.WriteLine("Enter your number or Q for Exit:");
                temp = Console.ReadLine();
                int n;
                if (!int.TryParse(temp, out n))
                {
                    temp = temp.ToLower();
                }
                else
                    myStack.Push(n);
            }
            while (temp!="q");
            Console.WriteLine("Minimum in Stack: {0}", myStack.Min());
            Console.ReadLine();
        }
    }
}
0
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 09:50 7
Цитата Сообщение от Saykiro Посмотреть сообщение
Мог написать int.minvalue =)
в таких алгоритмах лучше минимальным применять первое значение массива , и далее сравнивать с остальными
0
35 / 35 / 0
Регистрация: 04.04.2014
Сообщений: 63
09.04.2014, 09:51 8
Или мог сделать int nullable в момент инициализации, и определить как null=)
1
insite2012
09.04.2014, 09:52
  #9

Не по теме:

Цитата Сообщение от Saykiro Посмотреть сообщение
Костыль
Это не костыль... Скорее протез...

0
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 10:04 10
на форме делаем два текстбокса и одну кнопку
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        private void button1_Click(object sender, EventArgs e)
        {
           
            var stack = new Stack<int>();
            string[] s = textBox1.Text.Split();
            foreach (string c in s)
            {
                stack.Push(Int32.Parse(c));
            }
 
            int min = stack.Pop();
 
            while (stack.Count >0)
            {
                var temp = stack.Pop();
                if (temp < min)
                    min = temp;
            }
            textBox2.Text = min.ToString();
 
        }
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
09.04.2014, 10:06 11
Анастасия Ёжик, так нужна очередь или стек???
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
09.04.2014, 11:55 12
Цитата Сообщение от Metall_Version Посмотреть сообщение
в таких алгоритмах лучше минимальным применять первое значение массива , и далее сравнивать с остальными
А в чём преимущество этого метода по сравнению со сравнением с Int.MinValue?
0
Заблокирован
09.04.2014, 11:57 13
Цитата Сообщение от tezaurismosis Посмотреть сообщение
А в чём преимущество этого метода по сравнению со сравнением с Int.MinValue?
tezaurismosis, На 1 сравнение меньше
2
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 12:02 14
Цитата Сообщение от tezaurismosis Посмотреть сообщение
А в чём преимущество этого метода по сравнению со сравнением с Int.MinValue?
что лучше написать
C#
1
2
3
 int min = mas[0]; 
или 
int min = 212154684864;
по читаемости . в крайнем случае писать или MinValue или MaxValue.
и то если потом понадобится искать значение типа более Int32 (long например) нужно изменять лишнюю строку.
и если потом захочется находить не мин а макс(или и мин и макс) - достаточно будет изменить в условии один знак">" (или пару строк) .а не пару строк (а не более пары строк) .
мое имхо так намного читабельнее и универсальней
0
35 / 35 / 0
Регистрация: 04.04.2014
Сообщений: 63
09.04.2014, 12:04 15
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
tezaurismosis, На 1 сравнение меньше
Вы просто замените сравнение первого элемента с int.minvalue ? Получите на один цикл сравнения меньше, но определяться minimum будет не явно заданной цифрой, а чем то вроде massive[0], даже не возьмусь сказать насколько это лучше...
1
2151 / 1288 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.04.2014, 12:26 16
Ev_Hyper, да и плюс это
0
09.04.2014, 12:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2014, 12:26
Помогаю со студенческими работами здесь

Стек: найти минимальный элемент и заменить на 0
Создать стек со случайными целыми числами. Найти минимальный элемент и вставить на его место 0

Ввести символы, формируя из них стек. Найти минимальный элемент и вставить после него 0
Ввести символы, формируя из них стек.Найти минимальный элемент и вставить после него 0. Как сделать?

Ввести символы, формируя из них стек. Найти минимальный элемент и вставить на его место 0
Задание: Ввести символы, формируя из них стек.Найти минимальный элемент и вставить на его место 0....

Двумерный массив. Найти минимальный элемент, умножить элементы матрицы на минимальный
найти элемент с минимальным значением и заменить элементы матрицы на произведение её элементов на...

Создать таблицу и найти в ней минимальный элемент, затем найти второй минимальный элемент и узнать расстояние между ними
Например у нас есть таблица Минимальным элементом является 1, а следующим минимальным элементом...

Массивы. Заполнить случайными числами. Найти минимальный отрицательный элемент. Вычислить среднеарифмитическое положительных
С помощью динамического массива составить прогу 1.Заполнить массив массив случайными числами....


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru