Jeferson Ricardo Tichz

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Pagina Jeferson Ricardo Tichz ( Engenharia 14.2)

PRG

Link Matéria

Aula 16/06/15

Aula 11/06/15

Aula 02/06/15

Aula 28/05/15

  • Exemplo
struct Taluno{
int matricula;
char[40] nome;
char[11] data_nasc;
struct Taluno *prox; // para ser indefinido qantos ALUNOS teram esta estrutura
}Aluno;

typedef struct Aluno al; //defindo nome mais facil para trabalhar
al a;                   //pra chamar mais facil como variavel
al *pa;                //defindo estrutura como vetor (ponteiro)
pa->nome;             //pegando o conteudo do pa que eh um ponteiro para al q eh o alias para Aluno no campo nome
  • Exemplo1.c
#include <stdio.h>
#include <stdlib.h>
struct cel {
    int conteudo;
    struct cel *prox;
}cel;
typedef struct cel celula;


void main( celula *ini) {
   celula *p;
   for (p = ini->prox; p != NULL; p = p->prox)
      printf( "%d\n", p->conteudo);
}
//não deu certo xD
// Esta função recebe um inteiro x e uma lista
// encadeada ini de inteiros, com celula-cabeça.
// A função devolve o endereço de uma celula que
// contém x ou devolve NULL se tal celula não existe.
 
    //retorna o endereco que esta sendo localisado nao o conteudo
celula *busca( int x, celula *ini) //vai buscar por x apartir de uma celula inicial
{
   celula *p;
   p = ini->prox;
   while (p != NULL && p->conteudo != x) 
      p = p->prox; 
   return p; 
}
  • Exercicio 1
#include <stdlib.h>
#include <stdio.h>

/*========================*/
/** OPERAÇÔES COM LISTA LIGADA ******/
/*========================*/

/*
 *    tipos e variáveis globais
 *    */

struct TProduto{
   int codigo;
  struct TProduto *next;main()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5#include <stdlib.h>
#include <stdio.h>
 
/*========================*/
/** OPERAÇÔES COM LISTA LIGADA ******/
/*========================*/
 
/*
   tipos e variáveis globais
*/
 
struct TProduto{
   int codigo;
  struct TProduto *next;
} *head, *tail;
 
 
/*
   adiciona item a cabeça da lista
   retorna 0 se tudo ok e -1 se erro
*/
int add_nodo_head(int codigo)
{
 
}
 
/*
   adiciona item ao final  lista
   retorna 0 se tudo ok e -1 se erro
*/
int add_nodo_tail(int codigo)
{
   struct TProduto *p =  malloc (sizeof(struct TProduto));
   if (!p)
        return -1;
 
   p->codigo = codigo;
   p->next = NULL;
 
   if (tail==NULL) {
      /* lista vazia */
      tail = head = p;
   }else {
     /*lista não vazia */
       tail->next = p;
       tail = p;
   }
   return 0;
}
 
/*
   imprimir lista 
*/
 
void print_list()
{
 
};i++)
   //  add_nodo_tail(i);

  print_list (head);
//print_list(tail);
}#include <stdlib.h>
#include <stdio.h>

/*========================*/
/** OPERAÇÔES COM LISTA LIGADA ******/
/*========================*/

/*
 *    tipos e variáveis globais
 *    */

struct TProduto{
   int codigo;
  struct TProduto *next;main()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);
//print_list(tail);
}

} *head, *tail;


/*
 *    adiciona item a cabeça da lista
 *       retorna 0 se tudo ok e -1 se erro
 *       */
int add_nodo_head(int codigo)
{

}

/*
 *    adiciona item ao final  lista
 *       retorna 0 se tudo ok e -1 se erro
 *       */
int add_nodo_tail(int codigo)
{
   struct TProduto *p =  malloc (sizeof(struct TProdumain()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);main()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);
//print_list(tail);
}

//print_list(tail);
}
to));
   if (!p)
        return -1;

   p->codigo = codigo;
   p->next = NULL;

   if (tail==NULL) {
      /* lista vazia */
      tail = head = p;
   }else {
     /*lista não vazia */
       tail->next = p;
       tail = p;
   }
   return 0;
}

/*
 *    imprimir lista 
 *    */

void print_list(struct TProduto *ini)
{
typedef struct TProduto produto;
produto *p;
  for (p = ini; p != NULL; p = p->next){
      printf( "%p\t%d\t\n",p, p->codigo);
}
}


} *head, *tail;


/*
 *    adiciona item a cabeça da lista
 *       retorna 0 se tudo ok e -1 se erro
 *       */
int add_nodo_head(int codigo)
{

}

/*
 *    adiciona item ao final  lista
 *       retorna 0 se tudo ok e -1 se erro
 *       */
int add_nodo_tail(int codigo)
{
   struct TProduto *p =  malloc (sizeof(struct TProdumain()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);main()
{
  int i,vlr,qtd;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);
//print_list(tail);
}

//print_list(tail);
}
to));
   if (!p)
        return -1;

   p->codigo = codigo;
   p->next = NULL;

   if (tail==NULL) {
      /* lista vazia */
      tail = head = p;
   }else {
     /*lista não vazia */
       tail->next = p;
       tail = p;
   }
   return 0;
}

/*
 *    imprimir lista 
 *    */

void print_list(struct TProduto *ini)
{
typedef struct TProduto produto;
produto *p;
  for (p = ini; p != NULL; p = p->next){
      printf( "%p\t%d\t\n",p, p->codigo);
}
}

main()
{
  int i;

  head = tail = NULL;
  //print_list (tail);
  for (i=0;i<5;i++)
     add_nodo_tail(i);

  print_list (head);
print_list(tail);
}
  • Atividades fazer o programa perguntar qual numero quer alterar e o altera-lo


#include <stdlib.h>
#include <stdio.h>
 
/*========================*/
/** OPERAÇÔES COM LISTA LIGADA ******/
/*========================*/
 
/*
   tipos e variáveis globais
*/
 
struct TProduto{
   int codigo;
  struct TProduto *next;
} *head, *tail;
 
 
/*
   adiciona item a cabeça da lista
   retorna 0 se tudo ok e -1 se erro
*/
int add_nodo_head(int codigo)
{
 
}
 
/*
   adiciona item ao final  lista
   retorna 0 se tudo ok e -1 se erro
*/
int add_nodo_tail(int codigo)
{
   struct TProduto *p =  malloc (sizeof(struct TProduto));
   if (!p)
        return -1;
 
   p->codigo = codigo;
   p->next = NULL;
 
   if (tail==NULL) {
      /* lista vazia */
      tail = head = p;
   }else {
     /*lista não vazia */
       tail->next = p;
       tail = p;
   }
   return 0;
}
 
/*
   imprimir lista 
*/
 
void print_list(struct TProduto *ini)
{
typedef struct TProduto produto;
produto *p;
  for (p = ini; p != NULL; p = p->next){
      printf( "%p\t%d\t\n",p, p->codigo);
}
}



main()
{
  int i,vlr,qtd,mudar,novo;
 head = tail = NULL;

printf("Entre com a quantidade de numeros: ");
scanf("%d",&qtd);
 for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
    add_nodo_tail(vlr);
}
//  head = tail = NULL;
  //print_list (tail);
 // for (i=1;i<5;i++)
   //  add_nodo_tail(i);

  print_list (head);
printf("Digite o numero que voce quer alterar: ");
scanf("%d",&mudar);
for(i = 1; i <= qtd; i++){
if (*p==mudar){
printf("Digite o numero que voce quer: ");
scanf("%d",&novo);
add_nodo_tail(p);
}//else {printf("Digite um numero valido ");}

}
print_list(head);
}

Aula 26/05/15

  • EXEMPLO 1
   Alocação dinâmica de números inteiros (exercício puramente didático): 
#include <stdlib.h>
 
main()
{
  int *px, *py;
  int resultado;
  px = (int *) malloc(sizeof(int)); // endereco de memoria
  *px = 5;                          // conteudo da memoria
  py = (int *) malloc(sizeof(int));
  *py = 2;
  resultado = *px + *py;
 
  free (px);
  px = NULL;
  free (py);
  py = NULL;
}

exemplo2

#include <stdio.h>
#include <stdlib.h>
 
int main(void){
 
    int *valores, *aux;
    int qtd, i, vlr;
 
    printf("\nEntre com a quantidade de números: ");
    scanf("%d", &qtd);
 
    if(qtd == 0)
        exit(0);
 
//Aloca um vetor com a quantidade recebida em qtd
    valores = (int *) calloc(qtd, sizeof (int));
 
//Imprime o endereco e valor (zero) para a quantidade de números informada
    aux = valores;
    for(i = 1; i <= qtd; i++){
        printf("%p\t%d\n", aux, *aux);
        aux++;
    }
 
    aux = valores; //Ponteiro para o primeiro espaço de memória
    for(i = 1; i <= qtd; i++){
        printf("Digite o número %d ->: ", i);
        scanf("%d", &vlr);
        *aux = vlr;
        aux++;
    }
 
    aux = valores; //Retorna à posição inicial no mapa de memória
    for(i = 1; i <= qtd; i++){
        printf("%p\t%d\n", aux, *aux);
        aux++;
    }
 
    free(valores);
 
    return 0;
}
  • Ver realocando memoria
#include <stdio.h>
#include <stdlib.h>

void main()
{
  struct TTeste{
     int x;
     int y;
  } *teste;

  if ((teste = (struct TTeste *) malloc (100*sizeof(struct TTeste)))==NULL) {
      printf("erro de alocação");
      exit(1);
  }



  teste[0].x= 5;
 printf("\n %p e %d\n",&teste[0],teste[0].x);
  if ((teste = realloc(teste, 10000*sizeof(struct TTeste)))==NULL) {
      printf("erro de alocação");
      exit(1);
  }
printf("\n %p e %d\n",&teste[0],teste[0].x);
 teste[1].x=20;
printf("\n %p e %d\n",&teste[1],teste[1].x);
  free(teste);

}

Aula 19/05/15

Link aula

  • Execicio2.c
#include <stdio.h>

main()
{
   int x[10]= {0,1,2,3,4,5,6,7,8,9};
   int *p;
   int i;

  char w[10]="ifsc";
   char *u, y;

   u = w + 2;
   y= *u;
   p=x; //sem & pois eh um vetor se fosse pegar a possicao expecifica p=&x[3];
 printf("%c e %s\n",y,u);
   i=0;
   while (i<10) {
       printf(" endereco %p e conteudo %d\n", p, *p);
       p++;
       i++;
   // pula de 4 em 4 pq eh um veltor inteiro e reserva 8bits
    }
}
  • Execiciochar3.c
#include <stdio.h>

void str_cpy(char *pdest, char *pfonte)
{
   while (*pfonte!=0) {
        *pdest++ = *pfonte++; //primeiro iguala depois incremeta
   }
   *pdest = 0;
}


int str_len (char *p)
{
   int i=0;
   while (*p++!=0)
        i++;
   return i;
}

main()
{
   char fonte[100]="qwertyuiopçlkjhgfdsazxcvbnmifsc";
   char destino[100];

   str_cpy(destino, fonte);
   printf("string destino = %s\n", destino);

   printf("tamanho de dest = %d\n", str_len(destino));
}
  • exercicio
#include <stdio.h>
 
void main()
{
	float fpi=3.1415, *pf, **ppf;
	pf=&fpi;		// pf armazena o endereco de fpi
	ppf=&pf;		// ppf armazena o endereco de pf
	printf("\n%f", **ppf);	// imprime o valor de fpi por ppf
        printf("\n%f", *ppf);	// imprime o endereco pf
        printf("\n%f", pf);	// imprime o endereco pf
	printf("\n%f", *pf);	// imprime o valor de fpi por pf
}


  • exemplo
#include <stdio.h>

int main()
{
  int i;

  char *vp[4];
  char alfa[5]="IFSC";
  char beta[5]="TELE";
  char delta[5]="RAC";
  char gamma[5]="CGER";

  vp[0] = alfa;
  vp[1] = beta;
  vp[2] = delta;
  vp[3] = gamma;

  for(i=0;i<4;i++)
        printf("%s\t e o endereço %p\n", vp[i],vp[i]); // imprime o endereco %p
}
      • Mt bom
#include <stdio.h>
 
main(int argc, char *argv[])
{
  int i,soma=0;
 
  for (i=0;i<argc;i++) {
       printf("%s\n", argv[i]);
       soma=soma+atoi(argv[i]);
  }
  printf("Numero de parametros passados = %d\n", argc-1); /* o primeiro é o nome do arquivo executavél" */
printf("Soma =%d\n",soma);
}

Aula 12/05/15

Link Aula

Aula 30/04/15

#include <stdio.h>

struct Televador{
int andar,uso,load,estado;
char emergencia[5];

}elevador;

struct Tprevisaotempo{
char precipitacao[5],temporal[5],codigo_vermelho[10];
int temperatura;
struct Tdata data;
}previsao;

struct Tdata{
int hora;dia,semana,mes,ano;
}data;

struct Tautomovel{
int portas,load,peso,passageiros,eixos,tanque_l,potencia,cv,doc_veicular,ano;
char combustivel[20],proprietario[45];
}automovel;

Aula 28/04/15

  • Aula 28-04 link
  • Continuação de estruturas
    • Quando o "i" sai do "for" incrementa mais 01 antes de sai do for exemplo:
void tratar_usuario()
{
  char senha[10];
  int userEncontrado=1;
  int i;
 
 
 /* 
     Loop para encontrar o usuário na tabela. 
     Ao final do loop a variavel i conterá o índice do usuário (se ele estiver
     na tabela
  */
  for (i=0;i<4 && userEncontrado; i++) {
       if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
             userEncontrado=0;
  }
 
  /* se usuário encontrado abre a porta */
  if (userEncontrado==0) {
	printf("Bom dia %s! Entre com a senha\n", userID);
  	scanf("%s",senha);
	i--; /* o indice do sujeito é i-1 */
	if(strcmp(senha,TabelaUsuarios[i].Senha)==0) 
	       printf("Abrir porta!!!\n");
	else
		printf("Senha Inválida\n");
  }
}
      • Se usar o break o indice sai com o valor certo. Exemplo:
  for (i=0;i<4 && userEncontrado; i++) {
       if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
if (userEncontrado==0)
{
break;
}
}
  • meu codigo
#include <stdio.h>
#include <string.h>
 
/**********************************************/
/*** PROGRAMA DE CONTROLE DE ACESSO  **/
/** Autor: TurmaENG.TELECOM - 2012.2 */
/**********************************************/
 
/** VARIÁVEIS GLOBAIS DESTE MÓDULO ****/
 
struct TRegistroUsuario {
	char UserId[10];
	char Senha[10];
	int estado;
};
 
/* Tabela de Usuários */
struct TRegistroUsuario TabelaUsuarios[4] = {
         {"joao","abcd",1},
         {"maria","xxxx",1},
         {"jose","yyyy",1},
         {"lara","zzzz",1},
};
 
 
char userID[20];
int cont=0,conta=0; 
 
/** FUNÇÔES DESTE MÓDULO ****/
 
void mostrar_menu_entrada_usuario()
{
	system("clear");
  	printf("*******************************\n");
  	printf("Entre com o seu USERID para ter acesso\n"); 
  	printf("**************** # Maximo 10 tentetivas # ***************\n");
	printf("######## Sua tentativa é = %d ##############\n",cont);
}
 
/** Função que implementa as tarefas do administrador **/
 
void  administrar()
{
int i;
for(i=0;i<4;i++){
TabelaUsuarios[i].estado=1;
printf("Ok tudo liberado!!!!!\n");
system("sleep 01");
}
}
 
/** Função que valida um usuário e abre a porta **/
 
void tratar_usuario()
{
  char senha[10];
  int userEncontrado=1;
  int i;
//int conta=0;
 
 
 /* 
 *      Loop para encontrar o usuário na tabela. 
 *           Ao final do loop a variavel i conterá o índice do usuário (se ele estiver
 *                na tabela
 *                  */
//if(cont<=3){
  for (i=0;i<4 && userEncontrado; i++) {
       	if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
             userEncontrado=0;
  }
  /* se usuário encontrado abre a porta */
	if(userEncontrado==1){printf("usuario não cadastrado\n");system("sleep 01");}
	if (userEncontrado==0 && TabelaUsuarios[i-1].estado==0) {printf("Usuario bloqueado\n"); system("sleep 01");}
  if (userEncontrado==0 && TabelaUsuarios[i-1].estado==1) {
	printf("Bom dia %s! Entre com a senha\n", userID);
  	scanf("%s",senha);
	cont=0; //acertou o usuario zera o contador
	i--; /* o indice do sujeito é i-1 */
	if(strcmp(senha,TabelaUsuarios[i].Senha)==0) 
	       {printf("Abrir porta!!!\n");
		system("sleep 01");
		cont=0;//acertou a senha 
		}
	else
		{printf("Senha Inválida\n");
		conta++;
		cont++;
		system("sleep 01");
		if (conta==3){
		TabelaUsuarios[i].estado=0;
		printf("Usuario %s esta bloqueado!!!\n",TabelaUsuarios[i].UserId);
		system("sleep 01");	
		}
		}
  }
cont++;
}
 
void main()
{
//int cont=0;
 for(;;) {
     mostrar_menu_entrada_usuario();
     scanf("%s",userID);
     if (strcmp(userID, "admin")==0) {
          administrar();
     } else {
	//if (cont<=3){
         tratar_usuario();//cont++;
	}
//	cont++;
	//printf("Contador %d",cont);
	if(cont>=10){
	printf("Usuario Invalido\n");
	system("sleep 02");
	break;
	}
     }
 }

Aula 16/04/15

Aula 14/04/15

  • Continuação Aula 16 link
  • Exercicio I
#include <stdio.h>

void main()
{
int a,b;
float media1,media2;
a=13;
b=a++;
media1=(a/b);
media2=(float)a/b;
printf("a= %d   e b= %d  media1= %.2f  media2=%.4f\n",a,b,media1,media2);
}
  • Exemplo II
#include <stdio.h>
#define PI 3.1415 
//#define valores fixo antes de começar

void main()
{
int a,b;
float media1,media2;
a=13;
b=a++;
media1=(a/b);
media2=(float)(a+b+PI)/3;
printf("a= %d   e b= %d  media1= %.2f  media2=%.4f\n",a,b,media1,media2);
}
  • Exemplo III
#include <stdio.h>

void main()
{
int num[3][2]={9,8,7,6,5,4,3};
printf("num[1][2]=%d e num[2][2]=%d\n",num[1][2],num[2][2]);
}
  • Exemplo IV

{9, 8, 7, 6, 5, 4, 3} 00,01,10,11,20,21,30 posição na matriz verificando a posição da matriz:

#include <stdio.h>
#define PI 3.1415 

void main()
{
int a,b=0;
int num[3][2]={9,8,7,6,5,4,3};
for (a=0;a<3;a++)
 {      
        for (b=0;b<2;b++)
        {
                printf("\n num[%d][%d]= %d\n",a,b,num[a][b]);

        }
 }
}
  • Exemplo de um erro muito louco
#include <stdio.h>

main()
{
  char TabelaUsuarios[4][10] = {
         "11111 111111",
         "22222 222222",
         "33333 333333",
         "44444 444444",
                                };
  int i;

  for (i=0;i<4;i++)
       printf("%s\n",&TabelaUsuarios[i][0]);
}
  • Desafio fazer parar qando nao haver mais trocas
#include <stdio.h>
 
void mostra_vet(int vet_aux[],int tam,int tipo) // tipo=0 vertical \n tipo=1 horizontal \t
{
  int i;
 
  if(tipo==0)
	printf("\n"); // vai deixar uma linha em branco só no tipo que quero.
  for(i=0;i<tam;i++)
    if(tipo==0)
      	printf("\n%d",vet_aux[i]);
    else
	printf("\t%d",vet_aux[i]);
  printf("\n");
}
 
 
void main()
{
  int i,j,num,vet_num[10];
  printf("\nDigite os números:\n");
  for(i=0;i<10;i++){
      scanf("%d",&num);
      vet_num[i]=num;
  }
  for(j=0;j<9;j++){		// varre os (10-1) vetores - o ultimo ele não tem que comparar
          for(i=0;i<(9-j);i++){ // depois da primeira passagem o ultimo elemento já é o maior...
              if(vet_num[i]>vet_num[i+1]){ 
                num=vet_num[i];
                vet_num[i]=vet_num[i+1];
                vet_num[i+1]=num;
              }
	      mostra_vet(vet_num,10,1); // mostra tipo=1 horizontal
          }
  }
  mostra_vet(vet_num,10,0); // mostrta tipo=0 verrtical
 
}

Aula 07/04/15 (Exercícios)

  • Exercício 1
Minha Solução Ex.1


  • Exercício 2
Minha Solução Ex.2


  • Exercício 3
Minha Solução Ex.3


  • Exercício 4
Minha Solução Ex.4

Aula 31/03/15

Char em C

Vetores 26/03/15

Pseudo Codigo

var vetor[10] media,soma,conta,num inicio conta=0 soma=0

 para variando de 0 ate 10
 faca
 ler vetor [conta]
 incrementa conta
 fim para

calcula media obtenha o num acima da media calcula media

 para conta 0 ate 10
 faca
 soma = soma + vetor[conta]
 fim para

media = soma / (conta + 1)

 para conta => 0 ate 9
 faca
  se o vetor[conta] > media
  incrementa numero
  fim se
 fim para

fim </syntaxhighlight>

Codigo Programaçao C

#include <stdio.h>

main()
{
	int i=0,am=0;
	int vet1[10];
	float media=0;
 
	for(i=0;i<10;i++) {
		printf("Entre com a nota %d => ",i+1);
		scanf("%d",&vet1[i]);
		media = media+vet1[i];
	}
	media = media/i;
	for( i=0;i<10;i++) {
		if (vet1[i]>media)
		am++;
	}
	printf("Media=%0.1f. O número de notas acima da média é %d.\n",media,am);
}

Modificar Para achar menor e menor nos numeros digitados

  • Coloquei o valor em uma variavel
//Codigo Jeferson
#include <stdio.h>

main()
{
        int i=0,am=1500,maior,menor;
        int vet1[10];


        for(i=0;i<10;i++) {
                printf("Entre com a nota %d => ",i+1);
                scanf("%d",&vet1[i]);
                //media = media+vet1[i];
                }
        maior=menor=vet1[0];
        for( i=0;i<10;i++) {
                if (vet1[i]>maior)
                maior = vet1[i];
                if (vet1[i]<menor)
                menor = vet1[i];
        }
        printf("Menor=%d. O Maior=%d\n",menor,maior);
}
  • Foi mostrado o a posição do maior através do vet1[maior] *Professor*
#include <stdio.h>

main()
{
        int i=0,am=1500,maior=0,menor=0;
        int vet1[10];


        for(i=0;i<10;i++) {
                printf("Entre com a nota %d => ",i+1);
                scanf("%d",&vet1[i]);
                //media = media+vet1[i];
                }

        for( i=0;i<10;i++) {
                if (vet1[i]>vet1[maior])
                maior = i;
                if (vet1[i]<vet1[menor])
                menor = i;
        }
        printf("Menor=%d. O Maior=%d\n",vet1[menor],vet1[maior]);
}

Declarações do Vetor

  • Definindo e usando vetores no C

Colocando em posições ex: int x[10] = {2,4,7,-5,3,2,3,4,9,10};

  • Passando vetores em parametro.
int soma (int a, int b)
{
int aux;
aux = a + b; 
return aux;
}
void main()
{
soma (1,2);
}
// passando um valor como parametro. EX:
aux[0]=2;
aux[1]=4;
aux[5]=3;
  • Passando vetores como parâmetros

Vetores não são copiados na passagem por parâmetro. Eles são passados sempre como referência. Veja o exemplo a seguir:

#include <stdio.h>
 
void ler_vet(int aux[5])
{
  int i;
 
  for (i=0;i<5;i++) {
     printf("aux[%d] <== ",i);
     scanf("%d",&aux[i]);
  } 
}
 
main()
{
   int vet[5], i;
 
   ler_vet(vet);
   for (i=0;i<5;i++)
      printf("vet[%d]=%d\n",i,vet[i]);
}

Exercícios de Análise Aula 12/03/15

Analisar e inferir a saída dos programas abaixo.

(a) Valor de i ao final do programa ____

#include <stdio.h>

main()
{
  int i;

  for (i=0;i<10;i++) {
     if (i==8)
        break;
  }
  printf("Valor de i = %d\n",i);
}

(b) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j;

  for (i=0;i<10;i++) {
     j=i;
     if (j=5)
        break;
  }
  printf("Valor de i = %d j = %d\n",i,j);
}

(c) Valor de i ao final do programa ____

#include <stdio.h>

main()
{
  int i;

  for (i=0;i<10;i++) {
     if (i==5) {
        i=11;
        continue;
     }
  }
  printf("Valor de i = %d\n", i);
}

(d) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2;

  for (i=0;i<10 && j==5;i++) {
     j++;
  }
  printf("Valor de i = %d e j %d\n",i,j);
}


(e) Valor de i e j ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2;

  for (i=0;i<2;i++) {
     j=i;
     do {
       j++; 
     } while(j<3);
  }
  printf("Valor de i = %d e j %d\n",i,j);
}

(f) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2,k=1;

  for (i=0;i<2;i++) {
     j=j+2;
     if (j==4) {
        k++;
     } else {
        if (j==5) 
           k=k+100;
     }
  }
  printf("Valor de k é %d\n",k);
}

(g) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i,j=2,k=10;

  for (i=0;i>2;i++) {
     j=j+2;
     if (j==4 && j<=5) {
        k++;
     } else {
        if (j==5) 
           k=k+100;
     }
  }
  printf("Valor de k é %d\n",k);
}

(h) Valor de k ao final do programa ____

#include <stdio.h>

main()
{
  int i=5,j=2,k=10;

  for (i=0;i<3;i++) {
     j=0;
     while(j<2) {
         j++;
         if (j==1);
            k++;
     }
  }
  printf("Valor de k é %d\n",k);
}

(i) Valor de k ao final do programa ____

#include <stdio.h>

int alfa (int x)
{
  if (x<=3)
     return -1;
  else
     return 0;
}

main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1)
          k++;
  }
  printf("Valor de k é %d\n",k);
}

(j) Valor de k ao final do programa ____

#include <stdio.h>
 
int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1)
          k++;
  }
  printf("Valor de k é %d\n",k);
}

(k) Valor de k ao final do programa ____

#include <stdio.h>


int beta (int x)
{
  if (x==1)
     return 1;
  else
     return 0;
}

int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1 && beta(i))
          k++;
  }
  printf("Valor de k é %d\n",k);
}


(l) Valor de delta ao final do programa ____

#include <stdio.h>

int delta=10;

int beta (int x)
{
  delta++;
  if (x==1)
     return 1;
  else
     return 0;
}

int alfa (int x)
{
  if (x==0 || x==2)
     return -1;
  else
     return 0;
}
 
main()
{
  int i,k=1;
 
  for (i=0;i<3;i++) {
      if (alfa(i)==-1 && beta(i))
          k++;
  }
  printf("Valor de delta é %d\n",delta);
}

(m) Valor de soma ao final do programa ____

#include <stdio.h>

int alfa (int x, int y, int w)
{
 if (x==(y+1)) {
     w--;
     return x*w; 
 } else {
     x++;
     return x*y;
 }
}
 
main()
{
  int i,soma=0;
 
  for (i=0;i<2;i++) {
      soma = soma + alfa(i,i+1,i+2);
  }
  printf("Valor de soma é %d\n",soma);
}

(n) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int i,j,k,soma=0, delta=0;
 
  j=0;
  for (i=0;i<2;i++) {
     for (;j<2;j++) {
        soma = soma + 1;
        delta = delta + soma * 2;
     }
  }
  printf("Valor de delta é %d\n",delta);
}

(o) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int alfa,beta,gama,delta=0;
 
  alfa = 11;
  beta = 5;
  gama = 1;
  delta = (alfa%2) + (gama>beta) + (beta==5);
  printf("Valor de delta é %d\n",delta);
}

(p) Valor de delta ao final do programa ____

#include <stdio.h>

main()
{
  int alfa,beta,gama,delta=0;
 
  alfa = 11;
  beta = 5;
  gama = 1;
  delta = (alfa%2) + (beta=5) + (gama>beta);
  printf("Valor de delta é %d\n",delta);
}

(q) O valor de delta no programa abaixo é: _______

#include <stdio.h>

int delta=1;
 
int alfa (int x)
{
  delta=5;
  return delta
}
 

main()
{
  int i=1;
 
  if (i==1 || alfa()==5)
       delta++;
  printf("Valor de delta é %d\n",delta);
}



<< Lista Ex1 >>

Outros