Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 - Implemente um procedimento para ler n componente para um vetor de números inteiros e imprima quantos são numero positivos. e quantos são números pares crie uma flag de saída do programa #include<stdio.h> #include<stdlib.h> const int sair = 0; main(){ int num, par=0, pos=0; printf("Informe um valor inteiro, 0 (zero) para sair : "); scanf("%d",&num); while(num!=sair){ if(num > 0){ pos ++; } if(num%2 == 0){ par ++; } printf("\n Informe um valor inteiro - 0 (zero) para sair): "); scanf("%d",&num); } printf("\n quantidades de numero positivo = %d", pos); printf("\n quantidade de numeros pares = %d \n\n", par); system("pause"); } 2 - Implemente um funcao chamada interger power (base, expoente) que retorne a potencia. o expoente deve ser um inteiro positivo diferente de zero e base um inteiro positivo essa função deve empregar um for ou while para realizar o calculo da potência . nao use a funcao pow da biblioteca math.h . #include<stdio.h> #include<stdlib.h> int IntegerPower ( int base, int potencia ) { int result=1 ; for( int i=potencia; i>0; i-- ) { result*=base; } return result ; } main() { int x, y ; printf ( "\n informe valor inteiro para a base : ") ; scanf ("%d", &x ) ; printf ( "\n Informe um valor inteiro para o expoente : ") ; scanf ("%d",&y ) ; system("cls" ) ; // colocar esse comando so pro programa nao aceitar valores zero, caso o usuario //digite zero, o programa voltarar a pedir outros // para a base e o expoente. if( x == 0 || y==0 ) { printf ( "\n Base e o expoente nao podem ser ZERO, INFORME OUTRO VALOR" ) ; printf ( "\n\n informe valor inteiro para a base : "); scanf("%d", &x) ; printf ( "\n\n Informe um valor inteiro para o expoente : "); scanf("%d",&y ) ; } Printf ( "\n Resultado de %d elevado a %d = %d",x,y,IntegerPower(x,y) ) ; } 3- Implementar um procedimento que leia os elementos de uma matriz A de ordem 10 e implemente um outro procedimento para imprimir os elementos da diagonal secundaria da matriz A, Use passagem de parametro por referência. #include<stdio.h> #define tam 4 int mat ( int A[][tam] ) { printf ( "\n Imprimindo a Matriz Principal \n\n " ) ; for ( int i=0;i<tam;i++ ) { for ( int j=0; j<tam;j++ ) { printf ( "\t %2d ", A[i] [j] ) ; } printf ("\n") ; } printf ( "\n\n Impimindo a diagonal secundaria \n\n " ) ; for (int lin = 0;lin <tam;lin++) { for ( int col=0;col<tam;col++ ) { if ( col==( 4-1-lin ) ) // funcao para imprimir a diagonal principal printf ( " %d ", A [ lin ] [col ] ) ; } } } main(){ int matriz [] [tam] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; // passagem de parametro mat(matriz); // chamo a funcao mat que recebera os valores } 4 - Implemente um procedimento que calcule o somatório de um valor inteiro passado por referencia e dado pelo procedimento principal man() faça o procedimento principal imprimir o valor do somatório deste valor #include<stdio.h> #include<stdlib.h> int somatorio (int &n) { /*O símbolo & antes do n, significa que é uma referencia ou seja esta recebendo o endereço de memoria do num que esta dentro do main, caso eu queira trocar esse valor basta eu colocar dentro da função um valor pra n, exemplo n=4, agora veja que n não vale mas 0 e sim 4, foi alterado sem que eu alterasse l num dentro do main*/ n=5; int soma= 0, i=0; while(i<n){ soma+= (n-i); // funcao que faz o somatorio do valor 8 (1+2+3+4+5+6+7+8) i++; } return soma; } main(){ int num=8; printf("\n\n A somatoria do valor %d = %d",num, somatorio(num)); } 5- Implemente uma função que receba um vetor de inteiros e retorno o maior valor armazenado neste vetor. Faça o procedimento ou função que o invocou imprimir o maior valor. Use passagem de parâmetro por valor #include<stdio.h> #include<stdlib.h> # define tam 4 void Maior_valor(int V[tam]){ int i=0,j=0; int maior = V[0]; printf("\nVetor = "); for(;i<tam;i++){ // imprimi o elemento do vetor printf(" %d ",V[i]); } // imprimi o maior elemento do vetor for(;j<tam;j++){ if(V[j]>maior){ maior = V[j]; printf("\n\n O maior valor do vetor = %d",maior); } } } main(){ int vetor[tam]={3,6,4,1}; Maior_valor(vetor); } 6-Considere a função recursiva abaixo e calcule f(13) mostre o retorno de cada pilha de recursão #include<stdio.h> int F(int x){ if(x<0) return 1; else return F(x-1)+F(x-2); } main(){ int n= 13; printf("%d", F(n)); } 7-Implemente um programa que utiliza uma funcao recursiva somaN para calcular a soma de 1 ate n ; #include<stdio.h> int somaN(int n){ if(n<0) return 0; else return n + somaN(n-1); } main(){ int num =8; printf("\n A somatoria = %d", somaN(num)); }
Compartilhar