All pastes #1316260 Raw Edit

lamalex

public text v1 · immutable
#1316260 ·published 2009-01-23 19:53 UTC
rendered paste body
// Alex Launi// Assignment 1// 1/23/2009//// EMAIL THIS TOO  c21070100@lucas.cis.temple.edu#include <stdio.h>#define SIZE 10void evenOnLeft(int[], int);void printA(int[], int);void reverse(int[], int);float average(int[], int);int* copy_array(int[], int);int main(int argc, char **argv){  int A[] = {9, 21, 321, 117, 27, 64, 13, 9, 12, 208};  printA(A, SIZE);  printf("The average of A[] is %f\n", average(A,SIZE));  reverse(A, SIZE);  printA(A, SIZE);  evenOnLeft(A, SIZE);  printA(A, SIZE);  return 0;}/* prints A[] inside parentheses with each value separated   by commas to stdout */void printA(int A[], int length){	int i;	printf("(");	for(i = 0; i < length; i++) {		if (i != length - 1)			printf("%d, ", A[i]);		else			printf("%d", A[i]);	}	printf(")\n");}/* returns the average of the items in A[] or 0.0 if A is empty */float average(int A[], int length){	int i;	int sum = 0.0;	if (length < 1) return 0.0;	for (i = 0; i < length; i++) {		sum += A[i];	}	return (float) sum/length;}/* Reverses the values in A[].  For example, if before the function,   A[] contained [1,2,3,4,5], after the function, A[] contains   [5,4,3,2,1] */void reverse(int A[], int length){	int i, j;	int* B;	B = copy_array(A, length);	for (i = length - 1, j = 0 ; i >= 0 && j < length; i--) {		A[j] = B[i];		j++;	}}/* Moves all of the even integers in A to the left hand side of A   and the odd integers to the right hand side   For example, if before the function, A[] contained [1,2,3,4,5],   after the function A[] could contain [2,4,1,3,5] */void evenOnLeft(int A[], int length){	int* B;	int i1 = 0, i2 = length, j = 0;	if (length < 1) return;	B = copy_array(A, length);	while (j < length) {		if (B[j] % 2 == 0) {			A[i1] = B[j];			i1++;		}		else {			A[i2] = B[j];			i2--;		}		j++;	}}// FIXME, there has got to be a better wayint* copy_array(int A[], int length){	int i;	int* B;	for (i = 0; i < length; i++) {		B[i] = A[i];	}	return B;}