Progression TP01
This commit is contained in:
parent
5ec8f48e12
commit
de651f92e5
21
APL1.2/TP01/palindromes.c
Normal file
21
APL1.2/TP01/palindromes.c
Normal file
@ -0,0 +1,21 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
|
||||
char* inverse(const char* s) {
|
||||
char* inv_str = (char*) calloc(strlen(s), sizeof(char));
|
||||
for (int i = strlen(s)-1; i >= 0; i--) {
|
||||
inv_str[i] = s[strlen(s)-i-1];
|
||||
}
|
||||
|
||||
return inv_str;
|
||||
}
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], inverse(argv[i])) == 0) printf("%s est palindrome.\n", argv[i]);
|
||||
else printf("%s n'est pas palindrome.\n", argv[i]);
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
40
APL1.2/TP01/precognition.c
Normal file
40
APL1.2/TP01/precognition.c
Normal file
@ -0,0 +1,40 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
printf("Veuillez donner vos valeurs : \n");
|
||||
double* list = (double*) calloc(1, sizeof(double));
|
||||
int size = 1;
|
||||
|
||||
do {
|
||||
char reel[50];
|
||||
scanf("%s", &reel);
|
||||
if (reel[0] == 'q') break;
|
||||
|
||||
int found = 0;
|
||||
double var = strtod(reel, NULL);
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (list[i] == var) found = 1;
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
list[size-1] = var;
|
||||
|
||||
size++;
|
||||
double* new_list = (double*) realloc(list, size * sizeof(double));
|
||||
list = new_list;
|
||||
}
|
||||
|
||||
} while(1);
|
||||
|
||||
for (int i = 0; i < size-1; i++) {
|
||||
printf("%f ", list[i]);
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
free(list);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
32
APL1.2/TP01/singletons.c
Normal file
32
APL1.2/TP01/singletons.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
if (argc < 3) {
|
||||
puts("Veuillez renseigner deux valeurs ou plus.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
double* list = (double*) calloc(argc-1, sizeof(double));
|
||||
|
||||
for (int i = 0; i < argc-1; i++) {
|
||||
double val = strtod(argv[i+1], NULL);
|
||||
int found = 0;
|
||||
|
||||
for (int j = 0; j < i; j++) {
|
||||
if (list[j] == val) found = 1;
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
list[i] = val;
|
||||
printf("%.2f ", val);
|
||||
}
|
||||
}
|
||||
|
||||
free(list);
|
||||
printf("\n");
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user