September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -1,8 +1,9 @@
|
|||
# Usage: awk -f reverse.awk -v s=Rosetta
|
||||
|
||||
function rev(s, i,a,r) {
|
||||
split(s, a, "")
|
||||
for (i in a) r = a[i] r
|
||||
function rev(s, i,len,a,r) {
|
||||
len = split(s, a, "")
|
||||
#for (i in a) r = a[i] r # may not work - order is not guaranteed !
|
||||
for (i=1; i<=len; i++) r = a[i] r
|
||||
return r
|
||||
}
|
||||
BEGIN {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
10 INPUT S$
|
||||
20 LET T$=""
|
||||
30 FOR I=LEN S$ TO 1 STEP -1
|
||||
40 LET T$=T$+S$(I)
|
||||
50 NEXT I
|
||||
60 PRINT T$
|
||||
100 INPUT PROMPT "String: ":TX$
|
||||
120 LET REV$=""
|
||||
130 FOR I=LEN(TX$) TO 1 STEP-1
|
||||
140 LET REV$=REV$&TX$(I)
|
||||
150 NEXT
|
||||
160 PRINT REV$
|
||||
|
|
|
|||
6
Task/Reverse-a-string/BASIC/reverse-a-string-3.basic
Normal file
6
Task/Reverse-a-string/BASIC/reverse-a-string-3.basic
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
10 INPUT S$
|
||||
20 LET T$=""
|
||||
30 FOR I=LEN S$ TO 1 STEP -1
|
||||
40 LET T$=T$+S$(I)
|
||||
50 NEXT I
|
||||
60 PRINT T$
|
||||
6
Task/Reverse-a-string/C-sharp/reverse-a-string-1.cs
Normal file
6
Task/Reverse-a-string/C-sharp/reverse-a-string-1.cs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
static string ReverseString(string input)
|
||||
{
|
||||
char[] inputChars = input.ToCharArray();
|
||||
Array.Reverse(inputChars);
|
||||
return new string(inputChars);
|
||||
}
|
||||
7
Task/Reverse-a-string/C-sharp/reverse-a-string-2.cs
Normal file
7
Task/Reverse-a-string/C-sharp/reverse-a-string-2.cs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
using System.Linq;
|
||||
|
||||
// ...
|
||||
|
||||
return new string(input.Reverse().ToArray());
|
||||
|
||||
// ...
|
||||
14
Task/Reverse-a-string/C-sharp/reverse-a-string-3.cs
Normal file
14
Task/Reverse-a-string/C-sharp/reverse-a-string-3.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
public string ReverseElements(string s)
|
||||
{
|
||||
// In .NET, a text element is series of code units that is displayed as one character, and so reversing the text
|
||||
// elements of the string correctly handles combining character sequences and surrogate pairs.
|
||||
var elements = System.Globalization.StringInfo.GetTextElementEnumerator(s);
|
||||
return string.Concat(AsEnumerable(elements).OfType<string>().Reverse());
|
||||
}
|
||||
|
||||
// Wraps an IEnumerator, allowing it to be used as an IEnumerable.
|
||||
public IEnumerable AsEnumerable(IEnumerator enumerator)
|
||||
{
|
||||
while (enumerator.MoveNext())
|
||||
yield return enumerator.Current;
|
||||
}
|
||||
13
Task/Reverse-a-string/Ceylon/reverse-a-string.ceylon
Normal file
13
Task/Reverse-a-string/Ceylon/reverse-a-string.ceylon
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
shared void run() {
|
||||
|
||||
while(true) {
|
||||
process.write("> ");
|
||||
String? text = process.readLine();
|
||||
if (is String text) {
|
||||
print(text.reversed);
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Task/Reverse-a-string/Dc/reverse-a-string.dc
Normal file
1
Task/Reverse-a-string/Dc/reverse-a-string.dc
Normal file
|
|
@ -0,0 +1 @@
|
|||
22405534230753963835153736737 [ 256 ~ d SS 0<F LS SR 1+ ] d sF x 1 - [ 1 - d 0<F 256 * LR + ] d sF x P
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
import system'routines.
|
||||
import extensions.
|
||||
import system'routines;
|
||||
import extensions;
|
||||
import extensions'text;
|
||||
|
||||
extension extension
|
||||
{
|
||||
reversedLiteral
|
||||
= self toArray; sequenceReverse; summarize(String new); literal.
|
||||
reversedLiteral()
|
||||
= self.toArray().sequenceReverse().summarize(new StringWriter());
|
||||
}
|
||||
|
||||
program =
|
||||
[
|
||||
console printLine("Hello World" reversedLiteral).
|
||||
].
|
||||
public program()
|
||||
{
|
||||
console.printLine("Hello World".reversedLiteral())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import Data.Char (isMark)
|
||||
import Data.List (groupBy)
|
||||
myReverse = concat . reverse . groupBy (const isMark)
|
||||
accumulatingReverse :: [a] -> [a]
|
||||
accumulatingReverse lst =
|
||||
let rev xs a = foldl (flip (:)) a xs
|
||||
in rev lst []
|
||||
|
|
|
|||
3
Task/Reverse-a-string/Haskell/reverse-a-string-3.hs
Normal file
3
Task/Reverse-a-string/Haskell/reverse-a-string-3.hs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import Data.Char (isMark)
|
||||
import Data.List (groupBy)
|
||||
myReverse = concat . reverse . groupBy (const isMark)
|
||||
87
Task/Reverse-a-string/LLVM/reverse-a-string.llvm
Normal file
87
Task/Reverse-a-string/LLVM/reverse-a-string.llvm
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
; This is not strictly LLVM, as it uses the C library function "printf".
|
||||
; LLVM does not provide a way to print values, so the alternative would be
|
||||
; to just load the string into memory, and that would be boring.
|
||||
|
||||
; Additional comments have been inserted, as well as changes made from the output produced by clang such as putting more meaningful labels for the jumps
|
||||
|
||||
$"main.printf" = comdat any
|
||||
|
||||
@main.str = private unnamed_addr constant [12 x i8] c"Hello world\00", align 1
|
||||
@"main.printf" = linkonce_odr unnamed_addr constant [4 x i8] c"%s\0A\00", comdat, align 1
|
||||
|
||||
define void @reverse(i64, i8*) {
|
||||
%3 = alloca i8*, align 8 ; allocate str (local)
|
||||
%4 = alloca i64, align 8 ; allocate len (local)
|
||||
%5 = alloca i64, align 8 ; allocate i
|
||||
%6 = alloca i64, align 8 ; allocate j
|
||||
%7 = alloca i8, align 1 ; allocate t
|
||||
store i8* %1, i8** %3, align 8 ; set str (local) to the parameter str
|
||||
store i64 %0, i64* %4, align 8 ; set len (local) to the paremeter len
|
||||
store i64 0, i64* %5, align 8 ; i = 0
|
||||
%8 = load i64, i64* %4, align 8 ; load len
|
||||
%9 = sub i64 %8, 1 ; decrement len
|
||||
store i64 %9, i64* %6, align 8 ; j =
|
||||
br label %loop
|
||||
|
||||
loop:
|
||||
%10 = load i64, i64* %5, align 8 ; load i
|
||||
%11 = load i64, i64* %6, align 8 ; load j
|
||||
%12 = icmp ult i64 %10, %11 ; i < j
|
||||
br i1 %12, label %loop_body, label %exit
|
||||
|
||||
loop_body:
|
||||
%13 = load i8*, i8** %3, align 8 ; load str
|
||||
%14 = load i64, i64* %5, align 8 ; load i
|
||||
%15 = getelementptr inbounds i8, i8* %13, i64 %14 ; address of str[i]
|
||||
%16 = load i8, i8* %15, align 1 ; load str[i]
|
||||
store i8 %16, i8* %7, align 1 ; t = str[i]
|
||||
%17 = load i64, i64* %6, align 8 ; load j
|
||||
%18 = getelementptr inbounds i8, i8* %13, i64 %17 ; address of str[j]
|
||||
%19 = load i8, i8* %18, align 1 ; load str[j]
|
||||
%20 = getelementptr inbounds i8, i8* %13, i64 %14 ; address of str[i]
|
||||
store i8 %19, i8* %20, align 1 ; str[i] = str[j]
|
||||
%21 = load i8, i8* %7, align 1 ; load t
|
||||
%22 = getelementptr inbounds i8, i8* %13, i64 %17 ; address of str[j]
|
||||
store i8 %21, i8* %22, align 1 ; str[j] = t
|
||||
|
||||
;-- loop increment
|
||||
%23 = load i64, i64* %5, align 8 ; load i
|
||||
%24 = add i64 %23, 1 ; increment i
|
||||
store i64 %24, i64* %5, align 8 ; store i
|
||||
%25 = load i64, i64* %6, align 8 ; load j
|
||||
%26 = add i64 %25, -1 ; decrement j
|
||||
store i64 %26, i64* %6, align 8 ; store j
|
||||
br label %loop
|
||||
|
||||
exit:
|
||||
ret void
|
||||
}
|
||||
|
||||
define i32 @main() {
|
||||
;-- char str[]
|
||||
%1 = alloca [12 x i8], align 1
|
||||
;-- memcpy(str, "Hello world")
|
||||
%2 = bitcast [12 x i8]* %1 to i8*
|
||||
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @main.str, i32 0, i32 0), i64 12, i32 1, i1 false)
|
||||
;-- printf("%s\n", str)
|
||||
%3 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i32 0, i32 0
|
||||
%4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"main.printf", i32 0, i32 0), i8* %3)
|
||||
;-- %7 = strlen(str)
|
||||
%5 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i32 0, i32 0
|
||||
%6 = call i64 @strlen(i8* %5)
|
||||
;-- reverse(%6, str)
|
||||
call void @reverse(i64 %6, i8* %5)
|
||||
;-- printf("%s\n", str)
|
||||
%7 = getelementptr inbounds [12 x i8], [12 x i8]* %1, i32 0, i32 0
|
||||
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @"main.printf", i32 0, i32 0), i8* %7)
|
||||
;-- end of main
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
;--- The declaration for the external C printf function.
|
||||
declare i32 @printf(i8*, ...)
|
||||
|
||||
; Function Attrs: argmemonly nounwind
|
||||
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1)
|
||||
|
||||
declare i64 @strlen(i8*)
|
||||
30
Task/Reverse-a-string/Neko/reverse-a-string.neko
Normal file
30
Task/Reverse-a-string/Neko/reverse-a-string.neko
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/* Reverse a string, in Neko */
|
||||
|
||||
var reverse = function(s) {
|
||||
var len = $ssize(s)
|
||||
if len < 2 return s
|
||||
|
||||
var reverse = $smake(len)
|
||||
var pos = 0
|
||||
while len > 0 $sset(reverse, pos ++= 1, $sget(s, len -= 1))
|
||||
return reverse
|
||||
}
|
||||
|
||||
var str = "never odd or even"
|
||||
$print(str, "\n")
|
||||
$print(reverse(str), "\n\n")
|
||||
|
||||
str = "abcdefghijklmnopqrstuvwxyz"
|
||||
$print(str, "\n")
|
||||
$print(reverse(str), "\n\n")
|
||||
|
||||
$print("single test\n")
|
||||
str = "a"
|
||||
$print(str, "\n")
|
||||
$print(reverse(str), "\n\n")
|
||||
|
||||
|
||||
$print("empty test\n")
|
||||
str = ""
|
||||
$print(str, "\n")
|
||||
$print(reverse(str), "\n")
|
||||
|
|
@ -1,9 +1,6 @@
|
|||
let rev_string str =
|
||||
let len = String.length str in
|
||||
let res = String.create len in
|
||||
let last = len - 1 in
|
||||
for i = 0 to last do
|
||||
let j = last - i in
|
||||
res.[i] <- str.[j];
|
||||
done;
|
||||
(res)
|
||||
let string_rev s =
|
||||
let len = String.length s in
|
||||
String.init len (fun i -> s.[len - 1 - i])
|
||||
|
||||
let () =
|
||||
print_endline (string_rev "Hello world!")
|
||||
|
|
|
|||
|
|
@ -1,8 +1,15 @@
|
|||
let rev_string str =
|
||||
let last = String.length str - 1 in
|
||||
let rev_bytes bs =
|
||||
let last = Bytes.length bs - 1 in
|
||||
for i = 0 to last / 2 do
|
||||
let j = last - i in
|
||||
let c = str.[i] in
|
||||
str.[i] <- str.[j];
|
||||
str.[j] <- c;
|
||||
let c = Bytes.get bs i in
|
||||
Bytes.set bs i (Bytes.get bs j);
|
||||
Bytes.set bs j c;
|
||||
done
|
||||
|
||||
let () =
|
||||
let s = Bytes.of_string "Hello World" in
|
||||
rev_bytes s;
|
||||
print_bytes s;
|
||||
print_newline ();
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
let rec revs strin list index =
|
||||
let rec revs_aux strin list index =
|
||||
if List.length list = String.length strin
|
||||
then String.concat "" list
|
||||
else revs strin ((String.sub strin index 1)::list) (index+1)
|
||||
else revs_aux strin ((String.sub strin index 1)::list) (index+1)
|
||||
|
||||
let revs s = revs_aux s [] 0
|
||||
|
||||
let () =
|
||||
print_endline (revs "Hello World!")
|
||||
|
|
|
|||
6
Task/Reverse-a-string/Ol/reverse-a-string.ol
Normal file
6
Task/Reverse-a-string/Ol/reverse-a-string.ol
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
(define (rev s)
|
||||
(runes->string (reverse (string->runes s))))
|
||||
|
||||
; testing:
|
||||
(print (rev "as⃝df̅"))
|
||||
; ==> ̅fd⃝sa
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
say "hello world".flip;
|
||||
say "as⃝df̅".flip
|
||||
say "as⃝df̅".flip;
|
||||
say 'ℵΑΩ 駱駝道 🤔 🇸🇧 🇺🇸 🇬🇧 👨👩👧👦🆗🗺'.flip;
|
||||
|
|
|
|||
11
Task/Reverse-a-string/Perl/reverse-a-string.pl
Normal file
11
Task/Reverse-a-string/Perl/reverse-a-string.pl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
use utf8;
|
||||
binmode STDOUT, ":utf8";
|
||||
|
||||
# to reverse characters (code points):
|
||||
print reverse('visor'), "\n";
|
||||
|
||||
# to reverse graphemes:
|
||||
print join("", reverse "José" =~ /\X/g), "\n";
|
||||
|
||||
$string = 'ℵΑΩ 駱駝道 🤔 🇸🇧 🇺🇸 🇬🇧 👨👩👧👦🆗🗺';
|
||||
print join("", reverse $string =~ /\X/g), "\n";
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#DIM ALL
|
||||
#COMPILER PBCC 6
|
||||
|
||||
FUNCTION PBMAIN () AS LONG
|
||||
CON.PRINT STRREVERSE$("PowerBASIC")
|
||||
END FUNCTION
|
||||
|
|
@ -1 +1 @@
|
|||
raw_input()[::-1]
|
||||
input()[::-1]
|
||||
|
|
|
|||
|
|
@ -1,25 +1,11 @@
|
|||
'''
|
||||
Reverse a Unicode string with proper handling of combining characters
|
||||
'''
|
||||
|
||||
import unicodedata
|
||||
|
||||
def ureverse(ustring):
|
||||
'''
|
||||
Reverse a string including unicode combining characters
|
||||
|
||||
Example:
|
||||
>>> ucode = ''.join( chr(int(n, 16))
|
||||
for n in ['61', '73', '20dd', '64', '66', '305'] )
|
||||
>>> ucoderev = ureverse(ucode)
|
||||
>>> ['%x' % ord(char) for char in ucoderev]
|
||||
['66', '305', '64', '73', '20dd', '61']
|
||||
>>>
|
||||
'''
|
||||
'Reverse a string including unicode combining characters'
|
||||
groupedchars = []
|
||||
uchar = list(ustring)
|
||||
while uchar:
|
||||
if 'COMBINING' in unicodedata.name(uchar[0], ''):
|
||||
if unicodedata.combining(uchar[0]) != 0:
|
||||
groupedchars[-1] += uchar.pop(0)
|
||||
else:
|
||||
groupedchars.append(uchar.pop(0))
|
||||
|
|
@ -28,9 +14,16 @@ def ureverse(ustring):
|
|||
|
||||
return ''.join(groupedchars)
|
||||
|
||||
def say_string(s):
|
||||
return ' '.join([s, '=', ' | '.join(unicodedata.name(ch, '') for ch in s)])
|
||||
|
||||
def say_rev(s):
|
||||
print(f"Input: {say_string(s)}")
|
||||
print(f"Character reversed: {say_string(s[::-1])}")
|
||||
print(f"Unicode reversed: {say_string(ureverse(s))}")
|
||||
print(f"Unicode reverse²: {say_string(ureverse(ureverse(s)))}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
ucode = ''.join( chr(int(n, 16))
|
||||
for n in ['61', '73', '20dd', '64', '66', '305'] )
|
||||
ucoderev = ureverse(ucode)
|
||||
print (ucode)
|
||||
print (ucoderev)
|
||||
ucode = ''.join(chr(int(n[2:], 16)) for n in
|
||||
'U+0041 U+030A U+0073 U+0074 U+0072 U+006F U+0308 U+006D'.split())
|
||||
say_rev(ucode)
|
||||
|
|
|
|||
3
Task/Reverse-a-string/Python/reverse-a-string-5.py
Normal file
3
Task/Reverse-a-string/Python/reverse-a-string-5.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
ucode = ''.join(chr(int(n[2:], 16)) for n in
|
||||
'U+006B U+0301 U+0075 U+032D U+006F U+0304 U+0301 U+006E'.split())
|
||||
say_rev(ucode)
|
||||
3
Task/Reverse-a-string/Python/reverse-a-string-6.py
Normal file
3
Task/Reverse-a-string/Python/reverse-a-string-6.py
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
ucode = ''.join(chr(int(n, 16))
|
||||
for n in ['61', '73', '20dd', '64', '66', '305'])
|
||||
say_rev(ucode)
|
||||
16
Task/Reverse-a-string/Robotic/reverse-a-string.robotic
Normal file
16
Task/Reverse-a-string/Robotic/reverse-a-string.robotic
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
. "local1 = Main string"
|
||||
. "local2 = Temporary string storage"
|
||||
. "local3 = String length"
|
||||
set "$local1" to ""
|
||||
set "$local2 " to ""
|
||||
set "local3" to 0
|
||||
|
||||
input string "String to reverse:"
|
||||
set "$local1" to "&INPUT&"
|
||||
set "$local2" to "$local1"
|
||||
set "local3" to "$local2.length"
|
||||
loop start
|
||||
set "$local1.(('local3' - 1) - 'loopcount')" to "$local2.('loopcount')"
|
||||
loop for "('local3' - 1)"
|
||||
* "Reversed string: &$local1& (Length: &$local1.length&)"
|
||||
end
|
||||
26
Task/Reverse-a-string/Simula/reverse-a-string.simula
Normal file
26
Task/Reverse-a-string/Simula/reverse-a-string.simula
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
BEGIN
|
||||
TEXT PROCEDURE REV(S); TEXT S;
|
||||
BEGIN
|
||||
TEXT T;
|
||||
INTEGER L,R;
|
||||
T :- COPY(S);
|
||||
L := 1; R := T.LENGTH;
|
||||
WHILE L < R DO
|
||||
BEGIN
|
||||
CHARACTER CL,CR;
|
||||
T.SETPOS(L); CL := T.GETCHAR;
|
||||
T.SETPOS(R); CR := T.GETCHAR;
|
||||
T.SETPOS(L); T.PUTCHAR(CR);
|
||||
T.SETPOS(R); T.PUTCHAR(CL);
|
||||
L := L+1;
|
||||
R := R-1;
|
||||
END;
|
||||
REV :- T;
|
||||
END REV;
|
||||
|
||||
TEXT INP;
|
||||
INP :- "asdf";
|
||||
|
||||
OUTTEXT(INP); OUTIMAGE;
|
||||
OUTTEXT(REV(INP)); OUTIMAGE;
|
||||
END
|
||||
|
|
@ -1,5 +1,57 @@
|
|||
Function Reverse(ByVal s As String) As String
|
||||
Dim t() as Char = s.toCharArray
|
||||
Array.reverse(t)
|
||||
Return new String(t)
|
||||
End Function
|
||||
#Const REDIRECTOUT = True
|
||||
|
||||
Module Program
|
||||
Const OUTPATH = "out.txt"
|
||||
|
||||
ReadOnly TestCases As String() = {"asdf", "as⃝df̅", "Les Misérables"}
|
||||
|
||||
' SIMPLE VERSION
|
||||
Function Reverse(s As String) As String
|
||||
Dim t = s.ToCharArray()
|
||||
Array.Reverse(t)
|
||||
Return New String(t)
|
||||
End Function
|
||||
|
||||
' EXTRA CREDIT VERSION
|
||||
Function ReverseElements(s As String) As String
|
||||
' In .NET, a text element is series of code units that is displayed as one character, and so reversing the text
|
||||
' elements of the string correctly handles combining character sequences and surrogate pairs.
|
||||
Dim elements = Globalization.StringInfo.GetTextElementEnumerator(s)
|
||||
Return String.Concat(AsEnumerable(elements).OfType(Of String).Reverse())
|
||||
End Function
|
||||
|
||||
' Wraps an IEnumerator, allowing it to be used as an IEnumerable.
|
||||
Iterator Function AsEnumerable(enumerator As IEnumerator) As IEnumerable
|
||||
Do While enumerator.MoveNext()
|
||||
Yield enumerator.Current
|
||||
Loop
|
||||
End Function
|
||||
|
||||
Sub Main()
|
||||
Const INDENT = " "
|
||||
|
||||
#If REDIRECTOUT Then
|
||||
Const OUTPATH = "out.txt"
|
||||
Using s = IO.File.Open(OUTPATH, IO.FileMode.Create),
|
||||
sw As New IO.StreamWriter(s)
|
||||
Console.SetOut(sw)
|
||||
#Else
|
||||
Try
|
||||
Console.OutputEncoding = Text.Encoding.ASCII
|
||||
Console.OutputEncoding = Text.Encoding.UTF8
|
||||
Console.OutputEncoding = Text.Encoding.Unicode
|
||||
Catch ex As Exception
|
||||
Console.WriteLine("Failed to set console encoding to Unicode." & vbLf)
|
||||
End Try
|
||||
#End If
|
||||
For Each c In TestCases
|
||||
Console.WriteLine(c)
|
||||
Console.WriteLine(INDENT & "SIMPLE: " & Reverse(c))
|
||||
Console.WriteLine(INDENT & "ELEMENTS: " & ReverseElements(c))
|
||||
Console.WriteLine()
|
||||
Next
|
||||
#If REDIRECTOUT Then
|
||||
End Using
|
||||
#End If
|
||||
End Sub
|
||||
End Module
|
||||
|
|
|
|||
1
Task/Reverse-a-string/Visual-Basic/reverse-a-string.vb
Normal file
1
Task/Reverse-a-string/Visual-Basic/reverse-a-string.vb
Normal file
|
|
@ -0,0 +1 @@
|
|||
Debug.Print VBA.StrReverse("Visual Basic")
|
||||
Loading…
Add table
Add a link
Reference in a new issue