Answer to Question #283375 in C# for kani

Question #283375

Given a pair of words (the first is the correct spelling and the second is the contestant’s spelling of the given word) determines if the word is spelled correctly.

The degree of correctness is as follows:

  • CORRECT - If it is an exact match.
  • ALMOST CORRECT – If no more than 2 letters are wrong.
  • WRONG - if 3 or more than 3 letters are wrong and

Note: If the length of the strings is not equal then we need to print wrong.


Write a program to find the word spelled correctly or not.


1
Expert's answer
2021-12-29T02:19:46-0500
using System;

namespace ConsoleApplication2
{
    internal class Program
    {
        static void Main()
        {
            Console.Write("Введите первое слово: ");
            string word_1 = Console.ReadLine(); // Первое правильное слово
            Console.Write("Введите второе слово: ");
            string word_2 = Console.ReadLine(); // Второе вводимое слово
            int length  = word_1.Length - word_2.Length; // Длина введенного пользователем слова
            
            byte counter = 0; // Счетчик ошибок
            byte stop = (byte) word_2.Length; // Эта переменная нужна чтобы узнать длину слова и урегулировать цикл. И чтобы синтаксис был проще
            if (word_2.Length - word_1.Length > 0) // Если пользователь ввел одну лишнюю букву, то цикл будет на раз меньше и прибавится ошибка
            {
                stop -= (byte) (word_2.Length - word_1.Length); // чтобы не делать цикл длинным и не выходить вне границ массива!
                counter += (byte) (word_2.Length - word_1.Length); // чтобы прибавить ошибку
            }
            for (int i = 0; i < stop-1; i++) // проверка правописания
                if (word_1[i] != word_2[i] && word_1[i] != word_2[i+1])
                    counter++;
            
            // Здесь внизу что-то улучшить или удалить какую нибудь строчку не получится!
            // Потому-что здесь проверяется и синтаксис и длина слова!
            if(counter == 0 && length == 0)
                Console.WriteLine("Правильно!");
            else if(counter == 0 && word_2.Length - word_1.Length <= 2 && word_2.Length - word_1.Length >= 0)
                Console.WriteLine("Почти правильно!");
            else if(counter == 0 && word_2.Length - word_1.Length >= 3)
                Console.WriteLine("Неправильно!");
            
            else if(counter <= 2 && length >= 1 && length <=2)
                Console.WriteLine("Почти правильно!");
            else if(counter >= 3 || length >=3 || length < 0)
                Console.WriteLine("Неправильно!");
            Console.ReadLine();
        }
    }
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS