Buscar

Lista 6 - Vetores

Prévia do material em texto

LISTA DE EXERCÍCIOS
VETORES E STRINGS EM LINGUAGEM C
	Aluno
	Curso
	Marlon dos Santos Cunha
	Engenharia Civil – ECN01
EXERCÍCIOS SOBRE VETORES
Proponha um programa que declare um vetor de 5 posições de valores inteiros. Defina cada posição (elemento) do vetor com o valor 0.
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, k, x;
 int v[5];
 printf (“digite quantidade de vetores: “);
 scanf (“%d”,&x);
 k=x;
 for (k=1; k<=x; k++)
 {
	 v[k]=0;
	}
 getch();
}
Proponha um programa que declare um vetor de 9 posições de valores inteiros. Associe 0 para a posição 0 do vetor, 1 para a posição 1 e assim por diante. Imprima o vetor na tela.
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, k, x;
 int v[9];
 printf (“digite quantidade de vetores: “);
 scanf (“%d”,&x);
 k=x;
 for (k=1; k<=x; k++)
 {
	 v[k]=k;
	 printf (“v[%d]=%d\n”,v[k,k);
	}
 getch();
}
Explique o que faz o programa abaixo:
int main()
{
int v[5];
int i;
v[0] = 10;
for (i = 1; i < 5; i++)
 {
 v[i] = v[i-1] * 2;
}
}
O programa cria um vetor de 5 posições, e coloca o primeiro vetor com valor igual a 10. no for o vetor atual tem o valor do vetor anterior multiplicado por dois.
Proponha um programa que declare um vetor de 26 posições do tipo char. Coloque a letra ‘A’ na posição 0, ‘B’ na posição 1, e assim por diante. Imprima o vetor na tela.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
 char s[26]=”ABCDEFGHIJKLMNOPQRSTUVXYW”;
 s[25]=’Z’;
 int i;
 for (i=0; i<26; i++)
 {
	 printf (“v[%d]=%c\n”,I,s[i]);
	}
 getch();
}
Proponha um programa que declare um vetor de 10 posições de valores inteiros. Leia o valor a ser colocado em cada posição, calcule a média dos valores digitados e imprima a média na tela.
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, x;
 float media;
 int v[10];
 for (i=1; i<=10; i++)
 {
	 printf (“Digite o numero na posicao do vetor[%d]: ”,i)
	 scanf (“%d”,&v[i]);
	 media=media+v[i];
	}
 media=media/10;
 printf (“A media dos valores digitados e: %.1f\n”,media);
 getch();
}
Proponha um programa que declare um vetor de 10 posições de valores inteiros. Leia do teclado um valor para cada posição do vetor. Imprima o vetor de trás para a frente.
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, x;
 float media;
 int v[10];
 for (i=1; i<=10; i++)
 {
	 printf (“Difgite o numero na posicao do vetor[%d]: ”,i)
	 scanf (“%d”,&v[i]);
	}
 i=11;
 for(x=1; x<=10; x++)
	{
	 i=i-1;
	 printf(“v[%d]=%d\n”,i,v[i]);
	}
 getch();
}
Declare um vetor de 10 valores inteiros chamado idade. Leia o valor de cada posição do vetor. Após isto, para cada posição, imprima “maior (>=18), menor(<18) ou idade inválida(<0)” conforme os valores presentes no vetor.
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, x;
 int idade[10];
 for (i=1; i<=10; i++)
 {
 printf(“Digite a idade do cidadão %d: ”,i);
 scanf (“%d”, &idade[i]);
 if(idade[i]>=18)
	{
	 printf(“Cidadão %d e maior de idade\n”,i);
	}
	else if (idade[i]<=18)
	 {
	 printf(“Cidadão %d e menor de idade\n”,i);
	 }
	else
	 {
	 printf(“Esse cidadao nao existe\n”,i);
	 }
	}
 getch();
}
Escrever um programa que simule a leitura de uma senha. Neste tipo de leitura, não desejamos apresentar os caracteres digitados na tela. Desta forma, devemos utilizar a função getch() para ler cada caractere individualmente. A cada caractere digitado, o programa deve imprimir um asterisco na tela. A leitura da senha termina quando o usuário digitar ENTER. Neste momento, o programa deve imprimir na tela a senha digitada.
Atenção: A função getch() retorna o código do caractere digitado.
Ex: char ch = getch();
ENTER possui código numérico 13.
Não esqueça de colocar o zero no final do vetor de caracteres (string).
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
 char senha[12];
 char tecla;
 int cont=0, aster;
 printf (“Digite a senha: ”);
 do
 {
	tecla=getch();
	switch(tecla);
	 {
		case (char)13: if(cont>0);
		senha[cont]= ‘\0’;
		else
	 	tecla=0; break;
		
		case (char)8: if(cont>0)
		 {
		 senha[cont]=0;
		 cont--;
		 }
		break;
		default: senha[cont=tecla;
		cont++;
		break;
	 }
	aster=cont;
	system(“cls”);
	printf(“Digite a senha: ”);
	while (aster>0)
	 {
		printf(“*”);
		aster--;
 	 }
 	}
	while(tecla!=(char)13 && cont,10);
	printf(“\nAsenha digitada e: %s”,senha);
 getch();
}
Escrever um programa que:
leia um conjunto de 10 notas, armazenando-as em um vetor (ou arranjo),
calcule e imprima a sua média,
calcule e imprima o número de alunos com nota superior à média
#include <stdio.h>
#include <conio.h>
int main()
{
 int i, x, k;
 float media;
 k=0;
 int v[10];
 for (i=1; i<=10; i++)
 {
	 printf (“Difgite a nota do vetor[%d]: ”,i)
	 scanf (“%d”,&v[i]);
	 media=media+v[i];
	 if(v[i>=6)
	 {
		K=k+1;
	 }
	}
 media=media/10
 printf(“A media dos valores digitados e: %,1f\n”,media)
 printf(“%d alunos acima da media\n”,k);
 getch();
}
Fazer um programa que:
leia uma frase de até 80 caracteres, incluindo brancos,
conte e imprima quantos brancos existem na frase,
conte e imprima quantas vezes a letra A aparece.
QUESTÃO ESPECIAL: conte e imprima quantas vezes aparece cada letra.
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
 char frase[80];
 int x, z, contB, contA;
 contB=0;
 contA=0;
 printf(“Digite uma frase de ate 80 caracteres:\n”);
 gets(frase);
 for (int x=0; x<80; x++)
 {
	 z=x+1;
	 if(frase[x]==‘ ’)
	 {
		contB+=1;
	 }
	 if(frase[x]==‘A’ || frase[x]==‘a’)
	 {
		contA+=1;
	 }
	 if(frase[x]==‘.’)
	 break;
	}
 printf (“Existe(m) %d branco(s) na frase.\n,contB)
 printf (“Existe(m) %d letra(s) A na frase.\n,contA)
 getch();
}
Criar um algoritmo que leia o preço de compra e o preço de venda de dez mercadorias. O algoritmo deverá imprimir quantas mercadorias proporcionam:
lucro menor do que 10%,
lucro entre 10% e 20%, inclusive, e
lucro maior que 20%
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
 char precocompra[10];
 char precovenda[10];
 float lucro, totlucromenor10, totlucromeno20. totlucromaior20;
 int i;
 tolucromenor10=totlucromenor20=totlucromaior20=0
 for(i=0; i<=9; i++)
 {
	printf(“Entre com o preco de compra da mercadoria: ”);
	scanf(“%d”,&precocompra[i]);
	printf(“Entre com o preco de venda da mercadoria: ”);
	scanf(“%d”,&precovenda[i]);
 }
 for(i=0; i<=9; i++)
 {
 	lucro=(precovenda[i]-precocompra[i]*100/precocompra[i]);
	if(lucro<=10)
	 {
		totlucromenor10=totlucromenor10+1;
	 }
	else
	 {
		if(lucro<=20)
		 {
		 totlucromenor20=totlucromenor20+1;
		 }
		else
		 {
		 totlucromaior20=totlucromaior20+1;
		 }
	 }
 }
 printf(“Numero de mercadorias com lucro inferior a 10 por cento: %.0f\n”,totlucromenor10);
 printf(“Numero de mercadorias com lucro maior ou igual a 10 por cento: %.0f\n”,totlucromenor20);
 printf(“Numero de mercadorias com lucrosuperior a 20 por cento: %.0f\n”,totlucromaior20);
 getch();
}
Criar um algoritmo que leia dois conjuntos de números inteiros, tendo cada um 10 e 20 elementos, e apresentar os elementos que não são comuns aos dois conjuntos.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
 int R[10], S[20], Y[30], Z[30];
 int i,j;
 for(i=0; i<=10; i++)
 {
	printf(“Entre com o %i elemento do primeiro vetor: ”i+1);
	scanf(“%d”,&R[i]);
 }
 for(j=0; j<=20; j++)
 {
	printf(“Entre com o %i elemento do segundo vetor: ”j+1);
	scanf(“%d”,&S[j]);
 }
 int a=0, b=0, h=0;
 for(i=0; i<=10; i++){
 for(j=0; j<=20; j++){
 if(R[i] != S[j]){
 R[i]=Y[b];
 b++;
 }
 }
 }
 for (h=0; h<=b; h++)
 {
 printf(“Vetores diferentes %i\n”,Y[b]);
 }
 getch();
}
EXERCÍCIOS SOBRE STRINGS
Declare uma string de tamanho 80 e inicialize-a com o valor “AEDS”.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
int main()
{
 char s[80]= “AEDS”;
 getch();
}
Apresente numericamente como esta string foi representada na memória. Consulte a tabela ASCII para saber o código de cada letra.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
int main()
{
 char s[80]= “AEDS”;
 int I;
 for(i=0; i<=80; i++)
 {
	printf(“%d\n”,s[i]);
 }
 s[4]= ‘\0’;
 printf(“%z\n”, s);
 getch();
}

Continue navegando