Συντονιστής: konnn

#include <stdio.h>
#include <string.h> // for strncpy()
#define MAX_PERSONS 100
#define MAXNAME 255+1
typedef struct person {
char name[ MAXNAME ];
int age;
} Person;
int main( void )
{
Person people[ MAX_PERSONS ]; // array of Person ( ισοδυναμεί με: array of struct person )
register int i;
for (i=0; i < MAX_PERSONS; i++)
{
strncpy( people[ i ].name, "uknown", MAXNAME); // αρχικοποίηση του name σε "uknown"
people[ i ].age = 0; // αρχικοποίηση του age σε 0
}
...
return 0;
}

migf1 έγραψε:Υποθέτω εννοείς να βάλουμε αρχικές τιμές σε όλα τα structures, σε κάθε στοιχείο του array, ε;
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h> // for strncpy()
#define MAX_PERSONS 100
#define MAXNAME 255+1
typedef struct person {
char name[ MAXNAME ];
int age;
} Person;
int main( void )
{
Person people[ MAX_PERSONS ]; // array of Person ( ισοδυναμεί με: array of struct person )
register int i;
for (i=0; i < MAX_PERSONS; i++)
{
strncpy( people[ i ].name, "uknown", MAXNAME); // αρχικοποίηση του name σε "uknown"
people[ i ].age = 0; // αρχικοποίηση του age σε 0
}
...
return 0;
}


/***********************
* File: secondary.c
************************
*/
int sum( int x, int y)
{
return x+y;
}
/***********************
* File: main.c
************************
*/
#include <stdio.h>
extern int sum(int, int); // το πρότυπο της sum() δηλωμένο ως extern (δηλαδή external)
// (στα πρότυπα αρκούν μονάχα οι τύποι των ορισμάτων, δεν χρειάζονται ονόματα)
int main( void )
{
int n1 = 10, n2 = 20;
printf("sum of %d and %d = %d\n", n1, n2, sum(n1, n2) );
return 0;
}
gcc main.c secondary.c -o myprogram
makemake mymakefile
void bubblesort(int x[],int n)
{
int i,k,temp;
for(i=0;i<n;i++)
{
if(x[k]<x[k-1])
{
temp=x[k];
x[k] = x[k-1];
x[k-1] = temp;
}
}
}
}


migf1 έγραψε:Η bubble-sort εναλλάσσει διαδοχικά τα περιεχόμενα του τρέχοντος στοιχείου του πίνακα με το επόμενο, οπότε αν πάει στο τελευταίο δεν υπάρχει επόμενο για να γίνει η εναλλαγή

#include <stdio.h>
#include <stdlib.h>
int main()
{
int *array, arraysize;
int i, x, i1, i2, min, max;
int sum = 0;
printf("Hello, World!\n\
This program will check numbers between minimum and maximum \
that are divisible by 6.\n");
printf("Enter the minimum number: ");
scanf("%d", &i1);
getchar(); // Clear stdin buffer
printf("Enter the maximum number: ");
scanf("%d", &i2);
getchar();
if (i1 < i2) { min = i1; max = i2; }
else { max = i1; min = i2; }
printf("Checking between %d and %d\n", min, max);
// Allocate size for maximum possible items
if (min < 0 && max < 0) { sum = -(max - min); }
else if (min < 0 && max >= 0) { sum = max - min; }
else if (min >= 0 && max >= 0) { sum = max + min; }
sum += 1;
printf("sum (for array): %d\n", sum);
array = (int*) malloc(sum*sizeof(int)); // dynamic array
printf("Array length: %lu\n", sizeof(array) / sizeof(int));
for (i=0, x=min; x<=max; x++) {
if ((x % 6) == 0) {
array[i] = x;
printf("Found %d! Added in array as item #%d\n", x, i);
i++;
}
}
arraysize = i; // Already +1, includes item #0
printf("Array length: %d\n", arraysize);
free(array); // Free memory
array = NULL;
return 0;
}
