Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2014, 20:17   #1
trololo13100
Новичок
Джуниор
 
Регистрация: 05.02.2014
Сообщений: 5
По умолчанию Дан массив целых чисел.

Дан массив целых чисел. Найти максимальное и минимальное число в этой последовательности (Значения массива можно вводить с клавиатуры, вычитывать из файла, или задавать случайно. Желательно попробовать все способы).
trololo13100 вне форума Ответить с цитированием
Старый 05.02.2014, 22:13   #2
Derdemyansky
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 15
По умолчанию

Вот что породило мое уставшее воображение:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSTest
{
    class CustomArray
    {
        public CustomArray(uint length)
        {
            this.length = length;
            array = new int[length];
        }

        public void FillRandom()
        {
            if (length == 0)
                throw new Exception();
            Random rnd = new Random();
            for (int i = 0; i < length; i++ )
                array[i] = rnd.Next(0, 100);
        }

        public void FillFromConsole()
        {
            if (length == 0)
                throw new Exception();
            string line;
            for (int i = 0; i < length; i++ )
            {
                Console.WriteLine("Введите число:");
                line = Console.ReadLine();
                array[i] = Convert.ToInt32(line);
            }
        }

        public void Print()
        {
            for (int i = 0; i < length; i++)
                Console.WriteLine(String.Format("Number: {0}", array[i]));
        }

        public int GetMin()
        {
            if(length == 0)
                throw new Exception();
            int min = array[0];

            for(int i=1;i<length;i++)
            {
                if (array[i] < min)
                    min = array[i];
            }
            return min;
        }

        public int GetMax()
        {
            if (length == 0)
                throw new Exception();
            int max = array[0];

            for (int i = 1; i < length; i++)
            {
                if (array[i] > max)
                   max = array[i];
            }
            return max;
        }

        private int[] array;
        private uint length;
    }
    class Program
    {
        static void Main(string[] args)
        {
            CustomArray array1 = new CustomArray(5);
            array1.FillRandom();
            Console.WriteLine("Array 1:");
            array1.Print();
            Console.WriteLine(String.Format("Arr1:Min: {0}, max: {1}", array1.GetMin(), array1.GetMax()));
            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
    }
}
Работа с файлами есть на MSDN, уже просто лень писать все.
Derdemyansky вне форума Ответить с цитированием
Старый 06.02.2014, 01:38   #3
trololo13100
Новичок
Джуниор
 
Регистрация: 05.02.2014
Сообщений: 5
По умолчанию

Спасибо, вроде работает!!!)
trololo13100 вне форума Ответить с цитированием
Старый 06.02.2014, 01:50   #4
trololo13100
Новичок
Джуниор
 
Регистрация: 05.02.2014
Сообщений: 5
По умолчанию

Но мне кажется должно быть и более короткое решение?
trololo13100 вне форума Ответить с цитированием
Старый 06.02.2014, 11:17   #5
Derdemyansky
Пользователь
 
Регистрация: 28.01.2014
Сообщений: 15
По умолчанию

Можно и короче, на одних только статических функциях. Но тут C#, а он объектно-ориентированный. А значит, если есть данные и методы обработки их, то стоит их обернуть в класс.
Код выше - только ориентировка. Он довольно некрасив, но основные моменты есть (заполнение массива двумя способами, поиск минимума и максимума). По поводу массивов в C# можно почитать в MSDN: вот тут. Там есть статьи и по передаче массивов в методы, и по возврату результата, и т.д.
Derdemyansky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив целых чисел mixon-21 Общие вопросы C/C++ 4 30.05.2013 08:08
Дан массив целых чисел (n=12) SoulKeep Паскаль, Turbo Pascal, PascalABC.NET 1 29.06.2012 00:04
Дан массив из N целых чисел. Получить из него массив чисел по модулю меньших 10 и отсортировать его(язык си++) mitja-zakelidis Помощь студентам 2 15.03.2012 03:10
дан массив А из К целых чисел. amikulia Помощь студентам 1 14.01.2011 12:41