Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

viciado

Exercício

Recommended Posts

Achei esse exercício sobre estrutura de dados. Alguém entendeu o que tem que fazer ?

 

Declare um tipo bancoDeMem, baseado em vetores de nodos e de cursores, adotando, inicialmente, três vetores: INFO, de elementos do tipo elemento, para os nodos a serem alocados; PROX, de elementos do tipo int, para os elos do usuário; e NEXT, de elementos do tipo int, para o elo de organização do próprio banco de memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você esta começando agora, tem ctz q num qr um + "facinho"?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Declare um tipo bancoDeMem (declarar um tipo), baseado em vetores de nodos e de cursores, adotando, inicialmente, três vetores (o tipo declarado tem 3 vetores)

 

 

Elementos do tipo declarado:

 

INFO, de elementos do tipo elemento, para os nodos a serem alocados

PROX, de elementos do tipo int, para os elos do usuário;

NEXT, de elementos do tipo int, para o elo de organização do próprio banco de memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como posso criar um tipo elemento ?

O que é nodos a serem alocados ?

O que são elos do usuário ? O que é elo de organização do banco de memória ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não sabe o que o exercício quer (porque é você quem está lendo a apostila/tutorial/material de referência), não espere que alguém aqui saiba. Provavelmente elo = link e o negócio foi escrito em Portugal.

 

As coisas fazem sentido dentro de um contexto. Se já foi demonstrado o que é o 'tipo elemento' ou o que vem a ser um nodo na aplicação, você é capaz de fazer o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vo seguir o conselho do quit vo tentar um mais fácil.

 

Criar um tipo de dado ponto e fazer algumas operações com ponto.

 

Obtive erros nas linhas: 10, 20, 22, 25, 34 e 37

 

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

typedef struct ponto_
		{
			   float x,y;
			   }ponto;
float cria(ponto x, ponto y){
	 float v[1];
	 v = { x, y };
	 return v;
}
void compara(float *v1, float *v2){
	 if(v1[0] == v2[0] && v1[1] == v2[1]){
				 printf("Pontos iguais \n");
								}
	 else
		  printf("Pontos diferentes \n");	
}
float modifica(float *v){
	  float x, y;
	  float v[1];
	  printf("Digite as coordenas de x e y do ponto \n");
	  scanf("%f %f",&x, &y);
	  v[1] = {x,y};
	  return v;
}			
int main()
{
  float x1, x2, y1, y2;
  float v1[1], v2[1], v3[1];
  printf("Cria o primeiro ponto \n");
  scanf("%f %f",&x1, &y1);
  v1[1] = cria(x1,y1);
  printf("Cria o primeiro ponto \n");
  scanf("%f %f",&x2, &y2);
  v2[1] = cria(x2,y2);
  printf("Ponto 1: (%f, %f) \n",v1[0], v1[1]);
  printf("Ponto 2: (%f, %f) \n",v2[0], v2[1]);
  compara(v1, v2);
  printf("Modificar ponto 1 \n");
  v3[1] = modifica(v1);
  printf("Ponto 1 modificado: (%f, %f) \n",v3[0], v3[1]);
  system("PAUSE");	
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

E onde entra a variável Ponto nessa história?

 

Pra falar a verdade, o que você está fazendo nesse código?

 

 

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

typedef struct {
float x,y;
}ponto;


void compara(ponto p1,ponto p2){
if(p1.x == p2.x && p1.y == p2.y)
	printf("Pontos iguais \n");
else
	printf("Pontos diferentes \n");	
}


void modifica(ponto *p){
float x, y;
printf("Digite as coordenas de x e y do ponto \n");
scanf("%f %f",&x, &y);
p->x = x;
p->y = y;
}			



int main()
{
ponto p1,p2;
printf("Cria o primeiro ponto \n");
scanf("%f %f",&p1.x, &p1.y);

printf("Cria o segundo ponto \n");
scanf("%f %f",&p2.x, &p2.y);

printf("Ponto 1: (%f, %f) \n",p1.x,p1.y);
printf("Ponto 2: (%f, %f) \n",p2.x,p2.y);

compara(p1,p2);
printf("Modificar ponto 1 \n");
modifica(&p1);
printf("Ponto 1 modificado: (%f, %f) \n",p1.x,p1.y);

return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda, não conhecia atribuição

p->x = x;
eu penso que é o mesmo que
(*p).x = x;

Fiz mais uma função para calcular a distância entre os pontos. Acho que não tem mais operações interessantes para fazer com ponto

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

typedef struct {
	float x,y;
}ponto;


void compara(ponto p1,ponto p2){
	if(p1.x == p2.x && p1.y == p2.y)
		printf("Pontos iguais \n");
	else
		printf("Pontos diferentes \n");	
}


void modifica(ponto *p){
	float x, y;
	printf("Digite as coordenas de x e y do ponto \n");
	scanf("%f %f",&x, &y);
	p->x = x;
	p->y = y;
}			
float distancia(ponto p1, ponto p2){
	  float d;
	  d = sqrt( pow( (p1.x - p2.x), 2) + pow( (p1.y - p2.y), 2));
	  return d;
} 

int main()
{
	ponto p1,p2;
	printf("Cria o primeiro ponto \n");
	scanf("%f %f",&p1.x, &p1.y);
	
	printf("Cria o segundo ponto \n");
	scanf("%f %f",&p2.x, &p2.y);

	printf("Ponto 1: (%f, %f) \n",p1.x,p1.y);
	printf("Ponto 2: (%f, %f) \n",p2.x,p2.y);

	compara(p1,p2);
	printf("Distancia entre pontos: %f \n",distancia(p1,p2));
	printf("Modificar ponto 1 \n");
	modifica(&p1);
	printf("Ponto 1 modificado: (%f, %f) \n",p1.x,p1.y);
	system("PAUSE");
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.