You are on page 1of 18

3 Lista de Exerccios de

Linguagens e Tcnicas de
Programao I

C Progressivo.net
Matriz

1
/*Data: 29.04.2014
Autor: robsongomes@edu.uniube.br
Objetivo: Faa um programa C que matriz M (2 x 3) de nmeros
inteiros e depois mostre os seus elementos.*/
#include <stdio.h>
#include <conio.h>
#define NL 2
#define NC 3
int main()
{
//variveis
int matriz[NL][NC],i,j;
//entrada de dados da matriz
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("Matriz (%d,%d): ",i,j);
scanf("%d",&matriz[i][j]);
}
}
printf(" \nMATRIZ\n ");
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("%d ",matriz[i][j]);
}
printf("\n");
}
getch();
}

2
/*Data: 29.04.2014
Autor: robsongomes@edu.uniube.br
Objetivo: Faa um programa C que carregue uma matriz 3 x 4 com
nmeros inteiros, calcule e mostre a
quantidade de elementos entre 25 e 40.*/
#include <stdio.h>
#include <conio.h>
#define NL 3
#define NC 4
int main()
{
//variveis
int matriz[NL][NC],i,j;
//entrada de dados da matriz
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("Matriz (%d,%d): ",i,j);
scanf("%d",&matriz[i][j]);
}
}
printf(" \nMATRIZ\n ");
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
if((matriz[i][j]>=25)&&(matriz
[i][j]<=40))
{
printf("%d ",matriz[i][j]);
}
}
printf("\n");
}
getch();
}

3
/*Data: 29.04.2014
Autor: robsongomes@edu.uniube.br
Objetivo: Faa um programa C que carregue uma matriz 2 x 3,
calcule e mostre uma matriz resultante que ser a
matriz digitada multiplicada pelo maior elemento da matriz.*/
#include <stdio.h>
#include <conio.h>
#define NL 2
#define NC 3
int main()
{
//variveis
int matriz[NL][NC],i,j,maior_elemento,matrizR[NL][NC];
//entrada de dados da matriz
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("Matriz (%d,%d): ",i,j);
scanf("%d",&matriz[i][j]);
}
}
//clculo do maior
maior_elemento=matriz[0][0]; //supor que o primeiro
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{

if(matriz[i][j]>maior_elemento
)
{
maior_elemento=matriz[i][
j];
}
}
}
//clculo da matriz resultante
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
matrizR[NL][NC]=maior_elemento
*matriz[i][j];
}
}
//exibe a matriz resultante
printf("\nMATIZ RESULTANTE: \n");
for(i=0;i<NL;i++)
{
for(j=0;j<NC;j++)
{
printf("%d ",matrizR[i][j]);
}
printf("\n");
}
getch();
}

4

5
/*Data: 04.05.2014
Autor: robsongomes@edu.uniube.br
Objetivo: Faa um programa C que carregue uma matriz 2 x 4 com
nmeros inteiros, calcule e mostre quantos
elementos dessa matriz so maiores que 15 e, em seguida,
monte uma segunda matriz com os
elementos diferentes de 15. No lugar do nmero 15 da segunda
matriz, coloque o nmero 0. */
#include<stdio.h>
#include<conio.h>
#define NL 2
#define NC 4
int main()
{
//Declarao das variveis
int i, j, matriz1[NL][NC], qtde = 0, matriz2[NL][NC];
//Leitura da matriz e realizao dos clculos
printf("\n\n Digite uma matriz 2 x 4");
for (i=0; i<NL;i++)
{
for (j=0;j<NC;j++)
{
printf("Matriz (%d,%d): ",i,j);
scanf ("%d",& matriz1[i][j]);
if (matriz1[i][j] > 15)
{
qtde++;
}
if (matriz1[i][j] == 15)
{
matriz1[i][j] = 0;
}
}
}
for (i=0;i<NL;i++)
{
for (j=0;j<NC;j++)
{
matriz2[i][j] = matriz1[i][j];
}
}
//Exibir os resultados e a segunda matriz
printf ("\n Ha %d elementos maiores que 15 na matriz digitada.",
qtde);
printf ("\n\n A segunda matriz :");
for (i=0;i<NL;i++)
{
for (j=0;j<NC;j++)
{
printf("\nMatriz (%d,%d): ",i,j);
printf ("%d ", matriz2[i][j]);
}
}
printf("\n\n\n Pressione ENTER para sair do programa...");
//Para e espera digitar ENTER
getch();
}//Fim do main

6
/*Data: 04.05.2014
autor: robsongomes@edu.uniube.br
Objetivo: Declare uma matriz 3 x 3. Preencha com 1 a diagonal
principal e com 0 os demais elementos. Escreva ao
final a matriz obtida.*/
#include <stdio.h>
#include <conio.h>
int main()
{
int minhaMatriz[3][3];
int linha,coluna;

for (linha=0; linha<3;linha++){
for (coluna=0; coluna<3;coluna++){
printf("Linha e Coluna: [%d][%d] ",linha,coluna);
scanf("%d",&minhaMatriz[linha][coluna]);
}
}


printf("----------------------\n");
printf("Matriz Digitada:\n");
printf("----------------------\n");

for (linha=0; linha<3;linha++)
{
for (coluna=0; coluna<3;coluna++)
{
printf("%5d ", minhaMatriz[linha][coluna]);
}
printf("\n\n");
}
for (linha=0; linha<3;linha++){
for (coluna=0; coluna<3;coluna++){
if (coluna == linha){
minhaMatriz[linha][coluna]=1;
}
}
}
for (linha=0; linha<3;linha++){
for (coluna=0; coluna<3;coluna++){
if (coluna != linha){
minhaMatriz[linha][coluna]=0;
}
}
}
printf("----------------------\n");
printf("Matriz Resultante:\n");
printf("----------------------\n");

for (linha=0; linha<3;linha++){
for (coluna=0; coluna<3;coluna++){
printf("%5d ", minhaMatriz[linha][coluna]);
}
printf("\n\n");
}
printf("\n\n");
printf("\n\n");
getch();
}

