Skip to content

Commit

Permalink
Update Questões.c
Browse files Browse the repository at this point in the history
  • Loading branch information
Costards2 authored Jul 4, 2022
1 parent 828cfaf commit c217cd6
Showing 1 changed file with 297 additions and 0 deletions.
297 changes: 297 additions & 0 deletions Questões.c
Original file line number Diff line number Diff line change
Expand Up @@ -1554,6 +1554,303 @@ int main()
}
}

/*67. Faça um programa em C que leia dois vetores de 10 posições de inteiros e copie o maior valor dos dois em cada posição em um
terceiro vetor. Em seguida, imprima este terceiro vetor.*/
int main()
{
int vetor1[10] = {10, 5, 55, 34, 22, 30, 155, 48, 6, 16};
int vetor2[10] = {0, 92, 9, 7, 89, 3, 22, 555, 0, 15};
int vetor3[10];
int i;


for (i = 0; i < 10; i++){
if (vetor1[i] > vetor2[i]) vetor3[i] = vetor1[i];
if (vetor1[i] < vetor2[i]) vetor3[i] = vetor2[i];
}

for (i = 0; i < 10; i++){
printf("A posição %d do vetor 3 possui valor de: %d \n", i, vetor3[i]);
}
}

/*68. Escreva um programa que leia o índice pluviométrico de cada dia do mês de junho e informe o dia que mais choveu, o dia que menos choveu
e as médias pluviométricas de cada uma das duas quinzenas.*/
#define TAM 30
int main()
{
int i;
float vetor[TAM]= {50.5, 60.7, 72.7, 35.8, 95.8, 99.9, 64.3, 25.3, 73.4, 56.1, 83.1, 47.5, 77.7, 89.9, 54.6, 35.9, 16.0, 0.0, 112.1, 5.5, 7.5, 6.1, 16.9, 23.4, 7.9, 1.9, 11.2, 6.2, 115.1, 199.2 };
float quinzena1 = 0;
float quinzenas2 = 0;
float mediaQui1, mediaQui2;
int maisChoveu, diaMaisChoveu;
int menosChoveu, diaMenosChoveu;

maisChoveu = vetor[0];
menosChoveu = vetor[0];

for(i = 0; i < TAM; i++){
if(menosChoveu > vetor[i]){
menosChoveu = vetor[i];
diaMenosChoveu = i+1;
}
if(maisChoveu < vetor[i]){
maisChoveu = vetor[i];
diaMaisChoveu = i+1;
}
if(i < 15){
quinzena1 += vetor[i];
mediaQui1 = quinzena1/15.0;
}
if(i >= 15){
quinzenas2 += vetor[i];
mediaQui2 = quinzenas2/15.0;
}
}

printf("O dia que mais choveu foi o dia %d, o dia que menos choveu foi o dia %d. \n A média da primeira quinzena foi de: %.2f \n A média da segunda quinzena foi de: %.2f", diaMaisChoveu, diaMenosChoveu, mediaQui1, mediaQui2);

}

/*69. Escreva um programa que leia um vetor de 15 posições de inteiros. Em seguida, o programa deve ler um valor inteiro e imprimir o número
de vezes que este valor ocorre no vetor.*/
int main()
{
int i;
int array[15] = {7, 7, 6, 55, 6, 55, 8, 6, 16, 7, 6, 16, 25, 100, 16};
int valor;
int repetido = 0;

printf("Digite o valor que você quer ver quantas vezes se repete no array: ");
scanf("%d", &valor);

for (i = 0; i < 15; i++){
if (valor == array[i]) repetido++;
}

printf("O valor digitado se repete %d veze(s) no array \n", repetido);
}

/*70. Escreva um programa que carregue um array com tamanho variável. O tamanho máximo do array é de 100 posições (carga de array com sentinela).*/
#define TAM 100

int main()
{
int i;
int vetor[TAM];
int opcao;
int entrada;
int sentinela = 0;

do{
printf("\n Digite a sua operação: \n");
printf("[1] Adicionar array \n");
printf("[2] Imprimir array \n");
printf("[0] Sair \n");
scanf("%d", &opcao);

if(opcao == 1){
printf ("Digite a sua entrada: ");
scanf("%d", &entrada);
vetor[sentinela] = entrada;
sentinela++;
}else if (opcao == 2){
for(i = 0; i < sentinela; i++){
printf(" %d ", vetor[i]);
}
}
}while(opcao > 0);

}

/*71. Escreva um programa que leia um vetor de 10 posições de inteiros e um inteiro. O programa deve informar a primeira posição onde este inteiro
ocorre no vetor ou -1 caso o valor não ocorra no vetor (Busca Sequencial).*/
int main()
{
int vetor[10] = {10, 2, 9, 4, 8, 6, 7, 5, 3, 1};
int i;
int entrada;
int posicao = -1;

printf("Digite sua entrada: ");
scanf("%d", &entrada);

for (i = 0; i < 10; i++){
if (entrada == vetor[i]){
posicao = i;
}
}
printf("A sua entrada está na posição %d do vetor", posicao);
}

/*72. Escreva um programa que leia um vetor de 10 posições ordenados de inteiros e um inteiro. O programa deve informar a primeira posição
onde este inteiro ocorre no vetor ou -1 caso o valor não ocorra no vetor (Busca Binária).*/
#define TAM 10
int main()
{
int i;
int vetor[TAM] = {1, 2, 3, 4, 5, 6 ,7 ,8, 9, 10};
int entrada;
int posicao = -1;
int inicio = 0;
int meio;
int final = TAM -1;

printf("Digite o valor que você quer conferir a existência no array \n");
scanf("%d", &entrada);

while (inicio <= final && posicao < 0){
meio = ((final - inicio) / 2) + inicio;
if (vetor[meio] == entrada){
posicao = meio;
} else if (vetor[meio] > entrada){
final = meio - 1;
} else {
inicio = meio + 1;
}
}
printf("O valor digitado está na posição %d do array", posicao);
}

/*73. Escreva um programa em C que leia um array de 20 inteiros, calcule e imprima:
a. A moda dos elementos no array (elemento mais freqüente).
b. A mediana dos elementos no array (elemento central)
c. A média*/
#define TAM 20
int main()
{
int i, j;
int vetor[TAM] = {0, 89, 3, 33, 7, 92, 50, 10, 50, 16, 4, 12, 42, 47, 15, 67, 50, 5, 92, 0};
int vetorFreq[TAM] = {0};
int maxFreq = 0;
float soma = 0;
float media = 0;
int aux;
float mediana;
int moda;
int repeticoes = 0;

/*MÉDIA*/
for(i = 0; i < TAM; i++){
soma+= vetor[i];
}
media = soma/TAM;

/*MEDIANA*/
for(i = 0; i < TAM - 1; i++){
for(j = i+1; j < TAM; j++){
if(vetor[i] > vetor[j]){
aux = vetor[i];
vetor[i] = vetor[j];
vetor[j] = aux;
}

}
mediana = (vetor[TAM/2] + vetor[(TAM/2)-1])/2.0;
}

/*MODA*/
for(i = 0; i < TAM; i++){
for(j = i ; j < TAM; j++){
if(vetor[i] == vetor[j]) vetorFreq[i]++;
}
}

for (i = 0; i < TAM; i++){
if(maxFreq < vetorFreq[i]){
maxFreq = vetorFreq[i];
}
}
if (maxFreq == 1) printf("\n O array não possui Modas\n");
else if (maxFreq > 1){
for(i = 0; i < TAM; i++){
if(maxFreq == vetorFreq[i]){
printf("O array possui a moda: %d ocorrendo %d vezes no array \n", vetor[i], maxFreq);
}
}
}
printf ("A média do array é de: %.2f \n A mediana do array é = %.2f ", media, mediana);
}


/*74. Escreva um programa em C que armazene um vetor de até 30 inteiros. O programa deve fornecer as seguintes operações:
a. Inserir um elemento no final do vetor
b. Inserir um elemento em uma dada posição
c. Remover um elemento de uma posição indicada
d. Remover todos elementos iguais a um valor indicado
e. Gerar um novo array sem duplicidades a partir deste array*/
#define TAM 10
int main()
{
int i, j;
int array[TAM];
int sentinela = 0;
int novoArray[TAM];
int arrayFreq[TAM] = {0};
int entrada;
int posicao;
int opcao;
int aux;
int cont = 0;

do{
printf("Digite a sua opção \n");
printf("[1] Inserir um elemento no final do array \n");
printf("[2] Inserir um elemento numa dada posição \n");
printf("[3] Remover um elemento de uma posição indicada \n");
printf("[4] Remover todos elementos iguais a um valor indicado \n");
printf("[5] Gerar um novo array sem duplicidades a partir deste array \n");
scanf("%d", &opcao);

if(opcao == 1){
for(i = TAM - 1; i >= 0 ; i--){
printf("Digite o número que você quer adicionar ao final do array: ");
scanf("%d", &entrada);
array[i] = entrada;
}
}else if(opcao == 2){
printf("Digite o número que você quer adicionar ao array: ");
scanf("%d", &entrada);
printf("Digite a posição que você quer que o elemento fique: ");
scanf("%d", &posicao);
array[posicao] = entrada;
}else if(opcao == 3){
printf("Digite a posicao do elemento que você quer remover: ");
scanf("%d", &posicao);
array[posicao] = -1;
}else if (opcao == 4){
printf("Digite o elemento que você quer remover do array em todas as posições: ");
scanf("%d", &entrada);
for(i = 0; i < TAM; i++){
if(array[i] == entrada){
array[i] = -1;
}
}
} else if (opcao == 5){
for(i = 0; i < TAM; i++){
for(j = i; j < TAM; j++){
if(array[i] == array[j]) arrayFreq[i]++;
}
}
printf("Novo Array: ");
for(i = 0; i < TAM; i++){
if(arrayFreq[i] ==1){
novoArray[i]= array[i];
} else {
novoArray[i]= -1;
}
if(novoArray[i] > 0) printf("%d ", novoArray[i]);
}
printf("\n ");
}
for(i = 0; i < TAM; i++){
printf("%d ", array[i]);
}
printf("\n ");
}while(opcao > 0);
}

/*75. Escreva um programa que ordene um array de inteiros de 15 posições utilizando o
método da bolha (bubble sort).*/
int main(){
Expand Down

0 comments on commit c217cd6

Please sign in to comment.