On Tuesday, 29 August 2017 at 18:20:38 UTC, Vino.B wrote:
Hi,

Can any one help me on the below program, as I need the missing element for array "a" to be printed when compared with array "b"

Program:

import std.stdio, std.array, std.algorithm;
string[] a = ["test1", "test2", "test4"];
string[] b = ["test2", "test4"];
void main ()
{
auto m = mismatch(a,b);
writeln(m[0]);
writeln(m[1]);
}

Output:
["test1", "test2", "test4"]
["test2", "test4"]

Required output: "test1"

From,
Vino.B

The mismatch function doesn't work how your expecting it to. It compares the ith element in a with the ith element in b, until they encounter an element that is not equal. It then returns all elements including and beyond i, for both arrays. In this case the first element does not match, and therefore it returns the entire contents of both arrays.

Reply via email to