Блок-схема: Из файла удалить слова-палиндромы - C#

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

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

Составить блок схему задачи по коду: условие: Из файла удалить слова-полиндромы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication17
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("введите имя входного файла: ");
            string inFileName = Console.ReadLine();
            Console.WriteLine("введите имя выходного файла: ");
            string outFileName = Console.ReadLine();
            FileWorker fileWorker = new FileWorker();
            fileWorker.processFile(inFileName, outFileName);
        }
    }
    public class StringWorker
    {
        public string str;
        public bool needDelWord(string word)
        {
            //убираем чувствительность к регистру
            for (int i = 0; i < word.Length; i++)
            {
                if (word[i] != word[word.Length - 1 - i])
                {
                    return false;
                }
            }
            return true;
        }
        private bool isSeparator(char c) {
string oneCharStr = "" + c;
return " .,?!".Contains(oneCharStr);
 
}
        public int getWordLength(int index)
        {
            int res = 0;
            for (int i = index; i < str.Length; i++)
            {
                if (isSeparator(str[i]))
                {
                    break;
                }
                res = res + 1;
            }
            return res;
        }
        public void processString()
        {
            for (int i = 0; i < str.Length; i++)
            {
                if (isSeparator(str[i]))
                {
                    continue;
                }
                int len = getWordLength(i);
                string word = str.Substring(i, len);
                if (needDelWord(word))
                {
                    str = str.Remove(i, len);
                }
                else
                {
                    i = i + len;
                }
            }
        }
    }
    public class FileWorker
    {
        public void processFile(string inFileName, string outFileName)
        {
            try
            {
                string[] content = File.ReadAllLines(inFileName);
                string[] processLines = new string[content.Length];
                for (int i = 0; i < content.Length; i++)
                {
                    StringWorker worker = new StringWorker();
                    worker.str = content[i];
                    worker.processString();
                    processLines[i] = worker.str;
                }
                File.WriteAllLines(outFileName, processLines);
            }
            catch
            {
                Console.WriteLine("Возникла ошибка при обработке");
            }
        }
    }
}

Решение задачи: «Блок-схема: Из файла удалить слова-палиндромы»

textual
Листинг программы
public Form1()
        {
            InitializeComponent();
            //Блок-схема
            //1-й блок: считываем слова из файла в массив строк ir - это у Вас есть
            //две строки ниже только для показа
            string ish = "кот сок сос топот";
            string[] ir = ish.Split(new char[] { ' ', '.', ',' });
            //2-й блок: прводим фильтрацию (Where) массива строк ir, 
            //сравнивая слово с его перевертышем
            //3-й блок: результат фильрации заносим в массив строк
            string[] d = ir.Where(x => x != Flip(x)).ToArray();
            //4-й блок: массив d записываем в файл - это у Вас есть
        }
        string Flip(string t)//переворачиваем слово
        {
            string r = "";
            for (int i = t.Length - 1; i >= 0; i--)
                r += t[i];
            return r;
        }
    }

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


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

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

11   голосов , оценка 4.182 из 5