Added solutions for phase 2
This commit is contained in:
parent
6a04e7a8fa
commit
bfeea1f1ef
|
@ -4,12 +4,12 @@
|
||||||
|
|
||||||
char *readKey () {
|
char *readKey () {
|
||||||
int i, buffer = 76; /* Largura da maior palavra na língua portuguesa */
|
int i, buffer = 76; /* Largura da maior palavra na língua portuguesa */
|
||||||
char c, *input = malloc(buffer * sizeof(*input));
|
char c, *input = malloc(buffer * sizeof(char));
|
||||||
|
|
||||||
for (i = 0; (c = getchar()) != EOF && isalnum(c); i++) {
|
for (i = 0; (c = getchar()) != EOF && isalnum(c); i++) {
|
||||||
if (i == buffer - 1) {
|
if (i == buffer - 1) {
|
||||||
buffer += buffer;
|
buffer += buffer;
|
||||||
input = realloc(input, buffer * sizeof(*input));
|
input = realloc(input, buffer * sizeof(char));
|
||||||
}
|
}
|
||||||
input[i] = c;
|
input[i] = c;
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ int main () {
|
||||||
if (isalpha(c))
|
if (isalpha(c))
|
||||||
printf("%c", zion[c - 'a']);
|
printf("%c", zion[c - 'a']);
|
||||||
else
|
else
|
||||||
printf("%c", zion[26 + (c - '0')]);
|
printf("%c", zion['z' - 'a' + 1 + (c - '0')]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
scanf(" ");
|
scanf(" ");
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <string.h>
|
||||||
|
#define MAX 151
|
||||||
|
|
||||||
|
char ** readWords (int w) {
|
||||||
|
int i;
|
||||||
|
char **words = malloc(w * sizeof(char*));
|
||||||
|
|
||||||
|
for (i = 0; i < w; i++) {
|
||||||
|
words[i] = malloc(MAX * sizeof(char));
|
||||||
|
scanf(" %s", words[i]);
|
||||||
|
}
|
||||||
|
return words;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isRepeated (char **words, int i, int size) {
|
||||||
|
int j;
|
||||||
|
|
||||||
|
if (strlen(words[i]) < 3
|
||||||
|
|| !strcmp(words[i], "uma")
|
||||||
|
|| !strcmp(words[i], "com")
|
||||||
|
|| !strcmp(words[i], "por")
|
||||||
|
|| !strcmp(words[i], "que")
|
||||||
|
|| !strcmp(words[i], "para"))
|
||||||
|
return false;
|
||||||
|
for (j = i + 1; j < size; j++)
|
||||||
|
if (!strcmp(words[i],words[j]))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int countRepetitions (char **words, int size) {
|
||||||
|
int i, repetitions = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < size - 1; i++) {
|
||||||
|
if (isRepeated(words, i, size))
|
||||||
|
repetitions++;
|
||||||
|
free(words[i]);
|
||||||
|
}
|
||||||
|
free(words);
|
||||||
|
return repetitions;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main () {
|
||||||
|
int size, n = 0;
|
||||||
|
|
||||||
|
for (scanf(" %d", &n); n > 0; n--) {
|
||||||
|
scanf(" %d", &size);
|
||||||
|
printf("%d ocorrencia(s) de falha na matrix\n",
|
||||||
|
countRepetitions(readWords(size), size));
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
bool closestPhone(int *x, int *y) {
|
||||||
|
int phones, route_x, route_y;
|
||||||
|
double distance, closest;
|
||||||
|
|
||||||
|
if (!scanf(" %d", &phones) || phones <= 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
scanf(" %d %d", x, y);
|
||||||
|
closest = sqrt(pow(abs(5 - *x),2) + pow(abs(5 - *y),2));
|
||||||
|
|
||||||
|
while (--phones > 0) {
|
||||||
|
scanf(" %d %d", &route_x, &route_y);
|
||||||
|
distance = sqrt(pow(abs(5 - route_x),2) + pow(abs(5 - route_y),2));
|
||||||
|
if (distance > closest)
|
||||||
|
continue;
|
||||||
|
closest = distance;
|
||||||
|
*x = route_x;
|
||||||
|
*y = route_y;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main () {
|
||||||
|
int x, y, n = 0;
|
||||||
|
|
||||||
|
for (scanf(" %d", &n); n > 0; n--) {
|
||||||
|
if (!closestPhone(&x, &y))
|
||||||
|
printf("Ihh rapaiz, foi muito bom te conhecer, F proceis.\n");
|
||||||
|
else if (x == y && y == 5)
|
||||||
|
printf("meu amigo olha o telefone ai do teu lado! Mas as coordenadas sao x = 5 e y = 5...\n");
|
||||||
|
else
|
||||||
|
printf("AHAAA achei, corre malucoo as coordenadas sao x = %d, y = %d\n", x, y);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue