Programação
#include
#include void mm(int *v, int n, int *min, int *max) { int i;
*min = v[0];
*max = v[0]; for (i = 1; i < n; i++) { if (v[i] > *max) {
*max = v[i];
} else if (v[i] < *min) {
*min = v[i];
}
}
}
int main() { int n, i, *vet, minimo, maximo; printf("Quantos numeros voce deseja digitar? "); scanf("%d", &n); vet = malloc(n * sizeof(int)); for (i = 0; i < n; i++) { printf("Digite o numero de indice %d: ", i); scanf("%d", &vet[i]);
}
mm(vet, n, &minimo, &maximo); printf("Minimo: %d. Maximo: %d.\n", minimo, maximo); return 0;
}
Escreva uma função que recebe uma string de caracteres e uma letra e devolve um vetor de inteiros contendo as posições (índices no vetor da string) onde a letra foi encontrada) e um inteiro contendo o tamanho do vetor criado (total de letras iguais encontradas). Utilize o retorno de um vetor para retornar os índices e um ponteiro para guardar o tamanho do vetor.
#include
#include int *acha_caractere(char *str, char c, int *pn) { int i = 0, n = 0, *indices = 0; for (i = 0; str[i] != '\0'; i++) { if (str[i] == c) { n++; }
}
indices = (int *) malloc(n* sizeof(int)); for (i = 0, n = 0; str[i] != '\0'; i++) { if (str[i] == c) { indices[n] = i; n++; }
}
*pn = n; return indices;
}
int main() { int *indices = 0, n = 0, i; char *frase = "teste"; indices = acha_caractere(frase, 'e', &n); for (i = 0; i < n; i++) { printf("%d ", indices[i]);
}
return 0;
}
Escrever um programa que lê duas cadeias s1 e s2, e retorna uma nova cadeia s3 que contém todos os caracteres que aparecem em s1 e em s2. char *caracteres_repetidos(char *s1, char *s2) { int i, j, w, n =