How to resolve the algorithm Repeat a string step by step in the zig programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Repeat a string step by step in the zig programming language

Table of Contents

Problem Statement

Take a string and repeat it some number of times.
Example: repeat("ha", 5)   =>   "hahahahaha" If there is a simpler/more efficient way to repeat a single “character” (i.e. creating a string filled with a certain character), you might want to show that as well (i.e. repeat-char("*", 5) => "*****").

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Repeat a string step by step in the zig programming language

Source code in the zig programming language

const laugh = "ha" ** 5;

const std = @import("std");
const warn = std.debug.warn;

const Allocator = std.mem.Allocator;

fn repeat(s: []const u8, times: u16, allocator: *Allocator) ![]u8 {
    const repeated = try allocator.alloc(u8, s.len*times);

    var i: usize = 0;
    while (i < s.len*times) : (i += 1) {
        repeated[i] = s[i % 2];
    }

    return repeated;
}

pub fn main() !void {
    const allocator = std.debug.global_allocator;
    const ex = try repeat("ha", 5, allocator);
    defer allocator.free(ex);
}

  

You may also check:How to resolve the algorithm XML/Output step by step in the Clojure programming language
You may also check:How to resolve the algorithm Arithmetic/Integer step by step in the QB64 programming language
You may also check:How to resolve the algorithm Amicable pairs step by step in the AWK programming language
You may also check:How to resolve the algorithm FizzBuzz step by step in the Babel programming language
You may also check:How to resolve the algorithm Matrix multiplication step by step in the M2000 Interpreter programming language