Missing array element

Francis Nixon via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 29 11:28:11 PDT 2017


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.


More information about the Digitalmars-d-learn mailing list