Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10695
∙ повысить рейтинг »
Micren
Статус: Профессор
Рейтинг: 1763
∙ повысить рейтинг »
Александр Чекменёв
Статус: Академик
Рейтинг: 1355
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Microsoft .NET : C#

Номер выпуска:249
Дата выхода:01.09.2013, 16:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:45 / 23
Вопросов / ответов:3 / 4

Консультация # 181564: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Даны k значений натуральных чисел n. Найти все различные циф-ры, входящие в запись чисел n и их количество. Найти число с наибольшим и наименьшим количеством различных цифр. Построить гистограмму зависимости количества различных цифр в записи числа от его порядкового номер...


Консультация # 141690: Здравствуйте! Как работать с ini-файлами в C#? ...
Консультация # 176913: помогите Написать программу, вычисляющую сколько осталось времени до указанной даты (дата вводится с клавиатуры в Edit). Предусмот- реть возможность выдачи результата в годах, месяцах, днях, мину- тах, секундах (для первых д вух вариантов ответ дробный). Для переключения между вариантами желательно использовать переключатели (Radi...

Консультация # 181564:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Даны k значений натуральных чисел n. Найти все различные циф-ры, входящие в запись чисел n и их количество. Найти число с наибольшим и наименьшим количеством различных цифр. Построить гистограмму зависимости количества различных цифр в записи числа от его порядкового номера
P.S через console application,с пояснениями что где и пожалуйста блок схему в пайнте smile

Дата отправки: 22.12.2010, 22:07
Вопрос задал: Benqq
Всего ответов: 1
Страница онлайн-консультации »


Консультирует PsySex (Профессионал):

Здравствуйте, Benqq!
блок схемы рисовать не умею, может кто-нибудь из других экспертов нарисует.

Код :
using System;
using System.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        //количество значений
        const int k = 5;

        static void Main(string[] args)
        {
            //решение построим на основе невыравненного массива
            char[][] n = new char[k][];
            //для ввода используем 64-битные числа для возможности ввести число побооольше  smile  
            Int64 intvalue;
            bool IsInt;
            //переменные для определения максимальных-минимальынх количеств различных чисел
            int maxDistinct=1;
            int minDistinct=1;
            //переменные для хранения максимального-минимального значения
            Int64 maxDistinctValue = 0;
            Int64 minDistinctValue = 0;
            //массив для хранения количеств не повторяющихся чисел
            int[] Distincts = new int[k];

            //цикл для ввода чисел
            Console.WriteLine("===============ввод данных==================\r\n");
            for (int i = 0; i < k; ++i)
            {
                Console.Write("Введите число n[{0}]:", i);
                IsInt = false;
                while (!IsInt)
                {
                    IsInt =Int64.TryParse(Console.ReadLine(), out intvalue);
                    if (!IsInt)
                        Console.WriteLine("Введено не верное значение!");
                    else
                    {
                        //сразу определим размер массива для цифр, из которых состоит число
                        //и разобъем число в символьный массив
                        n[i] = new char[intvalue.ToString().Length];
                        n[i] = intvalue.ToString().ToCharArray();
                    }
                }
            }

            Console.WriteLine("\r\n==========поиск различных чисел и их количество============\r\n");
            //цикл по всем значениям
            for (int i = 0; i < k; ++i)
            {
                //массив различных цифр в значении
                var uniqueChars = n[i].Distinct();
                //запоминаем количество различных цифр, будет использоваться для построения гистограммы
                Distincts[i] = uniqueChars.Count();
                // число собираем из массива символов
                Console.WriteLine("В числе {0} найдены различные цифры:", new string(n[i]));
                //цикл по массиву различных элементов
                foreach (var uc in uniqueChars)
                {
                    //подсчитываем одинаковое количество цифр в числе
                    int amount = (from a in n[i]
                                  where a == uc
                                  select a).Count<char>();
                    Console.WriteLine("{0} в колличестве {1} шт.", uc, amount);
                }
                //запоминаем максимальное количество
                if (uniqueChars.Count() >= maxDistinct)
                {
                    //запоминаем максимальное количество различных цифр
                    maxDistinct = uniqueChars.Count();
                    //запоминаем число которому принадлежит максимальное количество различных цифр
                    maxDistinctValue = Int64.Parse(new string(n[i]));
                }
                if (uniqueChars.Count() <= minDistinct)
                {
                    //тоже самое для минимального
                    minDistinct = uniqueChars.Count();
                    minDistinctValue = Int64.Parse(new string(n[i]));
                }
            }
            //выводим на экран значения с максимальным и минимальным количеством различных цифр
            Console.WriteLine("\r\n==========max/min количества различных чисел============\r\n");
            Console.WriteLine("Число с максимальным количеством различных цифр: {0}", maxDistinctValue);
            Console.WriteLine("Число с минимальным количеством различных цифр: {0}", minDistinctValue);
            //гистограмма
            //в консоле гистограмму рисуем символами, по другому нельзя
            Console.WriteLine("\r\n===============гистограмма==================");
            Console.WriteLine("порядковый номер:количество различных цифр\r\n");
            for (int i = 0; i < k; ++i)
            {
                Console.WriteLine("{0}:{1}", i, new string('-', Distincts[i]));
            }
            //ждем нажатия клавиши для завершения программы
            Console.ReadKey();
        }
    }
}

Консультировал: PsySex (Профессионал)
Дата отправки: 23.12.2010, 16:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 141690:

Здравствуйте!
Как работать с ini-файлами в C#?

Дата отправки: 18.08.2008, 22:19
Вопрос задал: Абельхарисов Руслан/Marked One (Профессионал)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует DrakoN:

Здравствуйте, Абельхарисов Руслан/Marked One!
using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Ini
{
/// <summary>

/// Create a New INI file to store or load data

/// </summary>

public class IniFile
{
public string path;

[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
string key,string val,string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal,
int size,string filePath);

/// <summary>

/// INIFile Constructor.

/// </summary>

/// <PARAM name="INIPath"></PARAM>

public IniFile(string INIPath)
{
path = INIPath;
}
/// <summary>

/// Write Data to the INI File

/// </summary>

/// <PARAM name="Section"></PARAM>

/// Section name

/// <PARAM name="Key"></PARAM>

/// Key Name

/// <PARAM name="Value"></PARAM>

/// Value Name

public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.path);
}

/// <summary>

/// Read Data Value From the Ini File

/// </summary>

/// <PARAM name="Section"></PARAM>

/// <PARAM name="Key"></PARAM>

/// <PARAM name="Path"></PARAM>

/// <returns></returns>

public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp,
255, this.path);
return temp.ToString();

}
}
}

Консультировал: DrakoN
Дата отправки: 20.08.2008, 14:55
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 176913:

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

Дата отправки: 25.02.2010, 20:46
Вопрос задал: Каминский Руслан Анатольевич
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Челноков Виктор Альбертович (Студент):

Здравствуйте, Каминский Руслан Анатольевич.
ПОсмотрите прикрепленный файл.

Консультировал: Челноков Виктор Альбертович (Студент)
Дата отправки: 26.02.2010, 06:38
Прикреплённый файл: посмотреть » [40.6 кб]
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Andrew Kovalchuk aka Antanel (Профессор):

Здравствуйте, Каминский Руслан Анатольевич.
Прилагаемое решение отличается от предыдущего предложенного способом ввода данных (что в большей мере соответствует условию задачи)
URL >> Решение задачи из вопроса 176913

Консультировал: Andrew Kovalchuk aka Antanel (Профессор)
Дата отправки: 26.02.2010, 17:58
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное