Программа читает текст из файла, и определяет сколько слов состоящих не более 4 букв

даниил232323

Программа читает текст из файла, и определяет сколько слов состоящих не более 4 букв. Написал код но что то не так и громозко.Помогите исправить.Спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {StreamReader d = new StreamReader("d:\\int.txt",Encoding.Default);
            string s = d.*********();
            Console.WriteLine(s);
            char[] a = s.ToCharArray();
 
            int coun = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if(i>='А'&&i<='я')
                {
                    if ((i + 1) >= 'А' && (i + 1) <= 'я')
                    {
                        if ((i + 2) >= 'А' && (i + 2) <= 'я')
                        {
                            if ((i + 3) >= 'А' && (i + 3) <= 'я')
                            {
                            }
                            else
                            {
                                coun++;
                            }
 
                              
                        }
                        else
                        {
                            coun++;
                        }
                    }
                    else
                    {
                        coun++;
                    }
                }
                else
                {
                    coun++;
                }
            }
            Console.WriteLine(coun);
 
 
            d.Close();
            Console.ReadKey();
        }
    }
}
3 ответа

даниил232323

using (StreamReader d = new StreamReader("d:\\int.txt", Encoding.Default))
            {
                string[] mass = d.*********().Split(' ');
                int count = 0;
                for (int i = 0; i < mass.Length; i++)
                {
                    if (mass[i].Length > 4)
                        count++;
                }
            }


даниил232323

Код pokerface несомненно оптимальней вашего. Но на будущее, обращение к массиву по индексу осуществляется так:
if(a[i] >= 'А '&& a[i] <= 'я')


даниил232323

ой, затупил)) замените условие на if (mass[i].Length <= 4)