Alguém poderia me ajudar com dois trabalhos ?
Agradeço desde já.
Códigos necessários pra fazer o trabalho 2:
lista.c
#include <stdlib.h>
#include <stdio.h>
#include "lista.h"
Lista* inicializa() {
return NULL;
}
Lista* insere(Lista* inicio, int inserido) {
// Cast -> conversão simples.
Lista* novo = (Lista*) malloc(sizeof(Lista));
novo->info = inserido;
novo->prox = inicio;
return novo;
}
Lista* inserePosicao(Lista* inicio, int inserido, int posicao) {
if(posicao == 0) {
printf("\nPara inserir no começo da lista, use a função insere!\n\n");
return NULL;
}
Lista* novo = (Lista*) malloc(sizeof(Lista));
Lista* aux = inicio;
int posicaoAtual = 0;
while(posicaoAtual != (posicao-1)) {
aux = aux->prox;
posicaoAtual++;
}
novo->info = inserido;
novo->prox = aux->prox;
aux->prox = novo;
return novo;
}
lista.h
#ifndef LISTA_H_INCLUDED
#define LISTA_H_INCLUDED
// LISTA SEM CABEÇALHO
struct lista {
int info;
struct lista *prox;
};
typedef struct lista Lista;
Lista* inicializa();
Lista* insere(Lista* inicio, int inserido);
Lista* inserePosicao(Lista* inicio, int inserido, int posicao);
#endif // LISTA_H_INCLUDED
main.c
#include <stdio.h>
#include <stdlib.h>
#include "lista.h"
int main()
{
Lista* notas = inicializa();
notas = insere(notas, 7);
notas = insere(notas, 8);
notas = insere(notas, 10);
Lista* novoElemento = inserePosicao(notas, 5, 2);
return 0;
}