Ir ao conteúdo
  • Cadastre-se

abcabc

Membro Pleno
  • Posts

    28
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de abcabc em Determinar um segmento de soma máxima em C. foi marcado como solução   
    Dada uma seqüência de n números inteiros, determinar um segmento de soma máxima. Exemplo: 

    Na seqüência 5, 2, -2, -7, 3, 14, 10, -3, 9, -6, 4, 1 , a soma do segmento é 33.
     
     
     
    #include<stdio.h> int main (void) { int n; printf("Digite o valor de n:"); scanf("%d",&n); int seq[n]; printf("Digite a sequencial de n numeros:\n"); int j; for(j=0;j<n;++j) { printf("%d O numero:",j+1); scanf("%d",&seq[j]); } int tam; int inicio; int soma; int tam_ssm=0; int inicio_ssm=0; int soma_ssm=0; for(tam=1;tam<n;++tam) { for(inicio=0;inicio<n;++inicio) { soma=0; for(j=0;j<tam;++j) { if(inicio+j>n-1) {break;} soma=soma+ seq[inicio+j]; } if(soma>soma_ssm) { soma_ssm=soma; inicio_ssm=inicio; tam_ssm=tam; } } } for(j=0;j<tam_ssm;++j) { printf("%d,",seq[inicio_ssm+j]); } printf("\nSoma do segmento de soma maxima: %d", soma_ssm); return 0; }  
  2. O post de abcabc em erro na execução de um programa foi marcado como solução   
    Veja se funciona assim:
     
     
    #include<stdio.h> #include<stdlib.h> #include<math.h>   int main() { float m,q,l,v,p; int o; printf("Programa para calculo de esforço solicitantes e reações em viga"); printf("Digite o tipo de apoio, 1 para biapoiada e 2 para em balanço, coloque 0 para sair do programa!"); scanf("%d",&o); while(o!=0) {     switch(o){              case 1:             printf("Digite a largura da barra:");             scanf("%f",&l);                 printf("Digite o valor da força aplicado na barra:");             scanf("%f",&q);             m = (q * l * l) / 8;             v = (q * l) / 2;             printf("O valor do momento fletor eh igual a: %f",m);                 printf("O valor do esfoço cortante eh igual a: %f",l);         break;         case 2:             printf("Digite a largura da barra:");             scanf("%f",&l);                 printf("Digite o valor da força aplicado na barra:");             scanf("%f",&q);             printf("Digite o valor da força concentrada:");             scanf("%f",&p);             m = (q * l * l) / 2;             v = (q * l) + p;             printf("O valor do momento fletor eh igual a: %f",m);                 printf("O valor do esfoço cortante eh igual a: %f",l);         break;         default:             printf("tipo escolhido invalido!");              }         printf("Digite o tipo de apoio, 1 para biapoiada e 2 para em balanço, coloque 0 para sair do programa!");     scanf("%d",&o);     }     return 0; }
  3. O post de abcabc em Escreva um programa que leia uma matriz A3x3 e calcule a sua inversa. foi marcado como solução   
    Escreva um programa que leia uma matriz A3x3 e calcule a sua inversa.
     
    #include <stdio.h>
    #include <math.h>
    int main (void){
        int matrizA[3][3],matrizB[3][3],Cof[3][3],Adj[3][3];
        int i,j,k;
        float det,temp;
     
        for (i=0;i<3;i++){
            for (j=0;j<3;j++){
             printf("Informe a matriz da linha %d e coluna %d: ", i+1,j+1);
                scanf("%d",&matrizA[i][j]);
        }
        printf("\n");
          }
          printf(" A matriz digitada foi: \n\n");
          for (i=0;i<3;i++){
        for (j=0;j<3;j++){
            printf("%d", matrizA[i][j]);
    }
    printf("\n");
    }
        j = 0;
        det = 0;
        temp = 0;
     
        for (i=0;i<3;i++){
     
                if (i == 0){
                    temp = pow(-1,(i+j+2))*(matrizA[i+1][j+1]*matrizA[i+2][j+2]-matrizA[i+1][j+2]*matrizA[i+2][j+1]);
                }
                if (i == 1){
                    temp = pow(-1,(i+j+2))*(matrizA[i-1][j+1]*matrizA[i+1][j+2]-matrizA[i-1][j+2]*matrizA[i+1][j+1]);
                }
                if (i==2) {
                    temp = pow(-1,(i+j+2))*(matrizA[i-2][j+1]*matrizA[i-1][j+2]-matrizA[i-2][j+2]*matrizA[i-1][j+1]);
                    }
     
                det+=matrizA[i][j]*temp;
        }
        printf("O determinante da matriz A eh: %d\n",det);
        if (det == 0)
        {
            printf("A matriz não possui inversa, pois seu determinante é nulo!\n");
        }
        else {
            for (i=0;i<3;i++){
            for (j=0;j<3;j++){
                    if (i==0 && j==0)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i+1][j+1]*matrizA[i+2][j+2]-matrizA[i+1][j+2]*matrizA[i+2][j+1]);
                    if (i==0 && j==1)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i+1][j-1]*matrizA[i+2][j+1]-matrizA[i+1][j+1]*matrizA[i+2][j-1]);
                    if (i==0 && j==2)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i+1][j-2]*matrizA[i+2][j-1]-matrizA[i+1][j-1]*matrizA[i+2][j-2]);
                    if (i==1 && j==0)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-1][j+1]*matrizA[i+1][j+2]-matrizA[i-1][j+2]*matrizA[i+1][j+1]);
                    if (i==1 && j==1)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-1][j-1]*matrizA[i+1][j+1]-matrizA[i-1][j+1]*matrizA[i+1][j-1]);
                    if (i==1 && j==2)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-1][j-2]*matrizA[i+1][j-1]-matrizA[i-1][j-1]*matrizA[i+1][j-2]);
                    if (i==2 && j==0)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-2][j+1]*matrizA[i-1][j+2]-matrizA[i-2][j+2]*matrizA[i-1][j+1]);
                    if (i==2 && j==1)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-2][j-1]*matrizA[i-1][j+1]-matrizA[i-2][j+1]*matrizA[i-1][j-1]);
                    if (i==2 && j==2)
                        Cof[i][j] = pow(-1,(i+j+2))*(matrizA[i-2][j-2]*matrizA[i-1][j-1]-matrizA[i-2][j-1]*matrizA[i-1][j-2]);
             Adj[j][i]= Cof[i][j];
             matrizB[j][i] = (Adj[j][i])/det;
     
        }
          }
          printf("\n A matriz inversa calculada eh: \n");
          for (i=0;i<3;i++){
            for (j=0;j<3;j++){
                printf("%d ",matrizB[i][j]);
        }
        printf("\n");
          }
     
        }
        return 0;
    }
  4. O post de abcabc em Calcular as duas maiores notas e a média das notas (em C). foi marcado como solução   
    Faça um programa para calcular as duas maiores notas e a média das notas na primeira avaliação parcial de FUP. O número de alunos e as notas devem ser lidos do teclado.
     
    Linguagem 😄
     
    #include<stdio.h> int main(void) {     float i,nota,maior,segunda,aluno,soma=0,media;     printf("Digite o numero de alunos  ");     scanf("%f",&aluno);     printf("Digite a primeira nota:  ");     scanf("%f",&nota);     maior = nota ;     soma=soma+maior;     for(i=1;i<aluno;i++) {     scanf("%f",&nota);     soma=soma+nota;       if( nota> maior) {        segunda = maior;        maior = nota; }  else  {      if ((nota > segunda) || (i==1))        segunda = nota;  } } media=soma/aluno;   printf("As maiores notas sao: %f,%f\n",maior,segunda);   printf("Media das notas: %f",media); return 0; }  
    Português Estruturado (Portugol):
     
    ALGORITMO
    DECLARE i,nota,maior, segunda, aluno, soma ,media NUMÉRICO
    soma← 0
    ESCREVA "Digite o numero de alunos"
    LEIA aluno
    ESCREVA "Digite a primeira nota: "
    LEIA nota
    maior ←  nota
    soma← soma+maior
    PARA i←  1 ATÉ aluno -1 FAÇA [PASSO 1]
    INÍCIO
    LEIA nota
    soma← soma+nota
    SE  nota > maior
    ENTÃO INICIO
    segunda ←  maior
    maior ←  nota
    FIM
    SENÃO  INÍCIO
    SE  nota > segunda OU i=1
    ENTÃO INÍCIO
    segunda <-- nota;
    FIM
    FIM   
    FIM
    media<-- soma/aluno    
    ESCREVA "As maiores notas sao:", maior,segunda
    ESCREVA "Media das notas: ", media
    FIM_ALGORITMO
  5. O post de abcabc em Eleições do Centro Acadêmico em C. foi marcado como solução   
    Elabore um programa para automatizar as eleições do Centro Acadêmico do curso de Ciência da Computação. Três alunos estão concorrendo nas eleições: Zé, Gal e Gil. O programa deve contabilizar os votos da seguinte forma: o usuário deverá digitar 1 para votar no Zé, 2 para votar na Gal e 3 para votar na Gil. A eleição deve ser finalizada e o vencedor indicado quando o usuário digitar 0 (Zero).
     
     
    Linguagem C
     
    #include<stdio.h> int main (void) {     int ze=0,gil=0,gal=0,a=-1;     printf("Digite 1.Ze 2.GIl 3. Gal.\n");     while(a!=0)     {         printf("Digite seu voto. (0 para finalizar)");         scanf("%d",&a);         switch (a)         {             case 1: ze=ze+1;                     break;             case 2:  gil=gil+1;                      break;             case 3:  gal=gal+1;                     break;         }     }     if(ze>gal && ze>gil) printf("ZE vencedor:%d",ze);     else     {         if(gil>ze && gil>gal) printf("GIL vencedor:%d",gil);         else         {             if(gal>ze && gal>gil) printf("GAL vencedor:%d",gal);             else printf("Houve empate.");         }     }     return 0; }  
    Português Estruturado (Portugol): 
     
    ALGORITMO
    DECLARE ze,gil,gal,a  NUMÉRICO
    ze←  0
    gil← 0
    a←  -1
    ESCREVA "Digite 1.Ze 2.GIl 3. Gal.\n"
    ENQUANTO a ≠  0 FAÇA
    INÍCIO
    ESCREVA "Digite seu voto. (0 para finalizar)"    
    LEIA a    
    SE a = 1 
    ENTÃO INÍCIO
    ze← ze+1    
    FIM    
    SE a = 2 
    ENTÃO INÍCIO
    gil← gil+1    
    FIM        
    SE a = 3 
    ENTÃO INÍCIO
    gal<--gal+1    
    FIM                
    FIM
    SE  ze>gal e ze>gil
    ENTÃO INÍCIO
    ESCREVA "ZE vencedor: " , ze
    FIM
    SENÃO INÍCIO
    SE gil>ze e gil>gal
    ENTÃO INÍCIO  
    ESCREVA "GIL vencedor: ", gil
    FIM
    SENÃO INÍCIO      
    SE gal>ze e gal>gil
    ENTÃO INÍCIO
    ESCREVA "GAL vencedor:", gal
    FIM
    SENÃO INÍCIO    
    ESCREVA "Houve empate."
    FIM
    FIM
    FIM
    FIM_ALGORITMO
  6. O post de abcabc em Repetição de raios das circunferências em C foi marcado como solução   
    Faça um programa para resolver o seguinte problema: 
     
    São dadas as coordenadas reais x e y de um ponto, um número natural n, e as coordenadas reais de n pontos (1 < n < 100). Deseja-se calcular e imprimir sem repetição os raios das circunferências centradas no ponto (x,y) que passam por pelo menos um dos n pontos dados.
     
    Exemplo :
    (x,y) = (1.0, 1.0) ; n = 5 
    Pontos : (-1.0, 1.2) , (1.5, 2.0) , (0.0, -2.0) , (0.0, 0.5) , (4.0, 2.0)
    Nesse caso há três circunferências de raios: 1.12, 2.01 e 3.162.
     
    Dois pontos estão na mesma circunferência se estão à mesma distância do centro.
     
     
    #include<stdio.h> #include<math.h> int main(void) { float xp,yp; printf("Coordenada x:"); scanf("%f",&xp); printf("Coordenada y:"); scanf("%f",&yp); int n; printf("Valor de n:"); scanf("%d",&n); if(n<1 || n>100) { printf("n deve ser menor do que 100 e maior do que 1."); } float x[n],y[n]; int i; for(i=0;i<n;++i) { printf("Valor de x%d:",i+1); scanf("%f",&x[i]); printf("Valor de y%d:",i+1); scanf("%f",&y[i]); } float raio[n]; for(i=0;i<n;++i) { float dx=pow(xp-x[i],2); float dy=pow(yp-y[i],2); float R=sqrt(dx+dy); raio[i]=R; int j, repetido=0; for(j=0;j<i;++j) { if(R==raio[j]) { repetido=1; } } if(repetido==0) { printf("%f\n",R); } } return 0; }  
  7. O post de abcabc em Faça um programa que seja capaz de girar uma Matriz em 90º foi marcado como solução   
    Criar um programa que entre com valores inteiros para uma matriz M3x3 e imprima a matriz final, conforme mostrado a seguir:
     
     1 2 3                                      7 4 1 
      4 5 6   a matriz gira 90º      8 5 2 
     7 8 9                                      9 6 3 
     
     
     
     
    #include<stdio.h>
     
    int main (void)
     
    {
        int matriz [3][3],i,j;
     
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                scanf("%d",&matriz[i][j]);
            }
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][0]);
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][1]);
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][2]);
        }
        return 0;
    }
     
     
  8. O post de abcabc em Rotacionando matrizes em 90º 180º 270º foi marcado como solução   
    Criar um programa que entre com valores inteiros para uma matriz M3x3 e imprima a matriz final, conforme mostrado a seguir:
     
    | 1 2 3 |                                    | 7 4 1 |
    | 4 5 6 |  a matriz gira 90º      | 8 5 2 |
    | 7 8 9 |                                    | 9 6 3 |
     
     
    #include<stdio.h>
     
    int main (void)
     
    {
        int matriz [3][3],i,j;
     
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                scanf("%d",&matriz[i][j]);
            }
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][0]);
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][1]);
        }
        printf("\n");
        for (i=2;i>=0;i--)
        {
            printf("%d ",matriz[i][2]);
        }
        return 0;
    }
     
    Criar um programa que entre com valores inteiros para uma matriz M3x3 e imprima a matriz final, conforme mostrado a seguir:
     
    | 1 2 3 |                                    | 9 8 7 |
    | 4 5 6 |  a matriz gira 180º     | 6 5 4 |
    | 7 8 9 |                                    | 3 2 1 |
     
    #include<stdio.h>
     
    int main(void)
    {
        int matriz[3][3],i,j;
     
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                scanf("%d",&matriz[i][j]);
            }
        }
        printf("\n");
        for(i=2;i>=0;i--)
        {
            for(j=2;j>=0;j--)
            {
                printf("%d ",matriz[i][j]);
            }
            printf("\n");
        }
        return 0;
    }


     
    Criar um programa que entre com valores inteiros para uma matriz M3x3 e imprima a matriz final, conforme mostrado a seguir: 
     
    | 1 2 3 |                                    | 3 6 9 |
    | 4 5 6 |  a matriz gira 270º     | 2 5 8 |
    | 7 8 9 |                                    | 1 4 7 |
     
    #include<stdio.h>
     
    int main (void)
     
    {
        int matriz[3][3] ,i ,j;
     
        for(i=0;i<3;i++)
     
        {
            for(j=0;j<3;j++)
     
            {
                scanf("%d",&matriz[i][j]);
            }
        }
     
            printf("\n");
            for(i=0;i<3;i++)
     
            {
                printf("%d ",matriz[i][2]);
            }
     
            printf("\n");
            for(i=0;i<3;i++)
     
            {
                printf("%d ",matriz[i][1]); 
            }
     
            printf("\n");
            for(i=0;i<3;i++)
            
            {
                printf("%d ",matriz[i][0]);
            }
        return 0; 
    }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!