Zeichen verschieben in String (Zeichenketten)
Gegeben sei der String s="#---------".
Lasse das "#" durch die Striche wandern und lasse das Ergebnis in der Konsole anzeigen.
Sollte wie folgt aussehen:
#---------
-#--------
--#-------
---#------
----#-----
-----#----
------#---
-------#--
--------#-
---------#
0 Kommentare
9 Lösung(en)
s="#---------"
print("\n".join([s]+["-"*i+s[:-i] for i in range(1,10)]))
Lösung von: rob ert (tub)
// C++14 | VS-2022
#include <iostream>
int main() {
std::string str{ "#---------" };
for (auto i{ 1ll }; i <= str.size(); ++i) {
std::cout << str << "\n";
std::swap(str[i], str[i - 1]);
}
// oder:
for (auto i{ 0u }; i < 10; ++i) {
std::cout << std::string( i, '-') + "#" + std::string( 9 - i,'-') << "\n";
}
}
Lösung von: Jens Kelm (@JKooP)
String.prototype.lastToFirst = function() {
return this.charAt(this.length-1)
+ this.slice(0, this.length-1);
}
let str = '#---------';
do {
console.log(str);
str = str.lastToFirst();
}
while (str[0] == '-');
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
const SPHERE = '-',
ROAMER = '#',
LENGTH = 10,
STEP = 1;
for (let i = STEP; i <= LENGTH; i++) {
let out = ''.padStart(LENGTH, SPHERE).split('');
// $out ist jetzt ein array, um die ersetzung
// zu erleichtern
out[i-1] = ROAMER;
out = out.join(''); // $out ist wieder string
console.log(out);
}
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// NET 8.x | C# 12.x | VS-2022
Enumerable.Range(0, 10)
.Select(i => $"{new string('-', i)}{'#'}{new string('-', 9 - i)}")
.ToList().ForEach(Console.WriteLine);
Lösung von: Jens Kelm (@JKooP)
' VBA
Sub Main()
Const MAX% = 10
For i% = 0 To MAX - 1
Debug.Print String$(i, "-") & "#" & String$(MAX - 1 - i, "-")
Next i
End Sub
Lösung von: Jens Kelm (@JKooP)
#include <stdio.h>
#define SWAP(T, a, b) do { T tmp = a; a = b; b = tmp; } while (0)
void move_hashtag_1() {
char str[] = "---------\0";
for (unsigned i = 0; i < 9; ++i) {
str[i] = '#';
if (i > 0) str[i - 1] = '-';
printf("%s\n", str);
}
}
void move_hashtag_2() {
char str[] = "#--------\0";
for (unsigned i = 1; i < 10; ++i) {
printf("%s\n", str);
SWAP(char, str[i], str[i - 1]);
}
}
int main() {
move_hashtag_1();
move_hashtag_2();
}
Lösung von: Jens Kelm (@JKooP)
def wander_hash(s):
for i in range(len(s)):
print("-" * i + "#" + "-" * (len(s) - i - 1))
# Example
s = "#---------"
wander_hash(s)
Lösung von: J. U. (-)
// golang
package main
import (
"fmt"
"strings"
)
func wanderHash(s string) {
length := len(s)
for i := 0; i < length; i++ {
fmt.Println(strings.Repeat("-", i) + "#" + strings.Repeat("-", length-i-1))
}
}
func main() {
s := "#---------"
wanderHash(s)
}
Lösung von: J. U. (-)
Verifikation/Checksumme:
#---------
-#--------
--#-------
---#------
----#-----
-----#----
------#---
-------#--
--------#-
---------#
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.25 |
Schwierigkeit: | Leicht |
Webcode: | dkzd-5geb |
Autor: | () |