Skip to content

Instantly share code, notes, and snippets.

@Cellane
Created November 1, 2010 12:47
Show Gist options
  • Save Cellane/658110 to your computer and use it in GitHub Desktop.
Save Cellane/658110 to your computer and use it in GitHub Desktop.
// Milan Vit - R09387
// Test c. 1, 1. 11. 2010
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// Task 1
#define VOLUME(r, h) ((3.14159265) * (r) * (r) * (h))
int getLength () {
int length;
printf ("Array length: ");
scanf ("%d", &length);
return (length);
}
void fillArray (int array[], int length, int down, int top) {
int i;
for (i = 0; i < length; i++) {
array[i] = down;
down++;
if (down == (top + 1)) {
break;
}
}
}
void printArray (int array[], int length) {
int i;
for (i = 0; i < length; i++) {
printf ("%d", array[i]);
if ((i + 1) != length) {
printf (", ");
} else {
printf (".\n");
}
}
}
int oddNumbersInArray (int array[], int length) {
int i, oddNumbers = 0;
for (i = 0; i < length; i++) {
if ((array[i] % 2) == 1) {
oddNumbers++;
}
}
return (oddNumbers);
}
void primeNumber (int number) {
int i, primeNumber = 0; // let's suppose it is prime number
if ((number <= 1) || ((number % 2) == 0)) {
if (number == 2) {
primeNumber = 0;
} else {
primeNumber = 1;
}
} else {
for (i = 3; i <= sqrt (number); i += 2) {
if ((number % i) == 0) {
primeNumber = 1;
}
}
}
if (primeNumber == 0) {
printf ("Number %d is prime number.\n", number);
} else {
printf ("Number %d is not prime number.\n", number);
}
}
float lineSum (int number) {
int i, add = 0; // first operation is addition
float sum = 1;
for (i = 2; i <= number; i++) {
if (add == 0) {
sum += 1.0 / (float) i;
add = 1;
} else {
sum -= 1.0 / (float) i;
add = 0;
}
}
return (sum);
}
void shuffleArray (int array[], int arrayLength) {
int i, j;
int tempArray[arrayLength];
// Let's copy everything to temporary array first
for (i = 0; i < arrayLength; i++) {
tempArray[i] = array[i];
}
// Now move the hell back
for (i = 0, j = arrayLength - 1; i < arrayLength; i++, j--) {
array[i] = tempArray[j];
}
}
int main (int argc, const char *argv[]) {
float sum;
int length, oddNumbers;
int shufflingArray[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *array;
// Task 1
length = getLength ();
if ((array = (int *) malloc (length * sizeof (int))) == NULL) {
printf ("Memory allocation error!");
return (1);
}
// Task 2
fillArray (array, length, 6, 10);
printArray (array, length);
// Task 3
oddNumbers = oddNumbersInArray (array, length);
printf ("%d odd number(s) in array.\n", oddNumbers);
// Task 4
printf ("Cylinder volume: %fj^3.\n", VOLUME (3, 4));
// Task 5
primeNumber (1);
primeNumber (2);
primeNumber (3);
primeNumber (4);
primeNumber (5);
primeNumber (6);
// Task 6
sum = lineSum (7);
printf ("Sum is %f.\n", sum);
// Task 7
shuffleArray (shufflingArray, 10);
printArray (shufflingArray, 10);
// Task 1
free (array);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment