Merge branch 'master' of git.kemt.fei.tuke.sk:oh735kh/pvjc21
Merge
This commit is contained in:
commit
417ea0b608
68
a1/program.c
68
a1/program.c
@ -2,31 +2,49 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
int main () {
|
int main () {
|
||||||
char* BMW = (char*) calloc (100, sizeof(char));
|
char* input = (char*) calloc (100, sizeof(char));
|
||||||
int x;
|
double x;
|
||||||
int counter = 0;
|
char* ptr;
|
||||||
int numbers [100];
|
int counter = 0;
|
||||||
for (int i = 0; fgets(BMW, 100, stdin) != NULL; i++){
|
double numbers [100];
|
||||||
if (!strcmp("\n", BMW)) {
|
numbers[0] = 0;
|
||||||
counter = i;
|
for (int i = 0; fgets(input, 100, stdin) != NULL; i++){
|
||||||
break;
|
if (!strcmp("\n", input))
|
||||||
}
|
break;
|
||||||
if (i == 0){
|
|
||||||
x = atoi (BMW);
|
if(i == 0){
|
||||||
}
|
for(int j = 0; input[j] != '\0' && input[j] != '\n'; j++)
|
||||||
else {
|
if(!isdigit(input[j]) && input[j] != '.'){
|
||||||
numbers [i] = atoi (BMW);
|
printf("Nepodarilo sa nacitat zaklad x\n");
|
||||||
}
|
return 0;
|
||||||
}
|
}
|
||||||
int result = 0;
|
}
|
||||||
while (counter > 0){
|
|
||||||
result += pow (x, counter -1) * numbers [counter];
|
for(int j = 0; input[j] != '\0' && input[j] != '\n'; j++)
|
||||||
counter --;
|
if(!isdigit(input[j]) && input[j] != '.'){
|
||||||
}
|
printf("Nepodarilo sa nacitat polynom na %d mieste.\n", i);
|
||||||
printf ("Vysledok je: ");
|
return 0;
|
||||||
printf ("%d\n", &result);
|
}
|
||||||
free(BMW);
|
|
||||||
return 0;
|
if (i == 0){
|
||||||
|
x = (double)strtod(input, &ptr);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
numbers [i] = (double)strtod(input, &ptr);
|
||||||
|
}
|
||||||
|
counter = i;
|
||||||
|
}
|
||||||
|
double result = 0;
|
||||||
|
for(int i = 1; i <= counter; i++)
|
||||||
|
result += pow (x, i-1) * numbers [counter - i + 1];
|
||||||
|
|
||||||
|
result = roundf((float) result * 100)/100;
|
||||||
|
|
||||||
|
printf ("Vysledok je: ");
|
||||||
|
printf ("%.2f\n", result);
|
||||||
|
free(input);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
119
du3/program.c
119
du3/program.c
@ -1,61 +1,88 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
char input[10];
|
char* input = (char*) calloc(11, sizeof(char));
|
||||||
char numbers[4];
|
char numbers[4] = "\0\0\0\0";
|
||||||
int date[3]
|
char* ptr;
|
||||||
|
int date[3] = {0, 0, 0};
|
||||||
int counter1 = 0, counter2 = 0;
|
int counter1 = 0, counter2 = 0;
|
||||||
fgets(input, 10, stdin);
|
|
||||||
|
int truth = 0;
|
||||||
|
|
||||||
for(int i = 0; i < 10; i++){
|
for (int j = 0; fgets(input, 11, stdin) != NULL; j++){
|
||||||
if(!isdigit(input[i]) && input[i] != '.' && input[i] != '\n'){
|
if(input[0] == '\n') continue;
|
||||||
break;
|
for(int i = 0; i < 11; i++){
|
||||||
}
|
if(!isdigit(input[i]) && input[i] != '.' && input[i] != '\0' && input[i] != '\n'){
|
||||||
|
puts("Neplatny datum.");
|
||||||
|
goto LABEL;
|
||||||
|
}
|
||||||
|
|
||||||
if(input[i] != '.' && input[i] != '\n'){
|
if(input[i] != '.' && input[i] != '\n' && input[i] != '\0'){
|
||||||
numbers[counter1++] = input[i];
|
numbers[counter1++] = input[i];
|
||||||
}
|
|
||||||
else {
|
|
||||||
date[counter2++] = atoi(numbers);
|
|
||||||
if(counter2 == 1 && (date[0] < 1 || date[0] > 31)){
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
else if(counter2 == 2 && (date[1] < 1 || date[1] > 12)){
|
else {
|
||||||
break;
|
date[counter2++] = (int) strtol(numbers, &ptr, 10);
|
||||||
}
|
if(counter2 == 1 && (date[0] < 1 || date[0] > 31)){
|
||||||
else if(counter2 == 2 && date[0] > 29){
|
puts("Neplatny datum.");
|
||||||
break;
|
goto LABEL;
|
||||||
}
|
}
|
||||||
else if (counter2 == 3){
|
else if(counter2 == 2 && (date[1] < 1 || date[1] > 12)){
|
||||||
date[1] += 7;
|
puts("Neplatny datum.");
|
||||||
if(date[0] > 31 && (date[1] == 1 || date[1] == 3 || date[1] == 5 || date[1] == 7 || date[1] == 8 || date[1] == 10 || date[1] == 12)){
|
goto LABEL;
|
||||||
date[0] -= 31;
|
}
|
||||||
date[1]++;
|
/*else if(counter2 == 2 && date[0] > 29){
|
||||||
if(date[1] > 12){
|
//goto LABEL;
|
||||||
date[1] = 1;
|
}*/
|
||||||
date[2]++;
|
else if (counter2 == 3){
|
||||||
|
if(date[2] < 1900 || date[2] > 2100){
|
||||||
|
puts("Neplatny datum.");
|
||||||
|
goto LABEL;
|
||||||
}
|
}
|
||||||
|
if(date[0] >= 29 && date[1] == 2 && (date[2] % 4 != 0 || (date[2] % 100 == 0 && date[2] % 400 != 0))){
|
||||||
|
puts("Neplatny datum.");
|
||||||
|
goto LABEL;
|
||||||
|
}
|
||||||
|
date[0] += 7;
|
||||||
|
if(date[0] > 31 && (date[1] == 1 || date[1] == 3 || date[1] == 5 || date[1] == 7 || date[1] == 8 || date[1] == 10 || date[1] == 12)){
|
||||||
|
date[0] -= 31;
|
||||||
|
date[1]++;
|
||||||
|
if(date[1] > 12){
|
||||||
|
date[1] = 1;
|
||||||
|
date[2]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(date[0] > 30 && (date[1] == 4 || date[1] == 6 || date[1] == 9 || date[1] == 11)){
|
||||||
|
date[0] -= 30;
|
||||||
|
date[1]++;
|
||||||
|
}
|
||||||
|
if(date[0] > 29 && date[1] == 2 && date[2] % 4 == 0 && (date[2] % 100 != 0 || (date[2] %100 == 0 && date[2] % 400 == 0))){
|
||||||
|
date[0] -= 29;
|
||||||
|
date[1]++;
|
||||||
|
}
|
||||||
|
else if(date[0] > 28 && date[1] == 2){
|
||||||
|
date[0] -= 28;
|
||||||
|
date[1]++;
|
||||||
|
}
|
||||||
|
printf("%d.%d.%d\n\n", date[0], date[1], date[2]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(date[0] > 30 && (date[1] == 4 || date[1] == 6 || date[1] == 9 || date[1] == 11)){
|
memset(numbers, '\0', 4);
|
||||||
date[0] -= 30;
|
counter1 = 0;
|
||||||
date[1]++;
|
|
||||||
}
|
|
||||||
if(date[0] > 29 && date[1] == 2 && date[2] % 4 == 0 && (date[2] % 100 != 0 || (date[2] %100 == 0 && date[2] % 400 == 0))){
|
|
||||||
date[0] -= 29;
|
|
||||||
date[1]++;
|
|
||||||
}
|
|
||||||
else if(date[0] > 28 && date[1] == 2){
|
|
||||||
date[0] -= 28;
|
|
||||||
date[1]++;
|
|
||||||
}
|
|
||||||
printf("%d.%d.%d\n", date[0], date[1], date[2]);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(isdigit(input[9])) getchar();
|
||||||
|
LABEL:
|
||||||
|
memset(input, '\0', 11);
|
||||||
|
date[0] = 0, date[1] = 0, date[2] = 0;
|
||||||
|
counter1 = 0, counter2 = 0;
|
||||||
|
memset(numbers, '\0', 4);
|
||||||
|
|
||||||
}
|
}
|
||||||
puts("Neplatny datum");
|
|
||||||
|
|
||||||
|
free(input);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user