On Monday, 9 September 2024 at 20:02:48 UTC, Jabari Zakiya wrote:
I have this code to input integer values:

```
  ulong[] x;
  foreach (_; 0 .. 2) { ulong a; readf!" %d"(a); x ~= a; }
  end_num = max(x[0], 3);
  start_num = max(x[1], 3);
  if (start_num > end_num) swap(start_num, end_num);
start_num = start_num | 1; // if start_num even add 1 end_num = (end_num - 1) | 1; // if end_num even subtract 1
  if (end_num - start_num < 2) { start_num = 7; end_num = 7; }

```

Currently I have to enter data as:   123456 789102

I'd like to enter data as:  123_456 789_10

How do I do that?

Also for output, I do this:

```
writeln("total twins = ", twinscnt, "; last twin = ", last_twin - 1, "+/-1");
```

I'd also like to output data as:  123,987 or 123_987

About the input, see https://issues.dlang.org/show_bug.cgi?id=20568. A remedy is to use a `myInputText.filter!(a => a != '_').to!int()` etc.

```d
import std;

void main(string[] args)
{
// string[] inputs = args[1..$]; // let's not use stdin for now
    string[] inputs = ["123_456", "789_10"];
    auto filtered   = inputs.map!(i => i.filter!(n => n != '_'));
    auto values     = filtered.map!(f => f.to!int());
    writeln(values.array);
}
```

About the output I see someone just post the solution ;)

Reply via email to