C# :: Aufgabe #397 :: Lösung #1
4 Lösungen
#397
String-Vergleich mit Rücktaste/Backspace
Anfänger - C#
von JKooP
- 12.05.2021 um 15:38 Uhr
Gegeben sind zwei Strings (Texte) bestehend aus einer Anzahl (<100) Kleinbuchstaben (a-z) und
Backspaces (Rücktastenzeichen) welche hier als Hashtag/Raute (#) dargestellt werden.
Dabei können die Strings unterschiedlicher Länge sein.
Ziel soll es sein zu überprüfen, ob die beiden Strings (s1, s2) identisch sind.
Beispiele:
s1 = ab#c
s2 = ae#c
Lösung: true ("ac" == "ac"), denn Backspace löscht in s1 das b und in s2 das e
s1 = ab##
s2 = e#f#
Lösung: true ("" == ""), denn Backspace löscht in s1 zuerst das b und dann das a und in s2 zuerst das e und dann das f
s1 = a#c
s2 = ac#
Lösung: false ("c" != "a") , denn Backspace löscht in s1 das a und in s2 das c
s1 = ####
s2 = ###a#
Lösung: true
s1 = abcdefg
s2 = abcder#fr#g
Lösung: true
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
Backspaces (Rücktastenzeichen) welche hier als Hashtag/Raute (#) dargestellt werden.
Dabei können die Strings unterschiedlicher Länge sein.
Ziel soll es sein zu überprüfen, ob die beiden Strings (s1, s2) identisch sind.
Beispiele:
s1 = ab#c
s2 = ae#c
Lösung: true ("ac" == "ac"), denn Backspace löscht in s1 das b und in s2 das e
s1 = ab##
s2 = e#f#
Lösung: true ("" == ""), denn Backspace löscht in s1 zuerst das b und dann das a und in s2 zuerst das e und dann das f
s1 = a#c
s2 = ac#
Lösung: false ("c" != "a") , denn Backspace löscht in s1 das a und in s2 das c
s1 = ####
s2 = ###a#
Lösung: true
s1 = abcdefg
s2 = abcder#fr#g
Lösung: true
Schreibe eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false liefert.
Viel Spaß
#1
von LikeTheShado (60 Punkte)
- 18.05.2021 um 12:29 Uhr
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 StringVergleich
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string s1 = "asc##w";
string s2 = "asc##w";
int trim = 0;
int anz = 0;
char x2 = '#';
foreach (char x in s1)
{
if (x != x2)
{
trim++;
}
else
{
break;
}
}
foreach(char x in s1)
{
if (x == '#')
{
anz++;
}
}
s1 = s1.Remove(trim - anz, anz);
s1 = s1.Replace("#", "");
trim = 0;
anz = 0;
foreach (char x in s2)
{
if (x2 != x)
{
trim++;
}
else
{
break;
}
}
foreach (char x in s2)
{
if (x == '#')
{
anz++;
}
}
s2 = s2.Remove(trim - anz, anz);
s2 = s2.Replace("#", "");
if(s1 == s2)
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}
}
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
