Prévia do material em texto
Sávio Tinin sobrinho veiga 734651
Vetores, Strings e Matrizes
Trabalho de Introdução a Informática
apresentado como exigência parcial
para a obtenção do grau de
Engenheiro, à Faculdade de
Engenharia Engenheiro Celso Daniel
do Centro Universitário Fundação
Santo André.
Professor: Sidney
SantoAndré
2019
Resumo
Este trabalho apresenta exercícios que envolvem fluxogramas e programação
em linguagem C.
Atividade 4 – Algoritmo e Linguagem de Programação – 2019
Para cada exercício elaborar o fluxograma e a implementação em C.
1) Faça um programa que leia um vetor, de 25 nros inteiros, N[25]. A seguir, encontre
o menor elemento do vetor N e a sua posição no vetor, mostrando: “O menor
elemento de N é”, M, “e sua posição dentro do vetor é:”,P.
Fluxograma
S
Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console
pauser or add your own getch,
system("pause") or input loop */
int main(int argc,char*argv[]){
int i,pos,menor,t=25;
int v[t];
for(i=0;i<t;i++){
printf("digite a posicao
(%i):",i);
scanf("%i",&v[i]);
}
pos=0,menor=v[0];
for(i=1;i<t;i++){
if(menor>v[i]){
pos=i;
menor=v[i];
}
}
printf("menor:%i,posicao:%i",men
or,pos);
return0;
}
Inicio
V25
i=0,i<5,i++
vi
Menor=v0,pos=0
i=1,i<25,i
++
Menor,
pos
Fim
Menor=vi
Pos=i
Menor
vi
2) Faça um programa que leia dois vetores de 10 posições (números inteiros) e faça a
multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro
vetor. Exiba o vetor resultante.
Fluxograma
Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser
or add your own getch, system("pause") or
input loop */
int main(int argc,char*argv[]){
int v1[10], v2[10], vr[10],i;
for(i=0;i<10;i++){
printf("Insira o %i elemento do vetor
1:",(i+1));
scanf("%i",&v1[i]);
}
for(i =0; i<10; i++){
printf("Insira o %do elemento do vetor
2:",(i+1));
scanf("%i",&v2[i]);
}
for(i =0;i<10;i++){
vr[i]= v1[i]* v2[i];
printf("%do elemento do vetor resultante:
%i\n",(i+1), vr[i]);
}
return0;
}
Inicio
v1,v2,vr,i
i=0,i<10,i++
Insira o
elemento
do vetor 1
Insira o
elemento
do vetor 2
vr=v1*v2
i
Elemento
do vetor
resultante
Fim
3) Faça um programa que dados dois vetores (float e de tamanho 3) verifique se são
linearmente dependentes. O conjunto de 2 vetores 𝑎⃗ e 𝑏⃗ será Linearmente
Dependente se, e somente se, suas coordenadas forem proporcionais, isto é:
𝑎0
𝑏0
=
𝑎1
𝑏1
=
𝑎2
𝑏2
Fluxograma Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser
or add your own getch, system("pause") or
input loop */
int main(int argc,char*argv[]){
float V1[3];
float V2[3];
int i,j;printf("\n\nEntre com os valores do
vetor 1:\n");
for(i=0;i<3;i++){
printf("V1[%i]=",i+1);
scanf("%i",&V1[i]);
}
printf("\n\nEntre com os valores do vetor
2:\n");
for(j=0;j<3;j++){
printf("V1[%i]=",j+1);
scanf("%d",&V2[j]);
}
if((V1[0]/V2[0])==(V1[1]/V2[1]))
{printf("Os Vetores sao Linearmente
Dependentes ");
}else{
printf("Os Vetores sao Linearmente
Inependentes ");
}
return0;
}
4) Dados os vetores A={4,6,2,3,7,5} e B={7,5,11,4,17,8} , faça um programa que
subtraia o vetor B de A e armazene o resultado em um vetor C (C[i] = A[i] – B[i]) e
depois exiba o conteúdo do vetor C na tela.
Fluxograma Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console
pauser or add your own getch,
system("pause") or input loop */
int main(int argc,char*argv[]){
int a[]={4,6,2,3,7,5},
b[]={7,5,11,4,17,8},c[6];
int i;
for(i=0;i<6;i++){
c[i]=a[i]-b[i];
printf("Valor do %i vetor c
eh:%i\n",i+1,c[i]);
}
for(i=8;i<6;i++){
printf("%i",c[i]);
}
return0;
return0;
}
Inicio
a=4,6,2,3,7,5
b=7,11,4,17,8
c=6
Valor do
vetor c eh
I=0,i<6,i++ c=a-b i=8,i<6,i++
i
Fim
5) Faça um programa que receba os valores para uma matriz inteira 2x4, gere e exiba
na tela uma matriz transposta (4x2). Uma matriz transposta é gerada trocando a
linha pela coluna.
Fluxograma Implementação em C
int main(int argc,char*argv[]){
int M[2] [4],I,J;
for(i=0;i<2;i++){
for(J=0;J<2;J++){
printf(“ defina a matriz:”);
}
scanf(“%i”,& M[i][j]);}
for(i=8;i<6;i++){
printf("/n”);}
for(i=0;i<4;i++){
for(J=0;J<2;J++){
printf (“%i”, M[i][j]);}
printf("/n”);
return0;
}
6) Faça um programa que receba 5 apostas da Quina e as exiba na tela. Dica: Usar
matriz [5 apostas][5 números].
Fluxograma Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser
or add your own getch, system("pause") or
input loop */
int main(int argc,char*argv[]){
int quina[5][5];
int i,j;
for(i=0;i<5;i++){
printf("quina %i:",i+1);
for(j=0;j<5;j++){
printf("Numero %i:",j+1);
scanf("%i",&quina[i][j]);
}
}
for(i=0;i<5;i++){
printf("\nJogos %i:",i+1);
for(j=0;j<5;j++){
printf("%i\t",quina[i][j]);
}
}
return0;
}
7) Faça um programa que dada uma matriz 3 x3, calcule e exiba a determinante.
𝐴 =
1 2 3
4 5 6
7 8 9
𝑀𝑎⃗𝑡𝑟𝑖𝑧 𝑑𝑒 𝑒𝑛𝑑𝑒𝑟𝑒ç𝑜𝑠 𝑑𝑒 𝐴:
00 01 02
10 11 12
20 21 22
00 01
10 11
20 21
Fluxograma Implementação em C
8) Uma matriz quadrada é chamada de quadrado mágico se a soma dos elementos de
cada linha, a soma dos elementos de cada coluna e as somas dos elementos das
diagonais principal e secundária são todas iguais. Exemplo: As matrizes abaixo são
quadrados mágicos.
[
3 4 8
10 5 0
2 6 7
] [
1 1 1
1 1 1
1 1 1
]
Fluxograma Implementação em C
int main(int argc,char*argv[]){
int M[3][3], I,J,SL,SC,DP,DS;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf(“ defina a matriz:”);
scanf(“%i”,& M[i][j]);}
sl[i]+=M[I][J];
sc[i]+=M[I][J];
IF(I==J){
dp += M[I][J];}
IF((i+j)==2){
ds += M[I][J];}}}
if(sl==sc&&dp==ds){
printf(“ eh quadrado perfeito”);}
else printf("não eh quadrado
perfeito”);
return0;
9) Uma cidade tem 5 ruas leste-oeste e 5 ruas norte-sul. Ou seja, tem 5x5 = 25
cruzamentos. Leia uma sequência de pares de ruas que indicam o cruzamento onde
cada acidente ocorreu. Imprima uma matriz com a contagem de acidentes de cada
cruzamento.
Fluxograma
Implementação em C
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char*argv[]){
int i,j;
int M[5][5];
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("Digite(%i,%i):",i,j);
scanf("%i",&M[i][j]);
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%i ",M[i][j]);
}
printf("\n");
}
return0;
}
Inicio
i,j
“Digite”
M
\n
Fim
I=0,i<5,i++
10) Faça um programa que receba uma frase e troque as vogais existentes nesta frase
por ‘?’. Por exemplo: Frase “EU ESTOU NA ESCOLA” resultado na tela “?? ?ST??
N? ?SC?L?”
Fluxograma Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the
console pauser or add your own
getch, system("pause") or input
loop */
int main(int argc,char*argv[]){char frase[9999];
int i;
printf("Digite uma frase\n\n");
gets(frase);
for(i=0;i<=9999;i++){
if(frase[i]=='ST' || frase[i]=='st'
||
frase[i]=='N' || frase[i]=='n' ||
frase[i]=='SC' || frase[i]=='sc' ||
frase[i]=='L' || frase[i]=='l' ){
frase[i]='*';
}
}
printf("%i\n", frase);
return0;
}
11) No colégio Nossa Escola a média de um aluno em uma disciplina é calculada da
seguinte forma: (primeira nota + segunda nota) / 2. Faça um programa para ler o
nome, a primeira e a segunda nota dos alunos de uma turma de 20 alunos e calcular
a média de cada aluno. O programa deve utilizar uma matriz para armazenar os
nomes e outra matriz 20x3 para guardar as notas e a média de cada aluno. Ao final,
o programa deve exibir a seguinte frase para cada aluno: O aluno<nome do
aluno>obteve a média<media do aluno>.
Fluxograma Implementação em C
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser
or add your own getch, system("pause") or
input loop */
int main(int argc,char*argv[]){
char nomes[20][20];
float notas[20][3];
int i;
for(i=0; i<20; i++){
printf ("Qual o nome do(a) aluno(a)?\n ");
scanf ("%i", nomes[i][20]);
printf ("Qual a primeira nota do(a)
aluno(a)?\n ");
scanf ("%i", notas[i][1]);
printf ("Qual a segunda nota do(a) aluno(a)?\n
");
scanf ("%i", notas[i][2]);
}
notas[i][3]=(notas[i][2]+ notas[i][1])/2;
for(i=0; i<20; i++){
printf ("\n O aluno %i obteve a media %f ",
nomes[i][20], notas[i][3]);
}
return0;
}
12) Escreva um que leia um vetor G de 20 elementos caractere que representa o
gabarito de uma prova. A seguir, para cada um dos 50 alunos da turma, leia o vetor
de respostas (R) do aluno e conte o número de acertos. Mostre o nº de acertos do
aluno e uma mensagem APROVADO, se a nota for maior ou igual a 6; e mostre uma
mensagem de REPROVADO, caso contrário.
Fluxograma Implementação em C
Vetores, Strings e Matrizes