[ create a new paste ] login | about

Link: http://codepad.org/YfbG4uTS    [ raw code | output | fork ]

C, pasted on Jan 29:
#include <stdio.h>

int Sum(int* arr, int size, int index)
{
  if(index == size)
    return 0;
 
  return (arr[index] % 2 == 0)? arr[index] + Sum(arr, size, index + 1) : Sum(arr, size, index + 1);
}

void Replace(int* arr, int size, int n, int index)
{
  if(index == size)
    return;

  if(arr[index] < 0)
    arr[index] = n;

  Replace(arr, size, n, index + 1);
}

void Output(int* arr, int size, int index)
{
  if(index == size)
    return;

  printf("%d ", arr[index]);

  Output(arr, size, index + 1);
}

int main()
{
  int arr[] = {1, 2, -3, 4, 5, 6};
  int size  = sizeof(arr) / sizeof(arr[0]);

  int sum = Sum(arr, size, 0);
  
  Replace(arr, size, sum, 0);

  Output(arr, size, 0);

  return 0; 
}


Output:
1
1 2 12 4 5 6 


Create a new paste based on this one


Comments: