using System.Text; namespace ConsoleApp1; class Program{ //Tresais uzdevums, veidoja Markuss Labrencis 3.24.2025. Uz Windows 11 24H2 (26100.3476) static void Main(){ Console.Write("Ievadi teikumu: "); string teikums = Console.ReadLine(); Console.Write("Samainiti vardi: "); string reversa1 = reverset(teikums); Console.WriteLine(reversa1); Console.Write("Samainiti burti vardos: "); string reversa2 = reverset2(teikums); Console.WriteLine(reversa2); //veido piramidas lidzigu figuru centret(teikums); //veido piramidas lidzigu figuru preteji pirmajai preteji(teikums); //veido trepes no labas puses atklat(teikums); //veido trepes no kreisas puse un apgriezta seciba atklat2(teikums); } /** * reverse vardu secibu teikuma */ static string reverset(string teikums){ //sadala teikumu vardos string[] vardi = teikums.Split(' '); //apgriez vardu secibu Array.Reverse(vardi); //parveido pirmo vardu ar lielo sakumburtu parejos uz maziem if (vardi.Length > 0){ vardi[0] = kapitalizet(vardi[0]); for (int i = 1; i < vardi.Length; i++){ vardi[i] = vardi[i].ToLower(); } } //saliek visu viena stringa(teikuma) return string.Join(" ", vardi); } /** * apgriez burtus katra varda */ static string reverset2(string teikums){ string[] vardi = teikums.Split(' ') .Select(word => new string(word.Reverse().ToArray())) .ToArray(); //parveido pirmo vardu ar lielo sakumburtu, parajos uz mazajiem if (vardi.Length > 0){ vardi[0] = kapitalizet(vardi[0]); for (int i = 1; i < vardi.Length; i++){ vardi[i] = vardi[i].ToLower(); } } //atkal stringa ieliekm vardus return string.Join(" ", vardi); } /** * parvers varda pirmo burtu lielo, parejoz uz mazjaiem */ static string kapitalizet(string vards){ if (string.IsNullOrEmpty(vards)) return vards; return char.ToUpper(vards[0]) + vards.Substring(1).ToLower(); } /** * attelo tekstu centreti */ static void centret(string teikums){ int vidus = teikums.Length / 2; StringBuilder bilderis = new StringBuilder(); for (int i = 0; i <= vidus; i++){ int kreisas = vidus - i; int labas = vidus + i; bilderis.Clear(); //aizpilda ar atstarpam un atstaj redzamu tikai sobridejo dalu for (int j = 0; j < teikums.Length; j++){ if (j >= kreisas && j <= labas) bilderis.Append(teikums[j]); else bilderis.Append(' '); } Console.WriteLine(bilderis); } } /** * aizvieto tekstu ar atstarpem sakot no centra */ static void preteji(string teikums){ char[] chari = teikums.ToCharArray(); int kreisas = teikums.Length / 2; int labais = (teikums.Length % 2 == 0) ? kreisas - 1 : kreisas; //aizvieto rakstzames ar atstarpam, parvietojoties uz arpusi no centra while (kreisas >= 0 && labais < teikums.Length){ chari[kreisas] = ' '; chari[labais] = ' '; Console.WriteLine(new string(chari)); kreisas--; labais++; } } /** * atklaj tekstu no beigam uz sakumu */ static void atklat(string teikums){ StringBuilder bilderis = new StringBuilder(new string(' ', teikums.Length)); //aizpilda no beigam uz sakumu for (int i = teikums.Length - 1; i >= 0; i--){ bilderis[i] = teikums[i]; Console.WriteLine(bilderis); } } /** * atklaj tekstu no sakuma uz beigam, izvada apgriezta seciba */ static void atklat2(string text){ StringBuilder bilderis = new StringBuilder(); List linijas = new List(); //uzkrāj solus saraksta for (int i = 0; i < text.Length; i++){ bilderis.Append(text[i]); linijas.Add(bilderis.ToString()); } //izvada linijas apgriezta veida for (int i = linijas.Count - 1; i >= 0; i--){ Console.WriteLine(linijas[i]); } } }