0% acharam este documento útil (0 voto)
39 visualizações9 páginas

Programas em C: Vetores e Matrizes

O documento apresenta 13 exercícios de programação em C envolvendo vetores e matrizes. Os exercícios abordam temas como leitura e impressão de vetores, busca de elementos em vetores, intercalação de vetores, cálculo de médias, soma de elementos de matrizes, geração de novas matrizes e acesso a elementos específicos de matrizes.

Enviado por

Jessica Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
39 visualizações9 páginas

Programas em C: Vetores e Matrizes

O documento apresenta 13 exercícios de programação em C envolvendo vetores e matrizes. Os exercícios abordam temas como leitura e impressão de vetores, busca de elementos em vetores, intercalação de vetores, cálculo de médias, soma de elementos de matrizes, geração de novas matrizes e acesso a elementos específicos de matrizes.

Enviado por

Jessica Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

ALGORITMOS E LINGUAGEM DE PROGRAMAÇÃO

PROFESSOR: Kennedy Ferreira Araújo


ALUNA: Jéssica da Silva

Lista 02: Vetores e Matrizes

1. Escreva um programa em C que leia um vetor de 10 posições e imprima os


elementos que são maiores que 20, caso não houver nenhum elemento
mostrar uma mensagem de aviso ao usuário.

#include <stdio.h>
int main(void){

int vetor [10], i,a;


for(i=0;i<10;i++){
printf("Informe um valor:\n",(i+1));
scanf("%d", &vetor[i]);
}
printf("Os valores maiores que 20 são:");
for(i=0;i<10;i++){
if(vetor[i]>20){
printf("%d \n", vetor[i]);
a=1;
}
}
if (a!=1){
printf("\n Não há números maiores que 20");
}
return 0;
}

2. Escreva um programa em C que leia um vetor de 20 posições e escreva a


posição de cada elemento igual a 10 dentro dele.

#include <stdio.h>

int main(void){

int vetor [20], i;


for(i=0;i<21;i++){
printf("Informe um valor:\n",(i+1));
scanf("%d", &vetor[i]);
}
printf("As posições dos elementos iguais a 10 são:\n");
for(i=0;i<20;i++){
if(vetor[i]==10){
printf("%d \n", i);
}
}
return 0;
}

3. Escreva um programa em C que leia um vetor de tamanho N (onde N é uma


constante de tamanho 12), escreva o valor e a soma de todos os elementos de
índice par.

#include <stdio.h>
#define n 12

int main() {
int vetor [n], i, soma,a;
soma=0;
for(i=0;i<n;i++){
printf("Informe um valor:\n",(i+1));
scanf("%d", &vetor[i]);
}
printf("Os números pares são:");
for(i=0;i<n;i++){
if(i%2==0){
printf("\n %d", vetor[i]);
soma=soma+vetor[i];
a=1;
}
}
if(a==1){
printf("\nA soma dos números pares é:%i", soma);
}
return 0;
}

4. Ler no teclado 12 números inteiros e armazena-los em um vetor N. Em seguida,


copiar os elementos pares divisíveis por 3 para o vetor X e os ímpares divisíveis
por 5 para o vetor Y.

#include <stdio.h>

int main() {
int n [12], i;
int x[12]={0,0,0,0,0,0,0,0,0,0,0,0};
int y[12]={0,0,0,0,0,0,0,0,0,0,0,0};
for(i=0;i<12;i++){
printf("Informe um valor:\n",(i+1));
scanf("%d", &n[i]);
if(n[i]%2==0 && n[i]%3==0){
x[i]=n[i];
}
if(n[i]%2!=0 && n[i]%5==0){
y[i]=n[i];
}
}
printf("\nValores de pares divisíveis por 3\n");
for(i=0;i<6;i++){
printf("%d\n",x[i]);
}
printf("\nValores de ímpares divisíveis por 5\n");
for(i=0;i<6;i++){
printf("%d\n",y[i]);
}
return 0;
}

