Mostrando postagens com marcador c. Mostrar todas as postagens
Mostrando postagens com marcador c. Mostrar todas as postagens

17 de março de 2011

Humor: Artigos escritos em Linguagem de Programação...


Python é uma linguagem tão compacta que pode reduzir 1/3 de uma programação em Java. E aprender uma nova linguagem de programação significa aprender a pensar de outra forma. Aprender uma linguagem dinâmica representa uma mudança de paradigma ainda mais forte para aquelas pessoas que passaram anos desenvolvendo em linguagens estáticas.


10 de novembro de 2010

Algoritmo e Programação: Exercício 09-11-10

1. Construa um programa, na linguagem C, declarado uma matrizes 2x2 de inteiros e a inicialize. O programa deve solicitar ao usuário o fornecimento de um número escalar que será multiplicado pela matriz, o resultado da operação deve ser retornado na saída padrão com o  layout adequado.

Programação em C, pasted just now: 
#include <stdio.h>

int main(){
    int n;
    int l,c;
    int mat[2][2];
    int mat_total[2][2];
    
    scanf("%d",&n);
    
    for(l=0;l<2; l++)
    {
        for(c=0;c<2;c++)
        {
         scanf("%d",&mat[l][c]);                         
        }
    }
    
    for(l=0;l<2; l++)
    {
        for(c=0;c<2;c++)
        {
        mat_total[l][c]=n*mat[l][c];
        }
    }
    
    printf("\n");
    
    for(l=0;l<2; l++)
    {
    printf("\n");
        for(c=0;c<2;c++)
        {
        printf("%d ",mat_total[l][c]);
        }
    }                  
    return 0;                           
}



2. Declarado duas matrizes quadradas NxN de inteiros e subtraindo uma pela outra. O resultado da operação retorna na saída.




Programação em C, pasted just now: 
#include<stdio.h>

int main(){
    int n,m;
    int l,c;
    
    scanf("%d%d",&n,&m);
    
    int mat1[n][m];
    int  mat2[n][m];
    
    
        for(l=0;l<n;l++)
        {
            for (c=0;c<m;c++)
            {
            scanf("%d",&mat1[l][c]);
            }
        }
        
        for(l=0;l<n;l++)
        {
            for (c=0;c<m;c++)
            {
            scanf("%d",&mat2[l][c]);
            }
        }   
        
        int mat_total[n][m];
        for(l=0;l<n;l++)
        {
            for (c=0;c<m;c++)
            {                   
            mat_total[l][c]= mat1[l][c] - mat2[l][c]; 
            }
        }
        
        for(l=0;l<n;l++)
        {
            printf("\n");         
            for (c=0;c<m;c++)
            {
            printf("%d  ",mat_total[l][c]); 
            }
        }
return 0;

}

3. Declarando um matrizes nxm de inteiros e retornando sua transposta. O resultado da operação retorna na saída.


Programação em C, pasted 3 seconds ago: 
#include <stdio.h>

int main(){
    
    int n, m;
    int l,c;
    
    scanf ("%d%d", &n, &m);
    
    int matriz[n][m];
    int matriz1[m][n]; 
       
    for (l=0; l<n; l++)
    {
        for (c=0; c<m; c++) 
        {
        scanf ("%d",&matriz[l][c]);
        matriz1[c][l]= matriz[l][c];
        }
    }
    printf("\n");
    
    for (l=0; l<n; l++) 
    {
        printf("\n");
        for (c=0; c<m; c++) 
        {
        printf("%d  ", matriz[l][c]);
        }
    }
    printf("\n");
    
    for (l=0; l<m; l++) 
    {
        printf("\n");
        for (c=0; c<n; c++) 
        {
        printf ("%d  ", matriz1[l][c]);
        }
    }
      
return 0;
      
}

8 de novembro de 2010

Algoritmo e Programação: Lista 4

Todos os programas foram desenvolvidos na linguagem de programação C, e sem utilizar diretivas específicas de sistemas operacionais, como system("pause"), getch( ) ou conio.h. Nenhum dos testes estão impressas mensagens com solicitação de dados ao usuário.


1. Escreva um programa que recebe dois números inteiros e imprima na tela a soma destes números.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n1,n2,soma;
  5. scanf("%d%d",&n1,&n2);
  6. soma=n1+n2;
  7. printf("%d",soma);
  8. return 0;
  9. }


2. Escreva um programa que recebe dois n umeros inteiros e imprima na tela a subtra c~ao do maior pelo menor.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2. int main(){
  3. int n1,n2,sub;
  4. scanf("%d%d",&n1,&n2); 
  5. if(n1>n2){
  6. sub=n1-n2;
  7. }
  8. else sub=n2-n1;
  9. printf("%d",sub);
  10. return 0;
  11. }

3. Escreva um programa que recebe um inteiro e imprima "s" se ele for divis vel por 11 ou "n" caso contr ario.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5. int n;
  6. scanf("%d",&n);
  7.  
  8. if(n%11==0){
  9. printf("S");
  10. }
  11. else printf("N");
  12.  
  13. return 0;
  14. }

4. Escreva um programa que recebe 2 números reais como entrada e imprima a relação entre eles: se são "iguais", "menor que" ou "maior que".

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5. float n1,n2;
  6. scanf("%f%f",&n1,&n2);
  7.  
  8. if(n1>n2){ printf("%.f maior que %.f",n1,n2);}
  9. else if(n1<n2){ printf("%.f menor que %.f",n1,n2);}
  10. else printf("iguais");
  11.  
  12. return 0;
  13. }

5. Escreva um programa que recebe 3 numeros reais e imprima o menor e o maior deles.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n1,n2,n3;
  5. scanf("%d%d%d",&n1,&n2,&n3);
  6. if (n1>n2 && n1>n3){ printf("%d maior\n",n1);}
  7. if (n2>n1 && n2>n3){ printf("%d maior\n",n2);}
  8. if (n3>n1 && n3>n2){ printf("%d maior\n",n3);}
  9. if (n1<n2 && n1<n3){ printf("%d menor\n",n1);}
  10. if (n2<n1 && n2<n3){ printf("%d menor\n",n2);}
  11. if (n3<n1 && n3<n2){ printf("%d menor\n",n3);}
  12. return 0;

6. Escreva um programa que recebe 3 números inteiros e imprima eles em ordem crescente.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){

  4. int a,b,c,d;
  5. scanf("%d%d%d",&a,&b,&c);

  6. if(a > b)
  7. {
  8. d = a;
  9. a = b;
  10. b = d;
  11. }

  12. if(a > c)
  13. {
  14. d = a;
  15. a = c;
  16. c = d;
  17. }

  18. if(b > c)
  19. {
  20. d = b;
  21. b = c;
  22. c = d;
  23. }
  24. printf("%d %d %d\n",a,b,c);

  25. return 0;
  26. }

7. Escreva um programa que recebe como entrada o raio de um círculo e imprima o diâmetro, o per metro e a área desse círculo (considere = 3:14159).

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. float r,diam,area,per,pi=3.14159;
  5. scanf("%f",&r);
  6. diam = 2*r;
  7. per = pi*diam;
  8. area = pi*r*r;
  9. printf("%.2f\n%.2f\n%.2f\n",diam,per,area);
  10. return 0;
  11. }


8. Escreva um programa que recebe 4 números e imprima a média entre estes números com precisão de duas casas decimais.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. float n1,n2,n3,n4,media;
  5. scanf("%f%f%f%f",&n1,&n2,&n3,&n4);
  6. media= (n1+n2+n3+n4)/4;
  7. printf("%.2f\n",media);
  8. return 0;
  9. }


9. Escreva um programa que recebe um inteiro n e calcule e imprima a soma dos n primeiros números naturais.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n,soma=0;
  5. int i=0;
  6. scanf("%d",&n);
  7. for(i;i<n;i++){
  8. soma=soma+i;
  9. }
  10. printf("%d\n",soma);
  11. return 0;
  12. }

10. Escreva um programa que recebe um inteiro n e calcule e imprima a multiplica ção de todos os n umeros pares de 1 at e n.

obs.: uma declaração como int, pode possuir apenas 16 bits, 32 bits ou 64 bits.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n,mult=1;
  5. int i=1;
  6. scanf("%d",&n);
  7. for(i;i<=n;i++)
  8. {
  9. if(i%2==0){
  10. mult=mult*i;
  11. }
  12. }
  13. printf("%d\n",mult);
  14. return 0;
  15. }


11. Escreva um programa que recebe um número x e um inteiro positivo n e imprima o resultado de x'n sem utilizar funções da biblioteca matemática.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int i, j;
  5. int x, n, result, aux;
  6. scanf("%d%d", &x,&n);
  7. if(n == 0) {
  8. result = 1;
  9. } else {
  10. result = x;
  11. for(i = 1; i < n; i++) 
  12. {
  13. aux = 0;
  14. for(j = 1; j <= x; j++)
  15. {
  16. aux = aux + result;
  17. }
  18. result = aux;
  19. }
  20. }
  21. printf("%d\n", result);
  22. return 0;
  23. }

12. Escreva um programa que recebe um inteiro n e imprima o fatorial de n.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int i;
  5. int x, result=1, aux;
  6.  
  7. scanf("%d", &x);  
  8.  
  9. for(i = 1; i <= x; i++) 
  10. {
  11. aux=i;
  12. result=result*i; 
  13. }  
  14. printf("%d\n", result);
  15. return 0;
  16. }

13. Escreva um programa que recebe uma sequência de números inteiros e imprima a soma destes números. Seu programa deve parar de ler novos números e imprimir a soma quando ler o número 0.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {  
  4. int n,result=0;
  5. do{
  6. scanf("%d",&n);
  7. result+=n;
  8. }while(n!=0);
  9. printf("%d\n", result);
  10. return 0;
  11. }

14. Escreva um programa que recebe n números, calcule a média entre eles e imprima quais destes números estão acima da média e quais estão abaixo da média. Seu programa deve primeiramente ler a quantidade de números (n) e imprimir primeiro aqueles que estão acima da média e depois os que estão abaixo da média na mesma ordem em que eles ocorrem no vetor.


Obs.: O código aceita somente números inteiros!



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,i=0;
  6. float media;
  7. scanf("%d",&n);
  8. int vet[n]; 
  9. for(cont=0;cont<n;cont++)
  10. {
  11. scanf("%d",&vet[cont]);
  12. i=i+vet[cont];
  13. }
  14.  
  15. printf("\n");
  16. media = i/cont;
  17. for(cont=0;cont<n;cont++)
  18. {
  19. if (vet[cont]>media)
  20. {
  21. printf("%d\n",vet[cont]);
  22. }
  23. }
  24.  
  25. printf("\n");
  26. for(cont=0;cont<n;cont++)
  27. {
  28. if (vet[cont]<media)
  29. {
  30. printf("%d\n",vet[cont]);
  31. }
  32. }
  33. return 0;
  34. }

15. Escreva um programa que recebe n números e imprima estes números na ordem inversa em que foram digitados. Seu programa deve primeiramente ler a quantidade de números (n).


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,i=0;
  6. scanf("%d",&n);
  7. int vet[n]; 
  8. for(cont=0;cont<n;cont++)
  9. {
  10. scanf("%d",&vet[cont]);
  11. }
  12. for(cont=n-1;cont>=0;cont--)
  13. {
  14. printf("\n%d",vet[cont]);
  15. }
  16. printf("\n");
  17. return 0;
  18. }


16. Escreva um programa que recebe n números e imprima a soma dos números que estão nos índices pares do vetor. Seu programa deve primeiramente ler a quantidade de números (n).



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,soma=0;
  6. scanf("%d",&n);
  7. int vet[n];
  8. for(cont=0;cont<n;cont++)
  9. {
  10. scanf("%d",&vet[cont]);
  11. if (cont%2==0) {
  12. soma=soma+vet[cont];
  13. }
  14. }
  15. //mostra os valores do vetor com o valor digitado
  16. /*for(cont=0;cont<n;cont++)
  17. {
  18. printf("vetor[%d]=%d\n",cont,vet[cont]);
  19. }*/
  20. printf("%d\n",soma);
  21. return 0;
  22. }

17. Escreva um programa que recebe n números, armazene-os em um vetor e depois lê mais um número e imprima "s" se este n úmero está no vetor ou "n" caso contrário.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,search,cont;
  6. int val=0;
  7. scanf("%d",&n)
  8. int vet[n];
  9. for(cont=0;cont<n;cont++)
  10. {
  11. scanf("%d",&vet[cont]);
  12. }
  13. scanf("%d",&search);
  14. for(cont=0;cont<n;cont++)
  15. {
  16. if(vet[cont]==search)
  17. {
  18. val=1;
  19. }
  20. }
  21. if (val==1){ printf("s\n");}
  22. else printf("n\n");
  23. return 0;
  24. }


18. Escreva um programa que leia os números de uma matriz quadrada N x N (seu programa deve ler a dimensão N da matriz antes de tudo) e imprima a soma dos elementos da diagonal principal da matriz.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,soma=0;
  6. int l,c; //linha e coluna
  7. scanf("%d",&n);
  8. int mat[n][n]; 
  9. for(l=0;l<n;l++)
  10. {
  11. for (c=0;c<n;c++)
  12. {
  13. scanf("%d",&mat[l][c]);
  14. }
  15. }
  16. // o comentado imprime a matriz na tela
  17. /*printf("\n");
  18. for(l=0;l<n;l++)
  19. { printf("\n");
  20. for (c=0;c<n;c++)
  21. {
  22. printf("%d ",mat[l][c]);
  23. }
  24. }
  25. */
  26. for(l=0;l<n;l++)
  27. {
  28. for (c=0;c<n;c++)
  29. {
  30. if (l==c){soma+=mat[l][c];}
  31. }
  32. }
  33. printf("\n%d\n ",soma);
  34. return 0;
  35. }

19. Escreva um programa que recebe duas matrizes de mesma dimensão N x M (seu programa deve ler as dimensões N e M da matriz antes de tudo) e imprima a soma destas matrizes.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,m, cont;
  6. int l,c;
  7. scanf("%d%d",&n,&m);
  8. int mat1[n][m],mat2[n][m],mat_soma[n][m];

  9. for(l=0;l<n;l++)
  10. {
  11. for (c=0;c<m;c++)
  12. {
  13. scanf("%d",&mat1[l][c]);
  14. }
  15. }
  16. for(l=0;l<n;l++)
  17. {
  18. for (c=0;c<m;c++)
  19. {
  20. scanf("%d",&mat2[l][c]);
  21. }
  22. } 
  23. for(l=0;l<n;l++)
  24. {
  25. for (c=0;c<m;c++)
  26. {
  27. mat_soma[l][c]=mat1[l][c]+mat2[l][c];
  28. }
  29. } 
  30. printf("\n");
  31. // imprime o valor das matrizes na tela
  32. /*for(l=0;l<n;l++)
  33. {
  34. printf("\n");
  35. for (c=0;c<m;c++)
  36. {
  37. printf("%d ",mat1[l][c]);
  38. }
  39. }
  40. printf("\n");
  41. for(l=0;l<n;l++)
  42. {
  43. printf("\n");
  44. for (c=0;c<m;c++)
  45. {
  46. printf("%d ",mat2[l][c]);
  47. }
  48. } 
  49. */
  50. for(l=0;l<n;l++)
  51. {
  52. printf("\n");
  53. for (c=0;c<m;c++)
  54. {
  55. printf("%d ",mat_soma[l][c]);
  56. }
  57. }
  58. return 0;
  59. }

20. Uma matriz quadrada é chamada triangular superior quando todos os elementos abaixo da diagonal principal são iguais a zero. Escreva um programa que lê uma matriz N x N e imprima "s" se ela e triangular superior ou "n" caso contrário.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int n;
  5. int l,c;
  6. scanf("%d",&n);

  7. int mat[n][n];

  8. for(l=0;l<n;l++)
  9. {
  10. for (c=0;c<n;c++)
  11. {
  12. scanf("%d",&mat[l][c]);
  13. }
  14. }

  15. for(l=0;l<n;l++)
  16. {
  17. for (c=0;c<n;c++)
  18. {
  19. if(l>c && mat[l][c]!=0)
  20. {
  21. printf("n\n");
  22. return 0;
  23. }
  24. }
  25. }
  26. printf("s\n");

  27. return 0;
  28. }

Todas as questões foram resolvidas e testadas por, caso haja alguma forma diferenciada que possa facilitar o algoritmo, deixem comentários.

 
Design by @cleidimarviana | Bloggerized by Cleidimar Viana - Diário de Sistema