---
# System prepended metadata

title: Lista 1 - Estrutura de Dados 1 - Daphne Spier

---

# Lista 1 - Estrutura de Dados 1 - Daphne Spier



````c=
#include <stdio.h>
#include<stdlib.h>

int main (void)
{
    printf("\n\nUniversidade Federal do Parana \n");
    printf("Tecnologia em Analise e Desenvolvimento de Sistemas\n");
    printf("Estrutura de Dados 1\n");
    printf("Daphne Spier Moreira Alves\n");
    printf("GRR20204455\n\n");
    printf("Exercicio 1 - Construir tela inicial\n");
    printf("--------------------------------------------------------------------- \n");
    printf("Exercicio 2 - Escreva um programa que declare um inteiro, um real e um char, e ponteiros para estas variaveis. Associe as variaveis aos ponteiros. Modifique os valores de cada variavel usando os ponteiros. Imprima os valores das variaveis antes e apos a modificacao. \n\n");
        
    int i = 2, *pi;
    float r = 2.5, *pr;
    char c = 'A', *pc;
    
    pi = &i;
    pr = &r;
    pc = &c;
    
    printf("i = %d, r = %2f, c = %d\n", i, r, c);
    
   (*pi)++;
   (*pr)++;
   (*pc)++;
    
    printf("i = %d, r = %2f, c = %d\n", i, r, c);
    
    printf("--------------------------------------------------------------------- \n");
    
    printf("Exercicio 3 - Escreva um programa que contenha duas variaveis inteiras. Leia-as do teclado. Em seguida, compare seus enderecos e exiba o conteudo do maior enderecos\n\n");
    
int comp, v1, v2, *p1 , *p2;

printf("Digite um numero inteiro:\n");
scanf("%d", &v1);

printf("Digite um numero inteiro:\n");
scanf("%d", &v2);
p1= &v1;
p2= &v2;
if (p1 < p2)
comp = v1;
else
comp = v2;
printf("A variavel que esta no maior endereco de memoria e: %d\n\n", comp);
    
    printf("--------------------------------------------------------------------- \n");

printf("Exercicio 4 - Crie um programa que contenha um array de inteiros com 5 elementos. Utilize ponteiros pare realizar a leitura do array via teclado. Apos isto, percorra novamente este primeiro array  com  o  ponteiro  e  faca  com  que  um  segundo  array  receba  cada  elemento  do primeiro. \n\n");
    
    int Vetor1[5], Vetor2[5], x;
    int *ptr = Vetor1;
    printf("Digite um numero para preencher o primeiro array:\n");
    for (x = 0; x < 5; x++) {
        scanf("%d", ptr);
        printf("Array 1 [%d] = %d\n\n", x, Vetor1[x]);
        if (x < 4) {
            printf("Digite outro numero:\n");
        }
        ptr++;
    }
    printf("Copiando os valores para um segundo array:\n");
    ptr = &Vetor1;
    for (x = 0; x < 5; x++) {
        Vetor2[x] = *ptr;
        printf("Array 2 [%d] = %d\n\n", x, Vetor2[x]);
        ptr++;
    }
    
    printf("--------------------------------------------------------------------- \n");
    
    printf("Exercicio 5 - Crie um programa que contenha um array contendo 5 elementos inteiros. Leia esse array do teclado e imprima o endereco das posicoes contendo valores pares. \n\n");
    
     int vet[5], cont=1;

    for(cont = 1; cont <= 5; cont++)
    {
      printf("Digite 1 numero:\n");
      scanf("\n %d", &vet[cont]);
    }


   for(cont = 1; cont<=5; cont++){
    if(vet[cont]%2==0){
        printf("\n %p", &vet[cont]);
    }
    else{
        printf("\n\nCondicao nao satisfeita\n");
    }
   }
   
    printf("--------------------------------------------------------------------- \n");
       
       printf("Exercicio 6 - Crie um programa que contenha uma matriz de float contendo 3 linhas e 3 colunas. Percorra a matriz com um ponteiro imprima o endereco e o valor de cada posicao dessa matriz. \n\n");
  
    float matriz[3][3]={
    {1.1, 1.2, 1.3},
    {2.1, 2.2, 2.3},
    {3.1, 3.2, 3.3}
    };

   float *pont = &matriz;


  for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++)
        {
            printf("\n %d %.1f", pont, *pont);
            pont++;
        }
  }

return 0;
}



````

![](https://i.imgur.com/xvEmGI4.jpg)

![](https://i.imgur.com/fWs7Hzh.jpg)

![](https://i.imgur.com/2fwTGfE.png)

![](https://i.imgur.com/K8W32cg.png)

