Buscar

Funcoes e vetores Renan Rossetto das Neves RA 83512

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 13 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 13 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 13 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

Prévia do material em texto

Nome: Renan Rossetto das Neves R.A: 83512
Matriz e vetor: 
1. Faça um programa que cria um vetor com 5 elementos inteiros, lê 5 números do teclado, armazena os números no vetor e imprime o vetor na ordem inversa.
#include <conio2.h>
#include <stdio.h>
int main()
{
 int i, vet[5], x;
 for (i = 0; i < 5; i++)
 {
  printf("Digite 5 numeros inteiros: ", i+1);
  scanf("%d", &vet[i]);
 }
 printf("Vetor:");
 for (i = 0; i < 5; i++)
 
{
     printf(" %d ", vet[i]);
 x = vet[i];
 
}
 
 printf("\nVetor Invertido:");
 x-- ;
 
for (i = x ; i >= 0 ; i--)
{
 printf(" %d ", vet[i]);
 
}
getche();
}
2. Faça um programa que lê uma matriz de 3 x 3 elementos usando um comando for, multiplica cada elemento por 5 e imprime o resultado.
#include <conio2.h>
#include <stdio.h>
int main()
{
int i,j, matriz[3][3];
for(i=0; i<3;i++)
{
    for (j = 0; j < 3; j++)
    {
          printf("Matriz[%d][%d]= ",i,j);
          scanf ("%d", &matriz[ i ][ j ]);
          // Aqui estou recebendo os valores da matriz.
    }
    
}
for(i=0; i<3;i++)
{
    for (j = 0; j < 3; j++)
    {
          printf("%d ",matriz[i][j]);
          printf("\n");
 // mostrando os valores iniciais da matriz.
    }
    
}
// Agora vamos para a multiplicação dos valores da matriz por 5.
for(i=0; i<3;i++)
    for (j = 0; j < 3; j++)
    
          matriz[i][j]=matriz[i][j]*5;
          for(i=0;i<3;i++)
          {
              for(j=0;j<3;j++)
              printf("Resultado da multiplicaçao da matriz %d ",matriz[i][j]);
              printf("\n");
              
          }
}
 
    
3. Preencher um vetor com 8 números inteiros e solicitar um número do teclado. Pesquisar se esse número existe no vetor. Se existir, imprimir em qual posição do vetor. Se não existir, imprimir este valor que não existe.
#include <conio.h>
#include <stdio.h>
   
   main()
   {
 
   int res,num,i,vet[8];
 
   for(i=0;i<8;i++)
   {
   printf("Digite um numero para o vetor");
   scanf("%i",&vet[i]);
   }
    printf("Informe um valor para ser verificado no vetor: ");
    scanf("%i",&num);
 
    for(i=0;i<8;i++)
    {
    if (vet[i]==num)
    {
    printf("Posicao do vetor %i\n",i);
    res=0;
    }
    }
        if (res!=0)
    {
        printf("Valor nao encontrado");
    }
getch();
   }
 
4. Preencher um vetor de 8 elementos inteiros. Mostrar o vetor e informar quantos números são maiores que 30.
#include <conio2.h>
#include <stdio.h>
int main()
{
 int i, j, vet[8];
 for (i = 0; i < 8; i++)
 {
  printf("Digite 8 numeros inteiros: ");
  scanf("%d", &vet[i]);
 }
 
 for(i=0;i<8;i++)
{
printf("Valores do vetor %d [%d]\n",i,vet[i]);
    if (vetor[i]>30)
    j++;
}
printf("Os numeros maiores que 30 sao: %d\n",j);
 
    getch();
}
5. Criar um algoritmo que leia os elementos de uma matriz inteira de 4 x 4 e imprimir os elementos da diagonal principal.
#include <conio2.h>
#include <stdio.h>
int main()
{
int i,j, matriz[4][4], principal;
for(i=0; i<4;i++)
{
    for (j = 0; j < 4; j++)
    {
          printf("Matriz[%d][%d]= ",i,j);
          scanf ("%d", &matriz[ i ][ j ]);
          // Aqui estou recebendo os valores da matriz.
    }
    
}
for(i=0; i<3;i++)
{
    for (j = 0; j < 3; j++)
    {
          printf("%d ",matriz[i][j]);
          printf("\n");
 // mostrando os valores iniciais da matriz.
    }
    
}
//Imprimindo a diagonal principal da matriz
 printf("\n\nDiagonal principal\n\n");
     for (i=0; i<=4;i++)
    {
          printf("%d\n",matriz[i][j]);
         
         for (principal=1;principal<=i+1;principal++)
           printf("\t");
    }
 
            printf("\n\n");
            system("pause");
 return 0;
}
    
Função: 
1. Capítulo 5: Resolver apenas os exercícios propostos: 1,2,3,4
1. Indique se são verdadeiras ou falsas as seguintes afirmações:
a) Uma função em C pode devolver simultaneamente mais do que um valor.(F)
b) Uma função em C pode não ter parâmetros. (V)
c) Uma função em C tem que devolver sempre um inteiro. (F)
d) Os parâmetros das funções podem ser do tipo void. (F)
e) A instrução return termina a execução de uma função. (V)
f) Uma variável local a uma função pode ter o mesmo nome que um parâmetro.(F)
g) A instrução return termina a execução de uma função apenas se for a última instrução da função em que se encontra.(F)
h) A instrução return, quando executada dentro de qualquer função, termina o programa. (F)
i) A instrução return, quando executada dentro da função main, termina o programa. (V)
j) O nome de uma função é opcional. (F)
k) Os parâmetros numa função são opcionais. (V)
l) Uma função deve fazer o maior número de tarefas possível sem ocupar muito código.(F)
m) Uma função não deve ter mais que 10 linhas.(F)
n) O nome de uma função não deve ter mais do que 6 letras.(F)
o) O nome de uma função não pode ser uma palavra reservada do C. (V)
p) Sempre que for necessário devem ser utilizadas variáveis locais.(V)
q) Um protótipo não é nada mais que a repetição do cabeçalho da função seguido de;. (V)
r) Em C, um procedimento não é mais do que uma função que "retorna void" (V)
2. Identifique os erros de compilação que seriam detectados nos seguintes programas:
2.1
/*
  * Copyright: Asneira Suprema Software!!!
*/
f(int x,int y); // Aqui foi adicionado ; e na função isso está incorreto.
{
x = 4;
y = 5;
}
2.2
/*
* Copyright: Asneira Suprema Software!!!
*/
void f(int x , int y) //A função void não retorna nada (void = vazio).
{
return -1;
}
2.3
/*
* Copyright: Asneira Suprema Software!!!
*/
void f(void); // Não se usa ; na função e as funções são diferentes.
void f(int x,int y)
{
x = 4;
y = 5;
}
2.4
/*
* Copyright: Asneira Suprema Software!!!
*/
f(int x,int y); void f(int x,int y) //Protótipo diferente da função principal.
{
x = 4;
y = 5;
}
2.5
/*
* Copyright: Asneira Suprema Software!!!
*/
void (int x,int y) //Nome da função não foi declarado.
{
x = 4;
y = 5;
}
2.6
/*
* Copyright: Asneira Suprema Software!!!
*/
void f(int x, y) //Aqui a variável y não possui valor (int,char, etc).
{
x = 4;
y = 5;
}
3.[Exercício de Exame]
Dadas as funções Ping e Pong
void Ping(int i)
{
switch (i)
{
case 1:
case 2:
case 3: while (i--)
    printf("\n%d",--i);
break;
case 25: Pong(3);
break;
default: printf("\nJá Passei em C");
Pong(123);
}
}
void Pong(int x)
{
int j=0;
switch (x)
{
case 1:
case 2: Ping(x);
case 3: j=5;
 j++;
 return;
default: printf("\nOla");
return;
}
printf("\nVou Sair");
}
Qual a saída das seguintes chamadas:
a) Pong(3); // Sem saída.
b) Ping(-4); //Já passei em C ola.
c) Ping(25); //Sem saida
d) Pong(2); // 0
e) Pong(1); // Laço de números impares.
Implemente as seguintes funções:
4.[Exercício de Exame]
int Abs(int x)
Devolve o valor absoluto de x.
Abs(-5) --> 5
Abs(5) --> 5
Int Abs(int x)
{
If (x >=0)
 return x;
Else 
Return -x;
}
2. Crie um programa onde o usuário digita dois valores e imprima na tela a soma destes valores na tela, utilizando uma função do tipo int.
#include <stdio.h>
int soma( int x, int y)
{
   
    printf ("Digite o primeiro valor da soma: ");
    scanf("%d", &x);
    printf ("Digite o segundo valor da soma: ");
    scanf("%d", &y);
    soma = x + y;
    printf ("O valor da soma eh: %d", soma);
    return 0;
}
3. Crie um programa onde o usuário digita 2 valores e imprima na tela o menor valor, devendo para isso, criar uma função Menor que imprime na tela o menor valor. 
#include<stdio.h>  
 
 int Menor(int x,int y)
 {  
   
   if( x < y)
   {
       printf("X eh o menor: %d", x);
   }
   if (y < x)
   {
       printf("Y eh o menor: %d", y);
   }
 }  
 main()
 {  
   int x,y;  
   printf("Digite o primeiro valor: ");  
   scanf("%d",&x); 
   printf("Digite o segundo valor: "); 
   scanf("%d",&y);  
    
   Menor(x,y);
     
   getch();}  
4. Crie um programa onde o usuário digita dois valores e imprima a soma, subtração, multiplicação e divisão do primeiro valor pelo segundo, sendo que deverá ser criada uma função para cada operação.
#include <stdio.h>
int soma( int x, int y)
{
  return (x+y);
}
int subt( int i, int j)
{
      
    return (i-j);
}
int div( int a, int z)
{
    return (a/z);
}
int mult( int k, int l)
{
     
   return (k*l);
}
main ()
{
    int x,y,i,j,a,z,k,l; //variaveis
    int total,total1,total2,total3; //resultados
    printf ("Digite o primeiro valor da soma: ");
    scanf("%d", &x);
    printf ("Digite o segundo valor da soma: ");
    scanf("%d", &y);
    total = soma(x,y);
    printf("Soma: %d", total);
    //subtração
    printf ("Digite o primeiro valor da subtracao: ");
    scanf("%d", &i);
    printf ("Digite o segundo valor da subtracao: ");
    scanf("%d", &j);
    total1 = subt(i,j);
    printf("Subtracao: %d", total1);
    //Divisão
    printf ("Digite o primeiro valor da divisao: ");
    scanf("%d", &a);
    printf ("Digite o segundo valor da divisao: ");
    scanf("%d", &z);
     
     total2 = div (a,z);
     printf("Divisao: %d", total2);
     //Multiplicação
    printf ("Digite o primeiro valor da multiplicacao: ");
    scanf("%d", &k);
    printf ("Digite o segundo valor da multiplicacao: ");
    scanf("%d", &l);
    total3 = mult(k,l);
    printf("Multiplicação: %d", total3);
}

Outros materiais