5. Faça um programa em C que leia a idade e a altura de 5 pessoas, armazene


cada informação no seu respectivo vetor. Imprima a idade e a altura na ordem
inversa à ordem lida.

#include <stdio.h>

int main (void) {


int i,cont;
float idade [5],altura [5];
cont=5;
for(i=0;i<5;i++){
printf("Informe a idade\n");
scanf("%f", &idade[i]);
printf ("Informe a altura:\n");
scanf("%f", &altura[i]);
}
for(cont=4;cont>-1;cont--){
printf("A idade é %f e a altura é %f\n",idade[cont], altura[cont]);
}
return 0;
}

6. Faça um programa em C que leia dois vetores com 10 elementos cada. Gere
um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos
elementos intercalados dos outros dois vetores.

#include <stdio.h>

int main (void) {


int i,j,x[10],y[10],z[20];
j=0;
for(i=0;i<10;i++){
printf("Informe o valor de X\n");
scanf("%i", &x[i]);
printf ("Informe o valor de Y\n");
scanf("%i", &y[i]);
}
for(i=0;i<10;i++){
z[j]=x[i];
j++;
z[j]=y[i];
j++;
}
printf ("Dados do vetor de Z");
for(j=0;j<20;j++){
printf ("%i\n",z[j]);
}
return 0;
}

7. Elabore um programa em C para ler 3 notas de alunos de uma turma e os


respectivos nomes, identifique qual a nota máxima e a mínima e mostre quais
os respectivos nomes dos alunos que as obtiveram.

#include <stdio.h>

int main (void) {


int tam;
printf("Qual o tamanho da turma?\n");
scanf("%i", &tam);
char aluno[tam];
float maiorNota=0,menorNota=11,nota;
int i,j, indiceMaior, IndiceMenor;
for(i=0;i<tam;i++){
printf("Informe um aluno\n");
scanf("%c", &aluno[i]);
for(j=0;j<tam;j++){
printf("Informe uma notas\n");
scanf("%f", &nota);
if(nota>maiorNota){
maiorNota=nota;
indiceMaior=i;
}
if(nota>menorNota){
menorNota=nota;
IndiceMenor=i;
}
}
printf("A maior nota é %f do aluno %c \n",maiorNota,aluno[indiceMaior]);
printf("A menor nota é %f do aluno %c \n",menorNota,aluno[IndiceMenor]);
return 0;
}

8. Escreva um programa em C para ler e armazenar valores inteiros em uma matriz


(5,5). A seguir, calcular a média dos valores pares contidos na matriz e escrever
a média calculada e o conteúdo da matriz.

#include <stdio.h>

int main (void) {


int x[5][5],i,j,cont,soma;
float media;
soma=0;
cont=0;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("Informe um número inteiro\n");
scanf("%i", &x[i][j]);
if(x[i][i]%2==0){
soma=soma+x[i][j];
cont=cont+1;
}
}
}
printf("Os elementos da matriz são\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("\n %i",x[i][j]);
}
}
media=soma/cont;
printf("A média dos elementos pares é %f\n",media);
return 0;
}

9. Escrever um algoritmo para ler uma matriz (7,4), contendo valores inteiros
(supor que os valores são distintos). Após, encontrar o menor valor contido na
matriz e sua posição.

#include <stdio.h>

int main (void) {


int x[7][4],i,j,posicao,posicao1, menor;
menor=0;
posicao=0;
posicao1=0;
for(i=0;i<7;i++){
for(j=0;j<4;j++){
printf("Informe um número inteiro\n");
scanf("%i", &x[i][j]);
}
}
menor=x[1][1];
for(i=0;i<7;i++){
for(j=0;j<4;j++){
if(x[i][j] < menor){
menor = x[i][j];
posicao=i;
posicao1=j;
}
}
}
printf("O menor elemento da matriz é %i\n",menor);
printf("Sua linha é %i e sua coluna é %i\n",posicao,posicao1);
return 0;
}

