C# :: Aufgabe #298
4 Lösungen

Zeichenkette einlesen, auf 10 Wörter prüfen und jedes Vokal ersetzen
Anfänger - C#
von Cara
- 02.04.2020 um 17:41 Uhr
Schreibe ein Programm welches den Benutzer auffordert eine Zeichenkette einzugeben. Diese Zeichenkette sollte mindestens 10 Wörter haben. Wenn diese Anforderung nicht gegeben ist, so wird erneut zur Eingabe aufgefordert, solange bis er 10 Wörter oder "exit" eingibt. Bei "exit" wird das Programm beendet.
Beinhaltet die eingegebene Zeichenkette mindestens 10 Wörter, so werden alle Vokale durch ein "i" ersetzt und ausgeben.
Beinhaltet die eingegebene Zeichenkette mindestens 10 Wörter, so werden alle Vokale durch ein "i" ersetzt und ausgeben.
Lösungen:
NET Core 3.x
C#-Code

using System; using System.Linq; using System.Text.RegularExpressions; namespace CS_Aufgabe_289_Zeichenkette_Einlesen { class Program { static void Main(string[] args) { string input; string[] arr; do { Console.Write("Bitte Zeichenkette mit mindestens 10 Wörtern eingeben (Beenden = 'exit'): "); input = Console.ReadLine(); arr = input.Split(" "); if (arr.Where(x => x.ToUpper() == "EXIT").ToList().Count > 0) return; } while (arr.Count() < 10); Console.WriteLine(new Regex(@"[AaEeIiOoUu]").Replace(input, "i")); } } }
Hallo,
ich habe mich für diese Aufgabe mal in die Regulären Ausdrücke eingelesen.
C#-Code
ich habe mich für diese Aufgabe mal in die Regulären Ausdrücke eingelesen.

using System; using System.Text.RegularExpressions; using System.Windows.Forms; namespace Aufgabe_298 { public static class WordCounting { /// <summary> /// Count words with Regex. /// </summary> public static int CountWords1(string s) { MatchCollection collection = Regex.Matches(s, @"[\S]+"); return collection.Count; } } public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void start_Click(object sender, EventArgs e) { string text = eingabebox.Text; int zahl = WordCounting.CountWords1(text); if (zahl < 10) { ausgabebox.Text = "Text ist zu kurz! Mindesten 10 Wörter!"; } else { string find = @"[aeiouAEIOU]"; string replace = "i"; ausgabebox.Text = Regex.Replace(text, find, replace); } } } }

using System; using System.IO; namespace Zeichenkette { class Program { static void Main(string[] args) { while (true) { Console.WriteLine("Geben Sie eine Zeichenkette von Mindestens 10 Wörtern ein: "); string eingabe = Console.ReadLine(); if (eingabe == "exit") Environment.Exit(0); string[] woerter = eingabe.Split(' '); if (woerter.Length >= 10) { for(int i = 0; i<woerter.Length;i++) { string new_Word = ""; char[] buchstaben = woerter[i].ToCharArray(); for(int j = 0; j<buchstaben.Length;j++) { switch (buchstaben[j]) { case 'a': buchstaben[j] = 'i'; break; case 'e': buchstaben[j] = 'i'; break; case 'i': buchstaben[j] = 'i'; break; case 'o': buchstaben[j] = 'i'; break; case 'u': buchstaben[j] = 'i'; break; } new_Word += buchstaben[j]; } woerter[i] = new_Word; Console.WriteLine("\r"+woerter[i]); } } } } } }

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Didn_t_Ask { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { List<char> wort = new List<char>(); if (textBox1.Text == "exit") Application.Exit(); if (textBox1.Text.Length < 10) { System.Windows.Forms.MessageBox.Show("Ihre Zeichenkette enthält weniger als 10 Zeichen!"); textBox1.Text = ""; } foreach (char buchstabe in textBox1.Text) { wort.Add(buchstabe); } textBox1.Text = ""; foreach (char buchstabe in wort) if (Convert.ToString(buchstabe) == "a" || Convert.ToString(buchstabe) == "e" || Convert.ToString(buchstabe) == "i" || Convert.ToString(buchstabe) == "o" || Convert.ToString(buchstabe) == "u") { textBox1.Text += "i"; } else textBox1.Text += buchstabe; } } }