Ir para conteúdo
Fórum Script Brasil

viciado

Membros
  • Total de itens

    172
  • Registro em

  • Última visita

Posts postados por viciado

  1. Achei esse codigo na internet, alguém sabe como funciona os dois for, se possivel poderia me explicar ?

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main()
    {
     char frase[100];
     char inverter[100];
     printf("Digite uma frase \n");
     gets(frase);
     int tam = strlen(frase);
     int i;
     for(i=0;i<100;i++){
                        inverter[i] = '';
                        }
     for(i=0;i<tam;i++){
                        inverter[(tam-i-1)] = frase[i];
                        }
     printf("\n %s",inverter);
     system("PAUSE");
     return (0);
    }

  2. O programa finaliza a tarefa antes de imprimir a frase

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      char frase[50];
      char inverter[50];
      int i;
      int j = 0;
      printf("Digite uma frase \n");
      fgets(frase, 50, stdin);
      int tam = strlen(frase);
      for(i=0;i<tam;i++){
                         inverter[j] = strrev(frase[i]);
                         j++;
                         }
      printf("\n \n %s \n \n",inverter);
      system("PAUSE");    
      return 0;
    }

  3. Tentei fazer um que inverter a frase com a função strrev() mais o programa finaliza a tarefa antes de imprimir a frase invertida

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      char frase[50];
      char inverter[50];
      int i;
      int j = 0;
      printf("Digite uma frase \n");
      fgets(frase, 50, stdin);
      int tam = strlen(frase);
      for(i=0;i<tam;i++){
                         inverter[j] = strrev(frase[i]);
                         j++;
                         }
      printf("\n \n %s \n \n",inverter);
      system("PAUSE");    
      return 0;
    }

  4. Tentei esse codigo, a resposta que obtive foi uns caracteres estranhos denovo

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
      char frase[30];
      printf("Digite uma frase \n");
      fgets(frase, 30, stdin);
      char correcao[30];
      int i;
      int tam = strlen(frase);
      for(i=0;i<tam;i++){
                if(frase[i] = ' '){
                            i++;
                            if(frase[i] != ' '){
                            frase[i] = correcao[i];
                            }
                            }
                            }
      printf(" \n %s \n",correcao);
      system("PAUSE");    
      return 0;
    }

  5. Faça uma sub-rotina que receba um vetor X de 30 elementos inteiros como parâmetro e retorne dois vetores A e B. O vetor A deve conter os elementos de X que sejam maiores do que zero e o vetor B, os elementos menores ou iguais a zero.

    É assim que retorna o vetor ?

    Como posso imprimir os vetores A e B na main se não sei os seus tamanhos

    #include <stdio.h>
    #include <stdlib.h>
    int vetora(int x[10]){
        int i;
        int a[30];
        int j = 0;
        for(i=0;i<30;i++){
                if(x[i] > 0){
                        a[j] = x[i];
                        j++;
                        }
                        }
        return (a);
    }
    int vetorb(int x[10]){
        int i;
        int b[30];
        int j = 0;
        for(i=0;i<30;i++){
                if(x[i] <= 0){
                        b[j] = x[i];
                        j++;
                        }
                        }
        return (b);
    }
    int main()
    {
      int x[30];
      int i;
      for(i=0;i<30;i++){
                  printf("Preencha o vetor X[%d] \n",i);
                  scanf("%d",&x[i]);
                  }
      system("PAUSE");    
      return 0;
    }

  6. Seria so fazer está função

    int maior(int m[10][10]){
        int i, j;
        int maior = m[0][0];
        for(i=0;i<10;i++)
          for(j=0;j<10;j++){
                 if(m[i][j] > maior && i==j){
                            maior = m[i][j];
                            }
                            }
        return (maior);
    }

    Para determinar o maior acima da diagonal principal ?

  7. Obrigado pela ajuda.

    Tentei fazer o outro mais a resposta que eu obtenho são uns caracteres muito estranhos

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
      char frase[30];
      printf("Digite uma frase \n");
      fgets(frase, 30, stdin);
      char correcao[30];
      int i;
      int tam = strlen(frase);
      for(i=0;i<tam;i++){
                if(frase[i] != ' '){
                            frase[i] = correcao[i];
                            }
                            }
      printf(" \n %s \n",correcao);
      system("PAUSE");    
      return 0;
    }

  8. Para quem quiser ve o codigo, acho que está correto

    #include <stdio.h>
    #include <stdlib.h>
    
    int soma(int m[10][10]){
        int i, j;
        int soma = 0;
        for(i=6;i<10;i++)
          for(j=0;j<10;j++){
                 soma = soma + m[i][j];
                 }
        return(soma);
    }
    int main()
    {
      int m[10][10];
      int i, j;
      for(i=0;i<10;i++)
          for(j=0;j<10;j++){
                 printf("Preenche a matriz M[%d][%d] \n",i,j);
                 scanf("%d",&m[i][j]);
                 }
      printf("A soma e: \n %d \n",soma(m));
      system("PAUSE");    
      return 0;
    }

  9. preenche matriz 2x4 com numeros inteiros:

    * a quantidade de elementos entre 12 e 20 em cada linha

    * a media dos elementos pares da matriz

    As resposta que eu obtenho não estão corretas

    #include <stdio.h>
    #include <stdlib.h>
    int elementos(int m[2][4]){
        int count = 0;
        int i, j;
        for(i=0;i<2;i++)
                   if(m[i][0] > 12 && m[i][0] <20){
                              count++;
                              }
        return (count);
    }
    float par(int m[2][4]){
          int somai = 0;
          int somaj = 0;
          int counti = 0;
          int countj = 0;
          int i, j;
          for(i=0;i<2;i++){
                  if(m[i][0] % 2 == 0){
                             somai = somai + m[i][0];
                             counti++;
                             }
                             }
          for(j=0;j<4;j++){
                  if(m[0][j] % 2 == 0){
                             somaj = somaj + m[0][j];
                             countj++;
                             }
                             }
          float media = (somai + somaj) / (counti + countj);
          return(media);
    }
    int main()
    {
        int m[2][4];
        int i, j;
        for(i=0;i<2;i++)
            for(j=0;j<4;j++){
                    printf("Preenche a matriz M[%d][%d] \n",i, j);
                    scanf("%d",&m[i][j]);
                    }
        printf("A quantidade de elementos entre 12 e 20 e: \n %d \n",elementos(m));
        printf("A media dos elementos pares e: \n %f \n",par(m));
      system("PAUSE");    
      return 0;
    }

  10. não entendi bem eu fiz assim mais imprime a mesma frase que digito

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        char frase[50];
        printf("Digite uma frase\n");
        gets(frase);
        int i;
        for(i=0;i<50;i++){
                          if(frase[i] == ' '){ printf("\n");
                          }
                          }
        printf("\n %s \n",frase);
        system("PAUSE");
        return 0;
    }

  11. Receber o nome dos 30 alunos de uma sala, determinar e mostrar a média aritmética de todos os alunos e indicar os alunos aprovados e reprovados, a média é 6

    Problema com soma de das notas. "invalid operands to binary +"

    #include <stdio.h>
    #include <stdlib.h>
    
    #define M 30
    struct alunos
           {
                 char nome[50];
                 float nota1[M];
                 float nota2[M];
                 float nota3[M];
                 float nota4[M];
                 }dados[M];
    float media(){
          int i;
          for(i=0;i<M;i++){
                   printf("\n %s \n",dados[i].nome);
                   float media = (dados[i].nota1 + dados[i].nota2 + dados[i].nota3 + dados[i].nota4) / 4;
                   printf("Media: \n %f",media);
                   if(media < 6){
                            printf("\n %s reprovado \n",dados[i].nome);
                            }
                   else{
                        printf("\n %s aprovado \n",dados[i].nome);
                        }
                   }
    }
    int main(void)
    {
        int i;
        for(i=0;i<M;i++){
                  printf("Informe o nome do alunos \n");
                  scanf("%s",&dados[i].nome);
                  printf("Informe a primeira nota do aluno \n");
                  scanf("%f",&dados[i].nota1);
                  printf("Informe a segunda nota \n");
                  scanf("%f",&dados[i].nota2);
                  printf("Informe a terceira notas \n");
                  scanf("%f",&dados[i].nota3);
                  printf("Informe a quarta nota \n");
                  scanf("%f",&dados[i].nota4);
                  }
        media();
        system("PAUSE");
        return 0;
    }

  12. Criar um programa que

    * utilize uma sub-rotina para receber os elementos de uma matriz 10x5 de números reais;

    * utilize uma sub-rotina para calcular a soma dos elementos localizados abaixo da sexta linha dessa matriz;

    Mostrar os resultados na main

  13. Receber dois vetores e determinar o vetor intersecção. A intersecção de dois vetores é um ponto não necessariamente no mesmo local do dois vetores

    O meu codigo está errado mais como posso arrumar para determinar o ponto de intersecção ?

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        int x[10], y[10];
        int i;
        for(i=0;i<10;i++){
                printf("Preenche o vetor X[%d] \n",i);
                scanf("%d",&x[i]);
                printf("Preenche o vetor Y[%d] \n",i);
                scanf("%d",&y[i]);
                }
        int n;
        for(i=0;i<10;i++){
                if(x[i] == y[i]){
                      n = x[i];
                      }
                      }
        printf("A interseccao e: \n %d \n",&n);  
        system("PAUSE");
        return 0;
    }

×
×
  • Criar Novo...