10. Escreva um algoritmo que lê uma matriz (5,5) e calcula as somas:


• Da linha 4 de M.
• Da coluna 2 de M.
• Da diagonal principal.
• Da diagonal secundária.
• De todos os elementos da matriz
• Escreva estas somas e a matriz.

#include <stdio.h>

int main (void) {


int i,j,x[5][5], soma4, soma2, diagonalPrincipal, somaTotal, diagonalSecundaria;
soma4=0;
soma2=0;
diagonalPrincipal=0;
diagonalSecundaria=0;
somaTotal=0;
diagonalPrincipal=0;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("Informe um número inteiro\n");
scanf("%i", &x[i][j]);
somaTotal=somaTotal+x[i][j];
}
}
if (i=3){
for(j=0;j<5;j++){
soma4=soma4+x[3][j];
}
}
if (j=1){
for(i=0;i<5;i++){
soma2=soma2+x[i][1];
}
}
if (i=j){
diagonalPrincipal=diagonalPrincipal+x[i][j];
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("os itens da matriz são: %i\n",x[i][j]);
}
}
diagonalSecundaria=x[1][5]+x[2,4]+x[3][3]+x[4][2]+x[5][1];
printf ("o valor da soma da linha 4 é: %i \n",soma4);
printf ("o valor da soma da coluna 2 é: %i \n",soma2);
printf ("o valor da soma da diagonal principal é: %i \n",diagonalPrincipal);
printf ("o valor da soma da diagonal principal é: %i \n",diagonalSecundaria);
printf ("o valor da soma de todos os itens da matriz é é: %i \n",somaTotal);
return 0;
}

11. Ler uma matriz 5x5 e gerar outra em que cada elemento é o cubo do elemento
respectivo na matriz original.

#include <stdio.h>

int main (void) {


int i,j,x[5][5],y[5][5];
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("Informe os valores\n");
scanf("%i", &x[i][j]);
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
y[i][j]=x[i][j]*3;
}
}
printf ("Dados do vetor\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%i\n",y[i][j]);
}
}
return 0;
}

12. Faça um algoritmo para ler uma matriz de 3x4 de números reais e depois exibir
o elemento do canto superior e do canto inferior esquerdo.

#include <stdio.h>

int main (void) {


int i,j,x[3][4];
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("Informe um número inteiro\n");
scanf("%i", &x[i][j]);
}
}
printf ("o valor do canto superior esquerdo é: %i \n",x[0][0]);
printf ("o valor do canto inferior esquerdo é: %i",x[2][0]);
return 0;
}

13. Crie uma matriz 7x8 onde cada elemento é a soma dos índices de sua posição
dentro da matriz.

#include <stdio.h>

int main (void) {


int x[7][8],i,j;
for(i=0;i<7;i++){
for(j=0;j<8;j++){
x[i][j]=i+j;
}
}
for(i=0;i<7;i++){
for(j=0;j<8;j++){
printf("Os elemento da matriz são %i\n",x[i][j]);
}
}
return 0;
}

14. Leia uma matriz 10x10 que se refere respostas de 10 questões mútipla escola,
referentes a 10 alunos. Leia também um vetor de 10 posições contendo a,b,c
ou d. Seu programa deverá comparar as respostas de cada candidato com o
gabarito e emitir um vetor Resultado, contendo a pontuação correspondente.

#include <stdio.h>

int main (void) {


char x[10][10], gabarito[10];
int i,j,acertos;
acertos=0;
for(i=0;i<10;i++){
for(j=0;j<10;j++){
printf("Informe uma resposta\n");
scanf("%d", &x[i][j]);
printf("Informe uma gabarito\n");
scanf("%d", &gabarito[i]);
if(x[i][i]==gabarito[i]){
acertos=acertos+1;
}
}
}
printf("O número de acertos é %i \n",acertos);
return 0;
}

Você também pode gostar