LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop
  over(i, arr1, arr1_len) // if (i >= n) break
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j]) // if (!(cond)) continue
  when(arr1[i] < 100 && arr2[j] < 100)
    sum += arr1[i] + arr2[j];
done

Если макросами конструкция не будет покрываться, то подключаются лямбды, и __VA_ARGS__, опциональные аргументы задаются как в printf, ну это будет примерно тоже самое что и pipe на PHP выше.

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop
  over(i, arr1, arr1_len) // if (i >= n) break
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j]) // if (!(cond)) continue
  when(arr1[i] < 100 && arr2[j] < 100)
    sum += arr1[i] + arr2[j];
done

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len) // if (i >= n) break
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j]) // if (!(cond)) continue
  when(arr1[i] < 100 && arr2[j] < 100)
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j]) // if (!(cond)) continue
  when(arr1[i] < 100 && arr2[j] < 100)
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j])
  when(arr1[i] < 100 && arr2[j] < 100)
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j])
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j])
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j])
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Или вот так если украсить макросами

with(i) with(j) loop {
  over(i, arr1, arr1_len)
  over(j, arr2, arr2_len)
  when(arr1[i] > arr2[j])
    sum += arr1[i] + arr2[j];
}

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; i < arr1_size && j < arr2_size; i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Возможно when влияет только на захват элементов, тогда так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size; 
     i++, j++)
  if (arr1[i] > arr2[j]) sum += arr1[i] + arr2[j]; 

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Это можно. Но это вырожденный случай. Как определение констант через define.

Вот, получается по моей озвученной выше системе оценки, такие макросы можно пропускать, и нельзя говорить что благодаря им пакет написан. А вот настоящие сложные макросы можно и рассмотреть.

Исправление MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j]; 

Исходная версия MOPKOBKA, :

Я не знаю как это исполняется, но если это проход одновременно по двум спискам и сумма их элементов то так

int sum = 0;
for (int i = 0, j = 0; 
     i < arr1_size && j < arr2_size 
     && arr1[i] > arr2[j]; 
     i++, j++)
  sum += arr1[i] + arr2[j];