Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.CodeDom;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ReverseSentence
- {
- class Program
- {
- static void Main(string[] args)
- {
- var sentence = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.".ToCharArray();
- var sentenceLength = sentence.Length;
- var sentenceMax = sentence.Length -1;
- var reversedSentence = new char[sentenceLength];
- var writeIndex = sentenceMax;
- var wordLength = 0;
- for (int i = 0; i < sentenceLength; i++)
- {
- if(i == sentenceMax)
- {
- writeIndex -= wordLength - 1;
- Array.Copy(sentence, i - wordLength, reversedSentence, writeIndex, wordLength);
- writeIndex--;
- reversedSentence[writeIndex] = sentence[i];
- break;
- }
- switch (sentence[i])
- {
- case ' ':
- case ',':
- case '.':
- {
- writeIndex -= wordLength -1;
- Array.Copy(sentence, i - wordLength, reversedSentence, writeIndex, wordLength);
- writeIndex--;
- reversedSentence[writeIndex] = sentence[i];
- writeIndex--;
- wordLength = 0;
- break;
- }
- default:
- {
- wordLength++;
- break;
- }
- }
- }
- Console.WriteLine($"sentence: {new string(sentence)}");
- Console.WriteLine($"sentence: {new string(reversedSentence)}");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement