Вывести слова сообщения в порядке возрастания их длин - C#

Узнай цену своей работы

Формулировка задачи:

Дана строка, нужно вывести слова сообщения в порядке возрастания их длин. Проставлюсь плюсами.

Решение задачи: «Вывести слова сообщения в порядке возрастания их длин»

textual
Листинг программы
// III. Дана строка, в которой содержится осмысленное текстовое сообщение. Слова
// сообщения разделяются пробелами и знаками препинания.
// Замечание. При решении задач из данного пункта использовать тип string или StringBuilder.
// Свой выбор обосновать.
// 10. Вывести слова сообщения в порядке возрастания их длин.
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ConsoleApplication
{
    class Program
    {
        static char[] splitter = { ' ', '[', ']', '(', ')', '{', '}', '*', ',', '.', ';', ':', '\u2026', '#', '=' };
 
 
        // 10. Вывести слова сообщения в порядке возрастания их длин.
        static void Func_3_10(String s)
        {
            Console.WriteLine("\n10. Вывести слова сообщения в порядке возрастания их длин.");
            Console.WriteLine("Заданная строка: '{0}' ", s);
            String[] words = s.Split(splitter);
            Object[,] w2 = new Object[2, words.Length];
            int i, j;
            int min = 0xFFFF;
            int max = 0;
            for (i = 0; i < words.Length; i++)
            {
                w2[0, i] = words[i].Length; // записываем длинну слова
                w2[1, i] = words[i];        // записываем слово
                if (words[i].Length < min)
                {
                    min = words[i].Length; // находим минимальную длинну
                }
                if (words[i].Length > max)
                {
                    max = words[i].Length; // находим максимальную длинну
                }
            }
 
            for (j = min; j <= max; j++)
            {
                for (i = 0; i < words.Length; i++)
                {
                    if ((int)w2[0, i] == j) // если длинна слова соответствует текущей длинне
                    {
                        Console.WriteLine("({0}) {1}", w2[0, i], w2[1, i]); // то выводим это слово
                    }
                }
            }
        }
 
 
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            String s;
            // 10. Вывести слова сообщения в порядке возрастания их длин.
            s = "Жучка Бабка Внучка Мурка Мышка Дед Ёжик Егерь"; // строка из предыдущего задания :)
            Func_3_10(s);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы