Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-10-2005, 20:14   #1
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
[C]Esercizio con Liste

Salve a tutti...
Devo fare un esercizio con le liste che consiste nel cancellare tutti i numeri pari della lista.
In pratica se ho una lista di questo genere:
6 3 2 1
Deve risultare:
3 1
Il secondo consiste nel, date due liste, vedere se un elemento della lista 1 appartiene alla lista 2.
Chi mi puo' aiutare?
Primo: (nn ho proprio idea di dove partire per cancellare un elemento)

Codice:
#include <stdio.h>
#include <malloc.h>

using namespace std;

struct nodo 
{
	int info;
	nodo* next;
};

nodo* Crea_lista();
void Visualizza_lista(nodo*);
void Elimina(nodo*);

int main()
{
	nodo* lista=NULL; //creo la lista
    lista=Crea_lista();
    Visualizza_lista(lista);
	Elimina(lista);
	Visualizza_lista(lista);
	fflush(stdin);
	getchar();
	return 0;
}

nodo* Crea_lista()
{
	nodo *p,*punt;
	int i,n;
	printf("\nNumero elementi lista: ");
	scanf("%d",&n);
	if(n==0)
	{
		p=NULL;
        
	}
    else
    {
        //inserimento del primo valore
        p=(nodo*)malloc(sizeof(nodo));
        printf("\nInserisci il primo valore");
        scanf("%d",&p->info);
        punt=p;
    }
    for(i=2;i<=n;i++)
    {
        punt->next=(nodo*)malloc(sizeof(nodo));
        punt=punt->next; //scorri
        printf("\nInserisci il %d elemento: ",i);
        scanf("%d",&punt->info);
    }
    punt->next=NULL; 
	return p;
}

void Visualizza_lista(nodo* lista)
{
    printf(" Lista---> ");
	while(lista!=NULL)
	{
        printf("%d",lista->info);
		printf(" ---> ");
		lista=lista->next;
	}
    printf("NULL\n\n");
    getchar();
}

void Elimina(nodo* lista)
{
	nodo* scorri=lista;
    printf("LOL");
    while(scorri!=NULL)
	{
		if(scorri->info%2==0)
		{
			printf("Trovato elemento pari, eliminazione in corso");
			scorri=scorri->next;
			free(scorri);
			lista->next=scorri->next; 
		}
		scorri=scorri->next;
	}
}


L'altro l'ho risolto cosi' (metto solo la funzione che confronta)

Codice:
int Confronta(nodo* lista,nodo* lista2)
{
	nodo* scorri1;
	nodo* scorri2;
	scorri1=lista;
	scorri2=lista2;
	while(scorri1!=NULL)
	{
        while(scorri2!=NULL)
        {
        	if(scorri2->info==scorri1->info)
                return scorri1->info;
            scorri2=scorri2->next;
        }
        scorri1=scorri1->next;
	}
return -1;
}


Grazie a chi mi vorrà aiutare
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2005, 11:18   #2
-Yara-
Senior Member
 
L'Avatar di -Yara-
 
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
up
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school
Wind FTTE Vula 100/20 - Stats
Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX
-Yara- è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2005, 19:06   #3
Qu@ker
Member
 
Iscritto dal: Apr 2004
Messaggi: 130
Ma gli esercizi non dovresti farteli da solo?
Codice:
#include <stdio.h>
#include <stdlib.h>

typedef struct nodo {
	int info;
	struct nodo* next;
} nodo;

nodo* creaLista()
{
	nodo *root = NULL, *corrente;
	int i, n;
	fputs("\nNumero elementi lista: ", stdout);
	fflush(stdout);
	scanf("%d", &n);
	if (n > 0) {
		corrente = root = malloc(sizeof(nodo));
		fputs("\nInserisci il 1 elemento: ", stdout);
		fflush(stdout);
		scanf("%d", &corrente->info);
    		for(i = 1; i < n; i++) {
    			corrente->next = malloc(sizeof(nodo));
    			corrente = corrente->next;
    			printf("\nInserisci il %d elemento: ", i+1);
			fflush(stdout);
    			scanf("%d", &corrente->info);
    		}
    		corrente->next = NULL; 
    	}
	return root;
}

void visualizzaLista(nodo* lista)
{
	fputs("Lista: ", stdout);
	for (; lista; lista = lista->next)
        	printf("(%d)-->", lista->info);
	puts("(NULL)\n");
}

void eliminaNodiPari(nodo** lista)
{
	nodo *corrente, *precedente;
	while ((*lista)->info % 2 == 0) {
		nodo *tmp = *lista;
		*lista = (*lista)->next;	
		free(tmp);
	}
	precedente = *lista;
	corrente = precedente->next;
	while (corrente) {
		if (corrente->info % 2 == 0) {
			nodo *tmp = corrente;
			precedente->next = corrente->next;
			corrente = corrente->next;
			free(tmp);
		} else {
			precedente = corrente;
			corrente = corrente->next;
		}
	}
}

int main(void)
{
	nodo *lista = creaLista();
	visualizzaLista(lista);
	eliminaNodiPari(&lista);
	visualizzaLista(lista);

	return 0;
}
Ma il tag spoiler non funziona con tag annidati?

Ultima modifica di Qu@ker : 24-10-2005 alle 19:09.
Qu@ker è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Oppo Find X10, X10 Pro Max e X10 E: conf...
Dal microscopio all'IA: un cervello di i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v