All pastes #2073203 Raw Edit

Something

public text v1 · immutable
#2073203 ·published 2011-06-01 11:45 UTC
rendered paste body
// Copyright 2011

#include <stdio.h>
#include <stdlib.h>
#include "./Intersect.h"

// ___________________________________________________________________________
int parseSetOfIntegers(const char* str, int integers[MAX_LEN])
{
  int i = 0;  // amount of integers written to integers[MAX_LEN]
  if (str[0] != '{') return 0;
  const char* p = str+1;
  // while i < MAX_LEN and *p between '0' and '9' do
  while (( i < MAX_LEN ) && ( *p < 58 ) && ( *p > 47) )
  {
    // parse (i+1)-th integer to target-array and increase i
    integers[i] = atoi(p);
    i++;
    // go to the next komma and increase p to point to the next digit
    // (will break if the input is not in the specified format)
    while ( 47 < *p && *p < 58 ) p++;
    if (*p != ',') break;
    p++;
  }
  if ( *p == '}' ) return i;
  return 0;
}


// ___________________________________________________________________________
int intersectTwoSetsOfIntegers(
    int setA[MAX_LEN], int setB[MAX_LEN], int setALength, int setBLength,
    int results[MAX_LEN])
{
  int n = 0;  // amount of integers written to results[]
  for (int i = 0; i < setALength; i++)
  {
    for (int j = 0; j < setBLength; j++)
    {
      if (setA[i] == setB[j])
      {
        results[n] = setA[i];
        n++;
      }
    }
  }
  return n;
}