Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 71 стр.

UptoLike

71
Код программы для задачи 6.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
Console.WriteLine("Введите символьную строку");
string ss = Console.ReadLine();
int n = ss.Length; // длина строки
int imax=0, // позиция слова максимальной длины
imin=0, // позиция слова минимальной длины
max=0, // длина максимального слова
min=n, // длина минимального слова
// (нач. значение - длина строки)
i=0;
int k;
// получение массива символов строки
char[] s = ss.ToCharArray();
while(i < n)
{
while( i < n && ss[i]==' ')
i++;
k=0;
while(i < n && ss[i]!=' ')
{
i++; k++;
}
if(k > max)
{
max = k; imax = i - k;
}
if(k < min)
{
min = k;
imin = i - k;
}
}
// меняем местами первые символы слов в количестве min
for(k = 0; k < min; k++)
{
char z = s[imax + k];
s[imax + k]=s[imin + k];
s[imin + k]=z;
}
Код программы для задачи 6.
using System;

namespace Examples
{
    class Program1
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите символьную строку");
            string ss = Console.ReadLine();
            int n = ss.Length;        // длина строки
            int imax=0, // позиция слова максимальной длины
                    imin=0,    // позиция слова минимальной длины
                    max=0,     // длина максимального слова
                    min=n,     // длина минимального слова
                             // (нач. значение - длина строки)
                  i=0;
            int k;
            // получение массива символов строки
            char[] s = ss.ToCharArray();
            while(i < n)
            {
                        while( i < n && ss[i]==' ')
                               i++;
                        k=0;
                        while(i < n && ss[i]!=' ')
                        {
                               i++; k++;
                        }
                        if(k > max)
                        {
                               max = k; imax = i - k;
                        }
                        if(k < min)
                        {
                               min = k;
                               imin = i - k;
                        }
            }
            // меняем местами первые символы слов в количестве min
            for(k = 0; k < min; k++)
            {
                        char z = s[imax + k];
                        s[imax + k]=s[imin + k];
                        s[imin + k]=z;
            }




                                  71