Buscar

Lista de Exercícios LPII

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Lista de Exercícios III – C++ 
 
 
1. Leia um vetor A com 10 elementos inteiros. Construa um vetor B observando a 
seguinte lei de formação: todo elemento de B deverá ser igual ao dobro do 
elemento de A correspondente. Imprima A e B. 
 
#include<iostream> 
using namespace std; 
int main (){ 
 system("color fc"); 
 int a[10],b[10],i; 
 for(i=0;i<10;i++){ 
 cout<<"a["<<i+1<<"]= "; 
 cin>>a[i];} 
 for(i=0;i<10;i++) 
 b[i]=2*a[i]; 
 for(i=0;i<10;i++) 
 cout<<"b["<<i+1<<"]= "<<b[i]<<"\n"; 
 system("pause"); 
 return 0; 
} 
 
2. Construa e imprima uma matriz 5 X 5 em que os elementos da diagonal principal 
sejam iguais a 1; os demais elementos devem ser iguais a soma dos respectivos 
índices de linha e coluna. 
 
#include<iostream> 
using namespace std; 
int main (){ 
 system("color fc"); 
 int m[5][5],i,j; 
 for(i=0;i<5;i++){ 
 for(j=0;j<5;j++){ 
 if(i==j) 
 m[i][j]=1; 
 else 
 m[i][j]=i+j; 
 }} 
 for(i=0;i<5;i++){ 
 cout<<"\n"; 
 for(j=0;j<5;j++){ 
 cout<<"m["<<i<<"]["<<j<<"]= "<<m[i][j]<<" ";}} 
 cout<<"\n\n"; 
 system("pause");return 0; 
} 
 
 
3. Leia uma matriz M (10,10) e imprima: 
a) o menor elemento de cada linha da matriz. 
b) o maior elemento de cada coluna da matriz. 
 
#include<iostream> 
using namespace std; 
int main (){ 
 system("color fc"); 
 int m[3][3],menor[3],maior[3],i,j; 
 for(i=0;i<3;i++){ 
 for(j=0;j<3;j++){ 
 cout<<"m["<<i+1<<"]["<<j+1<<"]="; 
 cin>>m[i][j];}} 
 cout<<"\n\n"; 
 
 for(i=0;i<3;i++){ 
 menor[i]=m[i][1]; 
 for(j=0;j<3;j++){ 
 if(m[i][j]<menor[i]){ 
 menor[i]=m[i][j]; 
 } 
 } 
 } 
 for(i=0;i<3;i++){ 
 for(j=0;j<3;j++){ 
 maior[i]=m[1][j]; 
 for(j=0;j<3;j++){ 
 if(m[j][i]>maior[i]){ 
 maior[i]=m[j][i]; 
 } 
 } 
 } 
 } 
 for(i=0;i<3;i++) 
 cout<<"menor["<<i+1<<"]= "<<menor[i]<<"\n"; 
 cout<<"\n\n"; 
 for(i=0;i<3;i++) 
 cout<<"maior["<<i+1<<"]= "<<maior[i]<<"\n"; 
 
 system("pause");return 0; 
} 
 
 
 
 
 
 
 
4. Escreva e teste a seguinte função, que verifica se um número é primo: 
int primo(int n); 
A função verifica se n é um número primo e retorna verdadeiro se positivo, falso 
se negativo. 
 
#include<iostream> 
using namespace std; 
int primo(int n); 
int main (){ 
 system("color fc"); 
int p,pr; 
cout<<"Programa que verifica se o numero informado eh primo!! \n\n"; 
p=primo(pr); 
if(p==1) cout<<"\n Verdadeiro \n"; 
if(p==0) cout<<"\n Falso \n"; 
cout<<"\n"; 
system("pause");return 0; 
} 
 int primo(int n){ 
 int i,x,div=0,pr; 
 cout<<"Digite o numero= "; 
 cin>>n; 
 for(i=1;i<=n;i++){ 
 if(n%i==0) 
 div++; 
 } 
 if((div==2)||(n==1)){ 
 pr=1; return pr;} 
 else{ 
 pr=0; return pr;} 
 } 
 
 
5. Escreva e teste a seguinte função, que retorna o valor mínimo de um array dado: 
float min(float a[10]); 
 
#include<iostream> 
using namespace std; 
float min(float a[10]); 
int main(){ 
 system("color fc"); 
 float v[10],m; 
 m=min(v); 
 cout<<"O menor = "<<m<<"\n\n"; 
 system("pause"); 
 return 0; 
 } 
 float min(float a[10]){ 
 int i,mn=100000; 
 for(i=0;i<10;i++){ 
 cout<<"a["<<i<<"]= "; 
 cin>>a[i]; 
 if(a[i]<mn) 
 mn=a[i];} 
 return mn; 
 } 
 
6. Escreva e teste a seguinte função: 
int frequency(int a[10], int x); 
Essa função conta o número de vezes que o item x aparece no array a e retorna 
essa contagem como a frequência de x em a. 
 
#include<iostream> 
using namespace std; 
int frequency(int a[10], int x); 
int main (){ 
 system("color fc"); 
 int a,v[10],x; 
 cout<<"informe o numero a ser verificado= "; 
 cin>>x; 
 a=frequency(v,x); 
 cout<<"o numero "<<x<<" aparece "<<a<<" vez(es) no vetor n!! \n\n"; 
 system("pause"); 
 return 0; 
 } 
 int frequency(int a[10], int x){ 
 int i,k=0; 
 for(i=0;i<10;i++){ 
 cout<<"a["<<i<<"]= "; 
 cin>>a[i]; 
 if(a[i]==x) 
 k++;} 
 return k; 
 } 
 
 
 
 
 
 
 
 
 
 
 
7. Escreva um programa que leia uma string e a escreva em ordem inversa. 
 
#include<iostream> 
using namespace std; 
void invertchar(char *S); 
int main (){ 
 system("color fc"); 
 char nome[30]; 
 cout<<"digite uma string= "; 
 gets(nome); 
 invertchar(nome); 
 puts(nome); 
 system("pause");return 0; 
} 
 void invertchar(char *S){ 
 strrev(S); 
 } 
 
8. Escreva um programa que leia uma string e a escreva em maiúsculo 
 
#include<iostream> 
using namespace std; 
void mai(char *S); 
int main (){ 
 system("color fc"); 
 char nome[30]; 
 cout<<"digite a string em minusculo = "; 
 gets(nome); 
 mai(nome); 
 puts(nome); 
 system("pause");return 0; 
} 
void mai(char *S){ 
 int i; 
 for(i=0;i<strlen(S);i++) 
 S[i]=toupper(S[i]); 
 } 
 
 
 
 
 
 
 
 
 
9. Leia 10 nomes quaisquer de pessoas pra uma matriz de strings. Ordene esta 
matriz por ordem alfabética utilizando o algoritmo de ordenação de sua escolha. 
 
#include<iostream> 
using namespace std; 
int main(){ 
 system("color fc"); 
 char nome[10][30],aux[30]; 
 int i,j; 
 for(i=0;i<10;i++){ 
 cout<<"Entre com o nome["<<i + 1<<"]= "; 
 gets(nome[i]);} 
 
 for(j=0; j<10; j++){ 
 for(i=0;i<9;i++){ 
 if(strcmp(nome[i], nome[i + 1]) > 0){ 
 strcpy(aux, nome[i]); 
 strcpy(nome[i], nome[j]); 
 strcpy(nome[j], aux); 
 } 
 } 
 } 
 cout<<"\n\nNomes em ordem alfabetica: \n"; 
 
 for(i=0; i<10; i++){ 
 puts(nome[i]);} 
 
 system("pause"); 
 return 0; 
} 
 
10. Descreva o que será produzido, depois de executados os comandos abaixo, se: 
 
 
𝑨 = 
𝟏 𝟐 𝟏
𝟑 𝟏 𝟒
 𝑪 =
𝟏 𝟑
𝟐 𝟏
𝟏 𝟒
 
 
 
 
for (i=0;i<2;i++){ 
 for (j=0;j<2;j++){ 
 for (k=0;k<3;k++){ 
 cout<<A[i][k]+C[k][j]; 
 }}} 
 
O código fonte do programa acima: 
 
#include<iostream> 
using namespace std; 
int main(){ 
 system("color fc"); 
 int a[2][3]={1,2,1,3,1,4}; 
 int c[3][2]={1,3,2,1,1,4}; 
 int i,j,k; 
 for (i=0; i<2; i++){ 
 for (j=0; j<2; j++){ 
 for (k=0; k<3; k++){ 
 cout<<"a["<<i+1<<"]["<<k+1<<"] + c["<<k+1<<"]["<<j+1<<"] = 
"<<a[i][k]+c[k][j]<<"\n"; 
 }}} 
 
 system("pause");return 0; 
 } 
 
 
O programa multiplica cada linha de A por uma coluna de B, tendo como 
resultado a matriz abaixo: 
 
 
 
 
 
 
 
 
 
 
 
 
11. Preencha uma matriz 5x5 com números inteiros de 1 a 25 usando ponteiros. 
 
#include<iostream> 
using namespace std; 
int main (){ 
 system("color fc"); 
 int mat[5][5],i,j; 
 int *p; 
 p=&mat[0][0]; 
 for(i=0;i<5;i++){ 
 for(j=0;j<5;j++){ 
 *p=1; 
 p++;}} 
 p=&mat[0][0]; 
 for(i=0;i<5;i++){ 
 for(j=0;j<5;j++){ 
 cout<<"mat["<<i+1<<"]["<<j+1<<"]= "<<(*p)++<<"\t"; 
 } 
 } 
 
 system("pause");return 0; 
} 
 
12. Calcule o tamanho de uma string lida usando ponteiros. 
 
#include<iostream> 
#include<string.h>using namespace std; 
int strlen(char *s); 
int main (){ 
 system("color fc"); 
 char v[30]; 
 int p; 
 cout<<"digite a string= "; 
 gets(v);cout<<"\n"; 
 p=strlen(v); 
 cout<<"a string possue "<<p<<" caracteres !!!!\n"; 
 system("pause");return 0; 
} 
 
 int strlen(char *s){ 
 int i=0; 
 while(*s){ 
 i++;s++;} 
 return i; 
 } 
 
 
13. Leia duas strings. Construa uma terceira string fornecida para concatenação das 
duas primeiras. Use ponteiros. 
 
#include<iostream> 
#include<string.h> 
using namespace std; 
char Concat(char *p1, char *p2); 
int main (){ 
 system("color fc"); 
 char a[30],b[30]; 
 cout<<"str1= "; 
 gets(a); 
 cout<<"str2= "; 
 gets(b); 
 cout<<"\n"; 
 Concat(a,b); 
 puts(a); 
 cout<<"\n"; 
 system("pause");return 0; 
} 
 char Concat(char *p1, char *p2){ 
 while(*p1){ 
 p1++;} 
 while(*p2){ 
 *p1=*p2; 
 p1++; 
 p2++; 
 } 
 *p1=0; 
 }

Outros materiais