7
/*Data: 04.05.2014
autor: robsongomes@edu.uniube.br
Objetivo: Leia uma matriz 5 x 5. Leia tambm um valor X.
O programa dever fazer uma busca desse valor na
matriz e, ao final escrever a localizao (linha e coluna) ou uma
mensagem de no encontrado.*/
#include <stdio.h>
#include <conio.h>
#define DIM 2
int main()
{
//Declarao das variveis
int numero=0, matriz[DIM][DIM] ;
int i, j , achou=0;
//entrada de dados da matriz
printf("\n\nInforme os elementos da matriz 5 x 5 : \n");
for ( i = 0 ; i < DIM ; i++)
{
for ( j = 0 ; j < DIM ; j++ )
{
printf ("Elemento da Matriz [%d][%d] : ", i+1 ,
j+1 );
scanf ("%d", &matriz[i][j] );
}
}
printf("----------------------\n");
printf("Matriz Digitada:\n");
printf("----------------------\n");
for ( i = 0 ; i < DIM ; i++)
{
for ( j = 0 ; j < DIM ; j++)
{
printf("%5d ", matriz[i][j]);
}
printf("\n\n");
}
//Solicita o numero X ao usurio
printf("\nDigite um numero: ");
scanf("%d", &numero);
//Verificao
achou = 0;
for ( i = 0 ; i < DIM ; i++)
{
for ( j = 0 ; j < DIM ; j++ );
{
if ( numero == matriz[i][j] )
{
achou = 1;
printf ("Linha [%d] Coluna [%d] Numero:
[%d]", i , j , matriz[i][j] );
break;
}
}
}

if ( achou == 0 )
{
printf ("Nao encontrado");
}
getch();
}

8

10
#include<conio.h>
#include<stdio.h>
#define nl 3
#define nc 4
#define tv 3

//iniciando o programa
int main()
{
// variveis
int i, j, matriz[nl][nc], maior, vetor[tv];

// entrada de valores
for (i=0;i<nl;i++)
{
for (j=0;j<nc;j++)
{
printf("Digite o valor na posicao %d,%d: ", i, j);
scanf("%d",&matriz[i][j]);
}
}
for (i=0;i<tv;i++)
{
for (j=0;j<nc;j++)
{
vetor[i]=matriz[i][j]+matriz[i][j]+matriz[i][j]+matriz[i][j];
}
}
printf("\n A sua matriz: \n");
for (i=0;i<nl;i++)
{
printf("\n");
for (j=0;j<nc;j++)
{
printf("% d", i, j);
}
}
for (i=0;i<nl;i++)
{
printf("A soma da linha %d da matriz e: :%d", i, vetor[i]);
}
getch();
}

11
/*Exerccio 11*/
#include <stdio.h>
#include <conio.h>
//declarao de constantes
#define NL 3 //NL - nmero de linhas
#define NC 3 //NC - nmero de colunas
int main()
{
//declarao das variveis do main
int matriz [NL] [NC] , vetorMaior [NL] , vetorMenor [NC] , i ,j;
//entrada de dados: leitura da matriz
for (i = 0 ; i < NL ; i++)
{
for ( j=0 ; j<NC ; j++)
{
printf ( "Informe matriz (%d,%d): ", i , j);
scanf ("%d",&matriz[i][j]);
}
}
//clculo do vetor maior
for ( i=0 ; i<NL ; i++ )
{
vetorMaior[i] = matriz[i][0]; //1 elemento de cada linha
for ( j=0 ; j<NC ; j++ )
{
if ( matriz[i][j] > vetorMaior[i] )
{
vetorMaior[i] = matriz[i][j];
}
}
}
//clculo do vetor menor
for ( j=0 ; j<NL ; j++ )
{
vetorMenor[j] = matriz[0][j]; //1 de cada coluna
for ( i=0 ; i<NL ; i++ )
{
if ( matriz[i][j] < vetorMenor[j])
{
vetorMenor[j] = matriz[i][j];
}
}
}
//exibir a matriz
printf ("\n MATRIZ:\n");
for ( i=0 ; i<NL ; i++ )
{
for ( j=0 ; j<NC ; j++ )
{
printf ("%d ",matriz[i][j] );
}
printf ("\n");
}
//exibir o vetor maior
printf ("\n MAIOR DE CADA LINHA: \n" );
for ( i=0 ; i<NL ; i++ )
{
printf ("%d ", vetorMaior[i] );
}
//exibir o vetor menor
printf ("\n MENOR DE CADA COLUNA: \n" );
for ( i=0 ; i<NC ; i++ )
{
printf ("%d ", vetorMenor[i]);
}
getch();
}

11 MODIFICADO
/*Exerccio 11*/
#include <stdio.h>
#include <conio.h>
//declarao de constantes
#define NL 3 //NL - nmero de linhas
#define NC 4 //NC - nmero de colunas
int main()
{
//declarao das variveis do main
int matriz [NL] [NC] , vetorSoma [NL] , vetorMult [NC] , i ,j;
//entrada de dados: leitura da matriz
for (i = 0 ; i < NL ; i++)
{
for ( j=0 ; j<NC ; j++)
{
printf ( "Informe matriz (%d,%d): ", i , j);
scanf ("%d",&matriz[i][j]);
}
}
//clculo do vetor soma
for ( i=0 ; i<NL ; i++ )
{
vetorSoma[i] = 0 ; //inicializa com zero
for ( j=0 ; j<NC ; j++ )
{
vetorSoma[i] = vetorSoma[i] + matriz[i][j];

}
}
//clculo do vetor multiplicao
for ( j=0 ; j<NC ; j++ )
{
vetorMult[j] = 1 ; //inicializa com um
for ( i=0 ; i<NL ; i++ )
{
vetorMult[j] = vetorMult[j] * matriz[i][j];

}
}
//exibir a matriz
printf ("\n MATRIZ:\n");
for ( i=0 ; i<NL ; i++ )
{
for ( j=0 ; j<NC ; j++ )
{
printf ("%d ",matriz[i][j] );
}
printf ("\n");
}
//exibir o vetor soma
printf ("\n SOMA DE CADA LINHA: \n" );
for ( i=0 ; i<NL ; i++ )
{
printf ("%d ", vetorSoma[i] );
}
//exibir o vetor multiplicao
printf ("\n MULTIPLICACAO DE CADA COLUNA: \n" );
for ( i=0 ; i<NC ; i++ )
{
printf ("%d ", vetorMult[i]);
}
getch();
}




20
/*Comentrios*/
#include <stdio.h>
#include <conio.h>
#define TAM_MAX 100
//funo
int fun_posicao ( int numero , int vetor[TAM_MAX], int N)
{
int i, posicao = -1;
for ( i = 0 ; i < N ; i++ )
{
if ( numero == vetor[i])
{
posicao = i;
}
}
return posicao;
} //fim funo
//funo principal
int main()
{
int elemento, conjunto[TAM_MAX] , i, pos, N;
//entrada da qtde de nmeros
printf ("Informe a qtde de numeros: ");
scanf ("%d",&N);
//entrada do conjunto
printf ("Informe o conjunto de numeros: ");
for ( i = 0 ; i < N ; i++)
{
printf ("\nNumero %d: ",i+1);
scanf ("%d",&conjunto[i]);
}
//entrada do elemento
printf ("Informe o elemento que deseja procurar: ");
scanf ("%d",&elemento);
//chamada da funo
pos = fun_posicao(elemento, conjunto, N);
//verifica resultado
if (pos == -1)
{
printf ("\nNumero nao encontrado no conjunto!");
}else{
printf ("\nA posicao e %d",pos+1);
}
getch();
}






22
/*COMENTRIO*/
#include <conio.h>
#include <stdio.h>
#include <math.h>
//funces das reas
float area_retangulo ( float a, float b )
{
float area_retangulo;
area_retangulo = a * b;
return area_retangulo;
}
float area_quadrado ( float l)
{
float area_quadrado;
area_quadrado = pow ( l , 2 );
return area_quadrado;
}
float area_paralelogramo ( float a , float h )
{
float area_paralelogramo;
area_paralelogramo = a * h;
return area_paralelogramo;
}
float area_circulo ( float raio )
{
float area_circulo;
area_circulo = M_PI * pow( raio , 2 );
return area_circulo;
}
//programa principal
int main()
{
//variveis do main
float x , y ,resultado ;
int opcao;
do
{
printf ("\n\n------------------------------");
printf ("\n\nPROGRAMA PARA CALCULAR AREAS\n");
printf ("------------------------------");
printf ("\nINFORME A OPCAO DESEJADA: ");
printf ("\n\n1-Retangulo\n");
printf ("2-Quadrado\n");
printf ("3-Paralelogramo\n");
printf ("4-Circulo\n");
printf ("5-Sair\n");
scanf ("%d", & opcao );
switch ( opcao )
{
case 1:

printf ("Informe a medida a : ");
scanf ("%f" , &x );
printf ("Informe a medida b : ");
scanf ("%f" , &y );
resultado = area_retangulo (x , y );
printf ("Area: %.2f",resultado);
break;

case 2:

printf ("Informe a medida l : ");
scanf ("%f" , &x );
resultado = area_quadrado ( x );
printf ("Area: %.2f",resultado);
break;

case 3:

printf ("Informe a medida a : ");
scanf ("%f" , &x );
printf ("Informe a medida h : ");
scanf ("%f" , &y );
resultado = area_paralelogramo (x , y );
printf ("Area: %.2f",resultado);
break;

case 4:

printf ("Informe a medida do raio : ");
scanf ("%f" , &x );
resultado = area_circulo ( x );
printf ("Area: %.2f",resultado);
break;
}
getch();
} while ( opcao !=5 );
} //fim do main


24
/*COMENTRIO*/
#include <conio.h>
#include <stdio.h>
//funo fatorial recursiva
int funcao_fatorial(int n)
{
if(n<=0)
{
return 1;
}else{
return(n*funcao_fatorial(n-1));
}
}
//funo principal
int main()
{
//variveis
int numero, fatorial;
//entrada de dados
printf("Informe um numero:");
scanf("%d",&numero);
//chamada da funo
fatorial=funcao_fatorial(numero);
//exibir resultado: sada de dados.
printf("\nO fatorial e %d", fatorial);
getch();
}

25
/* COMENTTRIO*/
#include<stdio.h>
#include<conio.h>
//funo potncia recursiva
int funcao_potencia(int x,int n)
{
if(n==0)
{
return 1;
}else{
return(n*funcao_potencia(x,n-1));
}
}
//funo principal
int main()
{
//variveis
int x,n,potencia;
//entrada de dados
printf("Informe um numero:");
scanf("%d",&x);
printf("Informe o expoente:");
scanf("%d",&n);
//chamada da funo
potencia=funcao_potencia(x,n);
//exibir resultado.
printf("\nO numero %d elevado a %d e %d",x,n potencia);
getch();
}

26
/* COMENTRIOS, Fib(n)= { 1, n 1 ou n=2 Fib(n-1_+ Fib(n-2),
n>2 */
#include<stdio.h>
#include<conio.h>
//funo recursiva
int fib(int n)
{
if((n==1)||(n==2))
{
return 1;
}else{
return(fib (n-1)+fib(n-2));
}
}
//funo principal
int main()
{
//variveis
int n,f;

//entrada de dados
printf("Informe um numero:");
scanf("%d",&n);

//chamada da funo
f=fib(n);
//resultado.
printf("\nO fibonacci de %d e %d",n,f);
getch();
}

27
/* COMENTRIOS
T(1)=1
T(n)=2*T(n/2)+n */
#include<stdio.h>
#include<conio.h>
//funo recursiva
int funcao(int n)
{
if(n==1)
{
return 1;
}else{
return2*funcaoT(n/2)+n;
}
}
//funo principal
int main()
{
//variveis
int n,t;

//entrada de dados
printf("Informe um numero:");
scanf("%d",&n);

//chamada da funo
t=funcaoT(n);
//resultado.
printf("\nO resultado e %d",t);
getch();
}

28
/* COMENTRIOS
MDC(x,y)=MDC(x-y,y)sex>y
MDC(x,y)=MDC(y,x)
MDC(x,x)=x */
#include<stdio.h>
#include<conio.h>
//funo recursiva
int MDC(int x,int y)
{
if(x>y)
{
return MDC(x-y,y;
}else if(x==y){
return x;
}else{
return MDC(y,x);
}
}
//programa principal
int main()
{
//variveis
int x,y,m;

//entrada de dados
printf("Informe x e y:");
scanf("%d",&x);
scanf("%d",&y);

//chamada da funo
m=MDC(x,y);
//resultado.
printf("\nO MDC e %d",m);
getch();
}

29
/* COMENTRIOS
MOC(x,y)={MOD(|x|-|y|,|y|)se |x|>|y| |x|, se |x|<|y| 0, se
|x|=|y| */
#include<stdio.h>
#include<conio.h>
#include<math.h>
//funo recursiva
int MOD(double x, double y)
{
if(fabs(x)>fabs(y))
{
return MOD(fabs(x)-fabs(y),fabs(y));
}else if(fabs(x)<fabs(y))
{
return fabs(x);
}else{
return 0;
}
}
//funo main
int main()
{
//variveis
int x,y,resto;

//entrada de dados
printf("Informe x e y:");
scanf("%d",&x);
scanf("%d",&y);

//chamada da funo
resto=MOD(x,y);
//resultado.
printf("\nO resto da divisao e %d",resto);
getch();
}

You might also like