Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

1. Escreva um programa que contenha duas variáveis inteiras. Compare seus endereços e exiba o maior endereço.*/
#include <stdio.h>
int main(){
 int x, y, *px, *py;
 printf("Digite dois numeros inteiros: ");
 scanf("%d%d",&x,&y);
	
	px = &x;
	py = &y;
	
 if(px>py)
 printf("\nEndereco de (x) %d = %p maior que o endereco de %d = %p",x,px,y,py);
 else
		printf("\nEndereco de (y) %d = %p maior que o endereco de %d = %p",y,py,x,px);
				
	return 0;
}
2. Crie um programa que contenha um array de float contendo 10 elementos. Imprima o endereço de cada posição desse array.*/
#include <stdio.h>
#define TF 10
int main(){
	float vet[TF] = {3.1,1.0,1.5,2.0,7.5,5.25,8.45,9.2,12.5,13.72};
	int i;
 
 	printf("\nVetor: ");
	for(i=0;i<TF;i++){	
		printf("%.2f ",vet[i]);
	}
	printf("\n\nEnderecos de cada posicao do vetor:\n");
 	for(i=0;i<TF;i++){
 	printf("[%d]: %.2f : %p\n",i, vet[i], vet+i);
 	} 
 	return 0;
}
3. Crie um programa que contenha uma matriz de float contendo 3 linhas e 3 colunas. Imprima o endereço de cada posição dessa matriz.*/
#include <stdio.h>
#define TF 3
int main() {
	float matriz[TF][TF] = {1.5, 2.1, 3.2, 4.0, 8.2, 6.7, 7.0, 8.6, 9.2};
	int i, j;
	
	printf("Matriz %dX%d:",TF,TF);
	for(i=0;i<TF;i++){
		printf("\n");
		for(j=0;j<TF;j++)
			printf("%.1f ", matriz[i][j]);
	}
	printf("\n\nMatriz %dX%d:\n",TF,TF);
	for(i=0;i<TF;i++)
		for(j=0;j<TF;j++)
			printf("[%d][%d]: %p\n",i,j,&matriz[i][j]);		
	return 0;
}
4. Escreva um programa que imprima um vetor de inteiros na ordem inversa endereçando os elementos com um ponteiro.*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TF 6
int main(){
 int vetor[TF], i, *p;
	srand(time(NULL));
 
	printf("Vetor: ");
 for(i=0;i<TF;i++){
 vetor[i] = 1 + rand() % 100;
 printf("%2d ", vetor[i]);
 }
 p = vetor + TF-1;
 
	printf("\nInverso: ");
 for(i=0;i<TF;i++){
 printf("%2d ", *(p--));
 }
 return 0;
}
5. Crie um programa que:
(a) Aloque dinamicamente um array de 5 números inteiros;
(b) Peça para o usuário digitar os 5 números no espaço alocado;
(c) Mostre na tela os 5 números;
(d) Libere a memória alocada.*/
#include <stdio.h>
#include <stdlib.h>
int main(){
 int i, *p;
 
 p = (int*)malloc(5 * sizeof(int));
	
	printf("Digite o valor de cada elemento do vetor de tamanho 5:\n");
 for(i=0;i<5;i++){
 printf("[%d]:",i);
 scanf("%d", &p[i]);
 }
 printf("\nVetor: ");
 for(i=0;i<5;i++){
 printf("%d ", p[i]);
 }
 free(p);
 return 0;
}
6. Faça um programa que leia uma quantidade qualquer de números armazenando-os na memmória e pare a leitura quando o usuário entrar com um numero negativo. 
Em seguida, imprima o vetor lido. Use a função REALLOC.
*/
#include <stdio.h>
#include <stdlib.h>
int main(){
	int i, *vetor, tam=0, num;
 
 vetor = (int *) malloc(sizeof(void));
 
	printf("Digite um numero (negativo para sair): ");
	scanf("%d", &num);
	while(num >= 0){
 vetor = (int *) realloc(vetor, (tam+1) * sizeof(int));
 if(!vetor)
 printf("Erro na alocacao de memoria!\n");
 vetor[tam++] = num;
 	printf("Digite um numero (negativo para sair): ");
		scanf("%d", &num);
 }
 printf("\nVetor: ");
 for(i=0;i<tam;i++)
 printf("%d ", vetor[i]);
 
 printf("\nTamanho alocado: %d\n", tam);
 
 free(vetor);
 return 0;
}
/*
7- Crie um programa que declare uma estrutura (registro) para o cadastro de alunos.
1. Deverão ser armazenados, para cada aluno: matrícula, sobrenome (apenas um) e ano do nascimento.
2. Ao início do programa, o usuário deverá informar o número de alunos que serão armazenados.
3. O programa deverá alocar dinamicamente a quantidade necessária de memória paraarmazenar os registros dos alunos.
4. O programa deverá pedir ao usuário que entre com as informações dos alunos.
5. Ao final, mostrar os dados armazenados e liberar a memória alocada.*/
#include <stdio.h>
#include <stdlib.h>
typedef struct{
 int matricula;
 char nome[50];
 int nasc;
}tpaluno;
int main(){
 int x, i;
 tpaluno *aluno;
 
	printf("Digite a quantidade de registros de alunos: ");
 scanf("%d", &x);
 
 aluno = (tpaluno*)malloc(x * sizeof(tpaluno));
 
 for(i=0;i<x;i++){
 	fflush(stdin);
		printf("\nSobrenome: ");
 scanf("%100[^\n]", aluno[i].nome);
 	printf("Numero de matricula: ");
 scanf("%d", &aluno[i].matricula);
 printf("Ano de nascimento: ");
 scanf("%d", &aluno[i].nasc);
 }
 printf("\nMatriculas: ");
 for(i=0;i<x;i++){
 printf("\nNumero de matricula %d \n", aluno[i].matricula);
 printf("Sobrenome: %s \n" , aluno[i].nome);
 printf("Ano de nascimento: %d\n" , aluno[i].nasc);
 }
 free(aluno);
 return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina