|

|
Примеры программ на D
bit[8191] flags;
int main()
{ int i, count, prime, k, iter;
printf("10 iterations\n");
for (iter = 1; iter <= 10; iter++)
{ count = 0;
flags[] = 1;
for (i = 0; i < flags.length; i++)
{ if (flags[i])
{ prime = i + i + 3;
k = i + prime;
while (k < flags.length)
{
flags[k] = 0;
k += prime;
}
count += 1;
}
}
}
printf ("\n%d primes", count);
return 0
}
--------------------------------------------------------------------------------
Пример применения массивов разных типов
int[3] abc; // static array of 3 ints
int[] def = { 1, 2, 3 }; // dynamic array of 3 ints
void dibb(int *array)
{
array[2]; // means same thing as *(array + 2)
*(array + 2); // get 2nd element
}
void diss(int[] array)
{
array[2]; // ok
*(array + 2); // error, array is not a pointer
}
void ditt(int[3] array)
{
array[2]; // ok
*(array + 2); // error, array is not a pointer
}
--------------------------------------------------------------------------------
Пример применения контрактного проектирования
long square_root(long x)
in
{
assert(x >= 0);
}
out (result)
{
assert((result * result) == x);
}
body
{
return math.sqrt(x);
} Назад |
|
| |