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

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

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

Составить блок схему задачи по коду: условие: Из файла удалить слова-полиндромы
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. namespace ConsoleApplication17
  7. {
  8. class Program
  9. {
  10. static void Main()
  11. {
  12. Console.WriteLine("введите имя входного файла: ");
  13. string inFileName = Console.ReadLine();
  14. Console.WriteLine("введите имя выходного файла: ");
  15. string outFileName = Console.ReadLine();
  16. FileWorker fileWorker = new FileWorker();
  17. fileWorker.processFile(inFileName, outFileName);
  18. }
  19. }
  20. public class StringWorker
  21. {
  22. public string str;
  23. public bool needDelWord(string word)
  24. {
  25. //убираем чувствительность к регистру
  26. for (int i = 0; i < word.Length; i++)
  27. {
  28. if (word[i] != word[word.Length - 1 - i])
  29. {
  30. return false;
  31. }
  32. }
  33. return true;
  34. }
  35. private bool isSeparator(char c) {
  36. string oneCharStr = "" + c;
  37. return " .,?!".Contains(oneCharStr);
  38. }
  39. public int getWordLength(int index)
  40. {
  41. int res = 0;
  42. for (int i = index; i < str.Length; i++)
  43. {
  44. if (isSeparator(str[i]))
  45. {
  46. break;
  47. }
  48. res = res + 1;
  49. }
  50. return res;
  51. }
  52. public void processString()
  53. {
  54. for (int i = 0; i < str.Length; i++)
  55. {
  56. if (isSeparator(str[i]))
  57. {
  58. continue;
  59. }
  60. int len = getWordLength(i);
  61. string word = str.Substring(i, len);
  62. if (needDelWord(word))
  63. {
  64. str = str.Remove(i, len);
  65. }
  66. else
  67. {
  68. i = i + len;
  69. }
  70. }
  71. }
  72. }
  73. public class FileWorker
  74. {
  75. public void processFile(string inFileName, string outFileName)
  76. {
  77. try
  78. {
  79. string[] content = File.ReadAllLines(inFileName);
  80. string[] processLines = new string[content.Length];
  81. for (int i = 0; i < content.Length; i++)
  82. {
  83. StringWorker worker = new StringWorker();
  84. worker.str = content[i];
  85. worker.processString();
  86. processLines[i] = worker.str;
  87. }
  88. File.WriteAllLines(outFileName, processLines);
  89. }
  90. catch
  91. {
  92. Console.WriteLine("Возникла ошибка при обработке");
  93. }
  94. }
  95. }
  96. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут