domingo, 7 de agosto de 2016

Programa que leia o nome, idade e nota de 10 alunos. Mostrar os dados dos alunos com nota superior a média da turma.


Programa que leia o nome, idade e nota de 10 alunos. Mostrar os
dados dos alunos com nota superior a média da turma.

#include <stdio.h>
#include <string.h>
//tirando o /n pra nao pular linha na string
#define NA 3

typedef struct{
   int idade;
   char nome[60];
   float nota;
   }tipo_aluno;

int main(){
  tipo_aluno va[NA];
  float media=0;
  int i;
 
  //lendo dados
 
  for(i=0;i<NA;i++){
  printf("Nome do aluno %d:",i+1);
  fgets(va[i].nome,60,stdin);
//tirando o /n pra nao pular linha na string
  if(strlen(va[i].nome)<59)
  va[i].nome[strlen(va[i].nome)-1]!='\0';
  setbuf(stdin,NULL);
  printf("Idade do aluno %d:",i+1);
  scanf ("%d",&va[i].idade);
  printf("Nota do aluno %d:",i+1);
  scanf ("%f",&va[i].nota);
  setbuf(stdin,NULL);
  media+=va[i].nota;
  }
 
  media=media/NA;
  printf("Alunos com nota superior a media da turma\n");
  printf("nome\t\t\tIdade\tNota\n");
  for(i=0;i<NA;i++)
  if(va[i].nota>media)
  printf("\n%s\t\t\t%d\t%.2f\n",va[i].nome,va[i].idade,va[i].nota);
 
  return 0;
}

Criar um programa que permita ao usuário digitar os dados de 3 alunos (nome, idade e matricula). Em seguida, pedir ao usuário para digitar uma idade, e o programa deve imprimir os nomes e idades dos alunos com idade menor que a digitada;

Criar um programa que permita ao usuário digitar os dados de 3 alunos (nome, idade e matricula). Em seguida, pedir ao usuário para digitar uma idade, e o programa deve imprimir os nomes e
idades dos alunos com idade menor que a digitada;


#include <stdio.h>
#include <string.h>
#define TAM 30

typedef struct{
   int matricula,idade;
   char nome[60];
   }tipo_aluno;

int main(){
  tipo_aluno a1,a2,a3;
  int idade;
 
  printf("Matricula:");
  scanf ("%d",&a1.matricula);
  setbuf(stdin,NULL);
  printf("Nome:");
  fgets(a1.nome,60,stdin);
  setbuf(stdin,NULL);
  printf("Idade:");
  scanf ("%d",&a1.idade);
 
  printf("Matricula:");
  scanf ("%d",&a2.matricula);
  setbuf(stdin,NULL);
  printf("Nome:");
  fgets(a2.nome,60,stdin);
  setbuf(stdin,NULL);
  printf("Idade:");
  scanf ("%d",&a2.idade);
 
  printf("Matricula:");
  scanf ("%d",&a3.matricula);
  setbuf(stdin,NULL);
  printf("Nome:");
  fgets(a3.nome,60,stdin);
  setbuf(stdin,NULL);
  printf("Idade:");
  scanf ("%d",&a3.idade);
 
  printf("Forneca a idade:");
  scanf ("%d",&idade);
 
  if (a1.idade<idade){
  printf("matricula: %d",a1.matricula);
  printf ("Nome:%s",a1.nome);
  }
 
  if (a2.idade<idade){
  printf("matricula: %d",a2.matricula);
  printf ("Nome:%s",a2.nome);
  }
 
  if (a3.idade<idade){
  printf("matricula: %d",a3.matricula);
  printf ("Nome:%s",a3.nome);
  }
 
  return 0;
}

terça-feira, 2 de agosto de 2016

/ Faça um programa utilizando a linguagem c que faça leitura da nota de 5 alunos e que: //A) imprima a média da turma //b) imprima a quantidade de alunos com nota maior que a média

// Faça um programa utilizando a linguagem c que faça leitura da nota de 5 alunos e que:

//A) imprima a média da turma
//b) imprima a quantidade de alunos com nota maior que a média

#include <stdio.h>
#define NA 5 /*número de alunos*/
int main(){
    float notas[NA],media=0;
    int qtde=0,i;
    /*lendo as notas*/
    for(i=0;i<NA;i++){
      printf("Nota do aluno %d ", i+1);
      scanf("%f",&notas[i]);
      media+=notas[i];
    }
    /* calculando a média */

    media/=NA;
    printf("\nMédia da Turma = %.2f\n",media);

    /*contado o número de alunos com nota superior a média da turma*/
    for(i=0;i<NA;i++)
      if(notas[i]>media)
        qtde++;
    printf("\nNúmero de alunos com nota superior a média = %d\n",qtde);
    return 0;

}

Calcule e imprima a soma dos elementos situados abaixo da diagonal principal da matriz A (dimensões 10x10), incluindo os elementos da própria diagonal.

//Calcule e imprima a soma dos elementos situados abaixo da diagonal principal da matriz A (dimensões 10x10), incluindo os elementos da própria diagonal.

#include <stdio.h>
#define N 10
int main() {
int a[N][N], i, j, soma=0;

for (i=0; i<N; i++)
for (j=0; j<N; j++) {
printf("Informe os numeros da matriz A[%d][%d]: ", i, j);
scanf("%d", &a[i][j]);
}

// imprime a matriz

for (i=0; i<N; i++){
for (j=0; j<N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}

// pega os valores da diagonal principal da matriz, a logica aqui tem que observar que a digonal princial pega o valor sempre que i=j

for (i=0; i<N; i++){
for (j=i; j<N; j++){
    if (i==j)
soma += a[j][i];
}
}
printf("Soma dos elementos da diagonal principal para baixo: %d\n", soma);
return 0;
}

Uma empresa que possui 20 funcionários, guarda a quantidade vendida por funcionários em cada um dos 7 dias da semana. Faça um programa que: a) Mostre a quantidade vendida por cada funcionário; b) Mostre em qual ou quais dias da semana cada funcionário vendeu mais; c) O nome do funcionário ou funcionários com maior valor de venda na semana.

Uma empresa que possui 20 funcionários, guarda a quantidade vendida por
funcionários em cada um dos 7 dias da semana. Faça um programa que:
a) Mostre a quantidade vendida por cada funcionário;
b) Mostre em qual ou quais dias da semana cada funcionário vendeu mais;
c) O nome do funcionário ou funcionários com maior valor de venda na semana.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>

#define NF 20
#define ND 7

int main()
{
    int a[20][7],sl[20]={0},maior[20], i, j, fds = 0;
    char nomefuncionario[NF][60];
    char dias[ND][10]={"SEGUNDA","TERÇA","QUARTA","QUINTA","SEXTA","SÁBADO","DOMINGO"};


    setlocale(LC_ALL,"");

    for (i=0;i<NF;i++)
    {

     printf("\nNome do funcionario %d ", i+1);
     fgets(nomefuncionario[i],60,stdin);
     setbuf(stdin,NULL);

     for(j=0;j<ND;j++){
        printf("Valor vendido em R$ pelo funcionário na %s: ",dias[j]);
        scanf("%d",&a[i][j]);
            setbuf(stdin,NULL);
            sl[i]+=a[i][j];
            if (j == 0)
                maior[i] = a[i][j];
            if (maior[i]<a[i][j])
                maior[i] = a[i][j];
        }
    }

    printf("\n");

    for (i=0;i<NF;i++)
    {
         printf("O funcionario %s vendeu %d na semana.\n",nomefuncionario[i], sl[i]);
    }
printf("\n\n");
    for (i=0;i<NF;i++)
    {
        printf("\nO funcionario %s vendeu mais no(s) dia(s):",nomefuncionario[i]);
        for (j=0;j<ND;j++)
        {
            if (maior[i] == a[i][j])
                printf("%s\t",dias[j]);
                //printf("%d\t",j+1);
        }
        if (fds<maior[i])
            fds = maior[i];
        printf("\n");
    }

        printf("\n\n");

    printf("O(s) funcionarios que mais venderam na semana:\n");
        printf("\n");
    for (i=0;i<NF;i++)
    {
        if (fds == maior[i])
            printf("Funcionario %s\n",nomefuncionario[i]);
    }
    return 0;
}

//Faça um programa, usando a linguagem C, que leia valores inteiros para a matriz A10x7 .Gerar e //imprimir o vetor SL (soma das 10 linhas) onde cada elemento é a soma dos elementos de uma linha //da matriz A e o vetor SC (soma das 7 colunas). Faça o trecho que gera os vetores SL e SC separado //da entrada e da saída de dados. Imprimir os vetores SL e SC.


//Faça um programa, usando a linguagem C, que leia valores inteiros para a matriz A10x7 .Gerar e
//imprimir o vetor SL (soma das 10 linhas) onde cada elemento é a soma dos elementos de uma linha
//da matriz A e o vetor SC (soma das 7 colunas). Faça o trecho que gera os vetores SL e SC separado
//da entrada e da saída de dados. Imprimir os vetores SL e SC.

#include <stdio.h>
#define NL 10
#define NC 7

int main()
{
int i = 0, j = 0,matriz[NL][NC],maior[NL],vetorSL[NL],vetorSC[NC],maiornumero=0; /*inicializa as variaveis com zero*/
float soma = 0.0; /*Essa variável soma conterá as somas das linhas e colunas.
Valendo destacar que era será zerada varias vezes.*/

for(i=0;i<NL; i++){
for(j=0;j<NC;j++){
printf("Digite um numero para a matriz A 10x7 [%d] [%d]:",i,j);
scanf("%d", &matriz[i][j]); /*Aqui é realizada a leitura dos valores. Essa parte percorre toda a matriz*/
}
}

printf("\nMatriz M\n\n");

for (i=0;i<NL;i++){
for (j=0;j<NC;j++){
printf("%d ",matriz[i][j]);
}
printf("\n");
}

//Gerar e imprimir o vetor SL (soma das 10 linhas) onde cada elemento é a soma dos elementos de uma linha da matriz A

printf("\n\n Imprimir VETOR SL resultado da soma de cada linha da matriz A 10x7:\n");
for(i=0;i<NL;i++){
for(j=0;j<NC;j++){
soma = soma + matriz[i][j];
}
vetorSL[i] = soma;
printf("\n Vetor SL - Linha %d: %d", i,vetorSL[i]);
soma = 0.0;
}

printf("\n\nImprimir VETOR SC resultado da soma de cada coluna da matriz A 10x7:\n"); /*Imprime na tela*/
for(j=0;j<NC;j++){ /*Percorre toda a matriz somando os valores das colunas*/
for(i=0;i<NL;i++){
soma = soma + matriz[i][j];
}
vetorSC[j] = soma;
printf("\n Vetor SC - Coluna %d: %d", j,vetorSC[j]);
soma = 0.0; /*Zera a variável soma para reultilizá-la*/
}


return 0; /*Retorna o valor zero*/
}

//Fazer um programa que leia uma matriz M 10x20 de inteiros. Deve ser impresso: //• O maior elemento de cada linha da matriz; //• A média dos elementos de cada coluna; //• A posição ocupada (linha-coluna) por um elemento cujo valor sera lido pelo programa.

//Fazer um programa que leia uma matriz M 10x20 de inteiros. Deve ser impresso:
//• O maior elemento de cada linha da matriz;
//• A média dos elementos de cada coluna;
//• A posição ocupada (linha-coluna) por um elemento cujo valor sera lido pelo programa.


#include <stdio.h>
#define NL 10
#define NC 20

int main()
{
int i = 0, j = 0,maiornumero=0,tab[NL][NC];
float soma = 0.0,mediacoluna=0.0;

for(i=0;i<NL; i++){
for(j=0;j<NC;j++){
printf("Digite um numero para a matriz M 10x20 [%d] [%d]:",i,j);
scanf("%d", &tab[i][j]);
}
}

printf("\nMatriz M\n\n");

for (i=0;i<NL;i++){
for (j=0;j<NC;j++){
printf("%d ",tab[i][j]);
}
printf("\n");

}


printf("\nMatriz M\n\n");

for (i=0;i<NL;i++){
for (j=0;j<NC;j++){
printf("Numeros digitados para a matriz M 10x20 [%d][%d] : %d \n",i,j,tab[i][j]);
}
printf("\n");
}


printf("\n\nTotal por colula:\n");

for(j=0;j<NC;j++){
for(i=0;i<NL;i++)
soma = soma + tab[i][j];
mediacoluna = soma/NL;
printf("\nMedia Coluna %d: %.2f", j,mediacoluna);

soma = 0.0;
mediacoluna = 0.0;
}

printf("\n\nMaior numero por linha:\n\n");


for(i=0;i<NL;i++){
for(j=0;j<NC;j++){
    maiornumero=tab[i][j];

          if (tab[i][j]>maiornumero)
          maiornumero = tab[i][j];

}
printf("Maior numero da linha %d eh: %d \n", i, maiornumero);
}

return 0;
}

Fazer um programa que: a) leia um conjunto de valores correspondentes a 80 notas dos alunos de uma turma (de 0 a 10); b) calcule a freqüência absoluta e a freqüência relativa de cada nota; c) imprima uma tabela contendo os valores das notas (de 0 a 10) e suas respectivas freqüências absoluta e relativa. Observações: • freqüência absoluta de uma nota é o número de vezes que ela aparece no conjunto de dados; • freqüência relativa é a freqüência absoluta dividida pelo número total de dados; • utilizar como variável composta somente aquelas que forem necessárias.

Fazer um programa que:
a)   leia um conjunto de valores correspondentes a 80 notas dos alunos de uma turma (de 0 a 10);
b)  calcule a freqüência absoluta e a freqüência relativa de cada nota;
c)  imprima uma tabela contendo os valores das notas (de 0 a 10) e suas respectivas freqüências absoluta e relativa.

Observações:
•  freqüência absoluta de uma nota é o número de vezes que ela aparece no conjunto de dados;
•  freqüência relativa é a freqüência absoluta dividida pelo número total de dados;
•  utilizar como variável composta somente aquelas que forem necessárias.

#include <stdio.h>
#define NT 4 /*quantidade de notas*/

int main(){
   int vf[11],/*cada posição armazena a frequência de uma nota. 0 a 10*/
   nota,i;

   /*inicializando o vetor de notas*/
   for (i=0; i<11;i++)
      vf[i]=0;

   for(i=1;i<=NT;i++){
      printf("\nForneça a nota de 0 a 10:");
      scanf("%d",&nota);
      /*validando a nota*/
      while(nota<0 || nota >10){
         printf("\nNota Incorreta!! Forneça outro valor:");
         scanf("%d",&nota);
      }
      vf[nota]++;
   }

   printf("\nNota\tFrequencia absoluta\tFrequencia Relativa\n");
   for(i=0;i<11;i++)
      printf("\n%d\t\t%d\t\t\t\t%.3f",i,vf[i],(float)vf[i]/NT);




   return 0;
}



Faça um programa que tenha como entrada 30 valores e colocá-los em 2 vetores conforme forem pares ou ímpares. Cada vetor possui 5 posições. Se algum vetor estiver cheio, imprimir o seu conteúdo. Terminada a leitura escrever o conteúdo dos dois vetores. Cada vetor pode ser preenchido tantas vezes quantas forem necessárias.

Faça um programa que tenha como entrada 30 valores e  colocá-los em 2 vetores
conforme forem pares ou ímpares. Cada vetor possui 5 posições. Se algum vetor estiver
cheio, imprimir o seu conteúdo. Terminada a leitura escrever o conteúdo dos dois vetores.
Cada vetor pode ser preenchido tantas vezes quantas forem necessárias.

#include <stdio.h>
#define NE 30 /*qtde de números*/
#define TAM 5 /*tamanho dos vetores*/

int main(){
   int vi[TAM],/*armazena os números ímpares*/
       vp[TAM],/*aramazena os números pares*/
       pos_i=-1,/*última posição preenchida do vetor de números ímpares**/
       pos_p=-1,/*última posição preenchida do vetor de números pares*/
       cont,k,/*contadores*/
       numero;

   for(cont=1;cont<=NE;cont++ )    {
      printf("Forneca um número inteiro");
      scanf("%d",&numero);
      /*verificando se o número é par ou ímpar*/
      if(numero%2==0){
         /*o número é par*/
         pos_p++;
         vp[pos_p]=numero;
         /*verificando se o vetor está cheio*/
         if(pos_p==TAM-1){
            printf("\nNúmeros Pares\n");
            for(k=0;k<TAM;k++)
               printf("\n%d",vp[k]);
            pos_p=-1;
         }
      }
      else{
         /*o número é ímpar*/
         pos_i++;
         vi[pos_i]=numero;
         /*verificando se o vetor está cheio*/
         if(pos_i==TAM-1){
            printf("\nNúmeros Ímpares\n");
            for(k=0;k<TAM;k++)
               printf("\n%d",vi[k]);
            pos_i=-1;
         }

      }
   }

   if(pos_p>0){/*verificando se tem elementos no vetor de números pares que não foram impressos*/
      printf("\n Números Pares\n");
      for(k=0;k<=pos_p;k++)
        printf("\n%d",vp[k]);
   }
   if(pos_i>0){/*verificando se tem elementos no vetor de números ímpares que não foram impressos*/
     printf("\n Números Ímpares\n");
     for(k=0;k<=pos_p;k++)
       printf("\n%d",vi[k]);
   }
   return 0;
}

Faça um programa que receba a altura de 10 atletas. Esse programa deve imprimir a altura daqueles atletas que tem altura maior que a média.

Faça um programa  que receba a altura de 10 atletas. Esse programa deve imprimir a
altura daqueles atletas que tem altura maior que a média.

#include <stdio.h>
#define NA 3
int main(){
   float valtura[NA],media=0;
   int i;
   for(i=0;i<NA;i++){
      printf("Forneça a altura do atleta %d",i+1);
      scanf("%f",&valtura[i]);
      media+=valtura[i];
   }
   media/=NA;
   printf("\nAlturas maiores que a media\n");
   for(i=0;i<NA;i++)
      if(valtura[i]>media)
        printf("\n%.2f",valtura[i]);
   return 0;
}

Faça um programa que leia dois vetores de 10 posições e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro vetor. Imprimir o vetor resultante.

Faça um programa que leia dois vetores de 10 posições e faça a multiplicação dos
elementos de mesmo índice, colocando o resultado em um terceiro vetor. Imprimir o vetor
resultante.

#include <stdio.h>
#define NE 10
int main(){
   int v1[NE], v2[NE], res[NE],i;
   /*lendo o primeiro vetor*/
   for(i=0;i<NE;i++){
      printf("Forneçã um número inteiro:");
      scanf("%d",&v1[i]);
   }
   /*lendo o segundo vetor*/
   for(i=0;i<NE;i++){
      printf("Forneçã um número inteiro:");
      scanf("%d",&v2[i]);
   }
   /*multiplicando os vetores*/
   for(i=0;i<NE;i++)
      res[i]=v1[i]*v2[i];
   /*imprimindo o vetor res*/

   for(i=0;i<NE;i++)
      printf("\nposição=%d\t Valor=%d",i,res[i]);
   return 0;
}

Faça um programa que leia uma matriz de 4x5 de inteiros. Imprimir o número de ocorrências de cada elemento na matriz.

/* Faça um programa que leia uma matriz de 4x5 de inteiros. Imprimir o número de
ocorrências de cada elemento na matriz.*/

#include <stdio.h>
#define NL 2
#define NC 3

int main(){
   int mat[NL][NC],lin,col,i,k,achou,ocorrencias,
       ve[NL*NC],/*armazena os elementos distintos  da matriz, aqueles que já foram contados*/
       ultima_pos=-1;/*armazena a última posição preenchida do vetor ve*/

    /*lendo a matriz*/
   for(lin=0;lin<NL;lin++)
   for (col=0;col<NC;col++){
      printf("\n[%d][%d]:",lin,col);
      scanf("%d",&mat[lin][col]);
   }

   for(lin=0;lin<NL;lin++)
     for(col=0;col<NC;col++){
       /*verificando se o elemento corrente da matriz já foi processado. Verificar se ele está
       presente no vetor ve*/
       i=0;
       achou=0;
      while(i<ultima_pos && achou==0)
         if(mat[lin][col]==ve[i])
           achou =1;
         else
           i++;
      /*caso o elemento pertença a ve (achou terá o valor 1) não preciso contá-lo novamente*/
      if(achou==0){
         ultima_pos++;
         ve[ultima_pos]=mat[lin][col];
         /*percorrer a matriz apenas a partir da linha correente. As posições acima da linha
         corrente já foram processadas*/
         ocorrencias =0;
         for(i=lin;i<NL;i++)
            for(k=0;k<NC;k++)
               if(mat[lin][col]==mat[i][k])
                 ocorrencias++;
         printf("\nO elemento %d aparece %d vezes",mat[lin][col],ocorrencias);
      }
   }
}



Na Teoria de Sistemas define-se como elemento minimax de uma matriz o menor elemento da linha em que se encontra o maior elemento da matriz. Faça um programa que preencha uma matriz M(15,15) e determine o seu elemento minimax

Na Teoria de Sistemas define-se como elemento minimax de uma matriz o menor
elemento da linha em que se encontra o maior elemento da matriz. Faça um programa que
preencha uma matriz M(15,15) e determine o seu elemento minimax

#include <stdio.h>
#define NL 15
#define NC 15
int main(){
   int mat[NL][NC],lin,col,linha,/*armazena a linha onde o maior elemento da matriz está armazenado*/
      maior,minimax;

   /*lendo a matriz*/
   for(lin=0;lin<NL;lin++)
   for (col=0;col<NC;col++){
      printf("\n[%d][%d]:",lin,col);
      scanf("%d",&mat[lin][col]);
   }

   /*encontrando o maior valor e a linha onde ele se encontra*/
   maior = mat[0][0];
   for(lin=0;lin<NL;lin++)
      for(col=0;col<NC;col++)
       if(mat[lin][col]>maior){
         maior=mat[lin][col];
         linha=lin;
       }
   /*encontrando o elemento minimax. A variável linha term arzenado o índice
     da linha que armazena o maior valor*/
   minimax = mat[linha][0];
   for(col=1;col<NC;col++)
      if(mat[linha][col]<minimax)
        minimax = mat[linha][col];
   printf("\n Elemento minimax = %d",minimax) ;

   return 0;
}