Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-03-2006, 23:20   #1
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
[C++]tutorial su liste, a livello di informatica 1

ciao a tutti!
tra qualche giorno ho l'esame di fondamenti di informatica 1, ed ho un grosso problema perchè ho lasciato il manualone di c++ a casa di un mio amico e non posso andarlo a riprendere (firenze, ed io sono ad aq...).

siccome ho qualche problemino per le liste volevo chiedere se qualcuno di voi conosce un qualche tutorial livello base per queste: so che in rete se digito liste c++ trovo sto mondo e quell'altro, ma io sto preparando informatica 1, quindi di template, classi e altra roba non so niente, e la sintassi del c++ che conosco è davvero limitata (primo esame di informatica...).

potete aiutarmi? le cose che devo riuscire a fare sono le classiche: saltare un elemento, aggiungere un elemento in testa/coda, stampare una lista al contrario o solo elementi con determinati paramentri....


grassie a chiunque mi aiuterà
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 00:20   #2
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
Scusami, forse sarebbe utile una piccola chiarificazione su cosa intendi per "liste":
1) utilizzo delle STL std::list
2) devi creare tu le funzioni per l'allocazioe/de-allocazione degli elementi, gestire i singoli nodi della lista


Questo giusto per capire se ti serve un tutorial sull'uso delle STL (Standard Template Library) oppure un qualcosa di piu' generico sulle strutture dati in generale.

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 01:36   #3
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
mmm direi la seconda...metto un esempio di programma del tipo carica lista stampa lista

Quote:
#include<iostream>
#include<stdlib.h>
using namespace std;

struct elemento {
int valore;
elemento *succ;
};

int main ()
{
elemento *p;
elemento *p1;
int dim;

p=new elemento;
p1=p;

cout<<"inserisci la grandezza della lista ";
cin>>dim;
cout<<"inserisci il valore dell'elemento 0 ";
cin>>p1->valore;
for (int i=1; i<dim; i++)
{
p1->succ=new elemento;
p1=p1->succ;
cout<<"inserisci il valore dell'elemento "<<i<<" ";
cin>>p1->valore;
}

p1->succ=NULL;
p1=p;

cout<<"gli elementi inseriti sono: "<<endl;
while (p1!=NULL)
{
cout<<p1->valore<<" ";
p1=p1->succ;
}
system ("pause");
return 0;
}
per lista intendo uno struct del quale il primo campo è un campo qualsiasi (char, string, int, un altro struct, insomma qualsiasi cosa) ed il secondo campo è un puntatore del tipo elemento, dove elemento è proprio lo struct che ho creato.

il puntatore p è il puntatore che mi serve per memorizzare il primo oggetto (lo chiamo così perchè le parola "elemento", seppur adatta, porterebbe alla confusione col nome della struct) della lista, mentre il puntatore p è il puntatore che, di volta in volta, punta ad i vari oggetti della lista...

sono riuscito a spiegarmi?

ps le stl non so neanche cosa siano... ma è sicuro qualcosa che, al momento, non devo studiare (e questo mi basta )
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 01:57   #4
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
OK, capito. Guardo se nei miei bookmark c'e' qualcosa che ti puo' essere utile (ma ahime' non credo)

Per le STL: sono una libreria di contenitori vari (tra cui le liste) che fanno uso dei template.

In pratica hai gia' le liste belle e pronte (e non solo le liste) con tutte le loro funzioncine per "maneggiarle".

Ad esempio, supponi di avere fatto la classe CPersona che contiene come attributi i dati anagrafici: sedevi creare una dista di persone ti bastera' dichiarare

std::list<CPersona> listaPersone;

e ovviamente hai tutti i metodi per aggiungere/togliere elementi dalla lista.
Altra cosa utilissima sono gli iteratori che ti permettono di "scorrere" tutti gli elementi della lista (ma esistono anche per tutti gli altri contenitori messi a disposizione dalle STL) e di operare su questi.

E ancora STL mettono a disposizione metodi per eseguire una determinata operazione su tutti gli elementi di una lista, evitandoti cosi' di scrivere il solito ciclo di scorrimento e di richiamo dell'operazione sul singolo elemento.

Insomma: nella programmazione "seria" SONO DA USARE. Capisco che ora tu abbia solo interessi "studenteschi" (leggi: superare l'esame) ma mi sembrava comunque giusto dirti della loro esistenza (anche se trovo grave che un corso sul C++ non affronti l'argomento... Oppure hai saltato qualche lezione? :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 02:29   #5
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nono, guarda io voglio approfondire ed imparare per bene...ma ora l'obbiettivo è l'esame
stl e classi ancora non le affronto...ma perchè non sono in programma!
sto facendo ingegneria informatica, primo anno, e questo è il primo esame di infromatica che c'è, quindi ce ne sarà di tempo per fare il resto...

ps se vuoi renderti conto di quale sia il programma per capire le mie "esigenze" ti posto il programma del corso

Quote:


Fondamenti di informatica I (corso di laurea in Ingegneria Informatica - Automatica)

Docenti: Eliseo Clementini

Collegamenti culturali e finalità del corso

Il corso è finalizzato all'acquisizione dei concetti fondamentali dell'informatica, senza trascurare gli aspetti sperimentali della disciplina e la sua applicazione immediata. Si inizia con una descrizione del sistema informatico nella sua interezza, dalla rappresentazione dell'informazione ai software applicativi, per poi concentrarsi sulle tecniche di programmazione ad alto livello, con lo scopo di far maturare negli studenti l'abilità a progettare programmi e metterli in grado allo stesso tempo di utilizzare in maniera attenta e consapevole il software già esistente. Il linguaggio di riferimento sarà il C++, anche se i concetti presentati nel corso sono indipendenti dal linguaggio e facilmente applicabili in qualsiasi linguaggio imperativo come C o Pascal. Il corso è propedeutico per seguire il corso di Fondamenti di Informatica II.
Programma

1. Architettura dei sistemi informatici ([1], cap. 1-2).
Processi e processori. Problemi, algoritmi e programmi. Linguaggi di programmazione. Hardware e software: descrizione e classificazione. Architettura del calcolatore. Modello di von Neumann. Sistemi numerici posizionali a base fissa. Conversioni di base. Rappresentazione di numeri negativi in modulo e segno e in complemento a due. Rappresentazione di numeri reali in virgola mobile normalizzata. Codice ASCII. Algebra di Boole e principali funzioni logiche. Ambienti di programmazione Dev-C++ e Borland C++ Builder.

2. Elementi di programmazione ([1], cap. 1-2).
Sviluppo di algoritmi. Concetto di variabile. Operazioni elementari: lettura, scrittura, assegnazione e confronto. Diagrammi di flusso. Pseudo-codice. Struttura di controllo se-allora-altrimenti. Cicli con pre-condizione e post-condizione. Strutture di controllo finché-esegui e esegui-finché. Progettazione di algoritmi con cicli. Controllo sui dati di input. Traduzione in C++. Costrutti base del C++. Struttura di un programma. Parte dichiarazioni e parte istruzioni. Dichiarazione di variabili. Classificazione dei tipi. Tipi semplici, rappresentazione interna e operazioni. Espressioni numeriche e condizionali. Istruzione di assegnazione. Istruzione composta. Selezione binaria. Funzioni standard di ingresso/uscita. Istruzioni cicliche (WHILE, DO-WHILE, FOR). Costruzione di cicli annidati. Selezione n-aria.

3. Programmazione con tipi strutturati ([1], cap. 3, escluso 3.5 e 3.6; cap. 6; cap. 7, fino a 7.4).
Tipo array: definizione e rappresentazione in memoria. Dichiarazioni di tipo con typedef. Programmi su vettori. Array bidimensionali. Programmi su matrici. Tipo string. Tipo struct. Tipo file. Primitive per la gestione sequenziale dei files.

4. Aspetti avanzati di programmazione ([1], cap. 4, escluso 4.3.4; cap. 8, escluso 8.4 e 8.6; cap. 9, fino a 9.2.4).
Sottoprogrammi. Progettazione top-down. Parametricità. Dichiarazione di funzioni. Variabili globali. Variabili locali. Parametri formali e attuali. Passaggio di parametri per riferimento e per valore. Uso della memoria. Ciclo di vita delle variabili. Visibilità delle variabili. Mascheramento di variabili. Ricorsione. Gestione statica e gestione dinamica della memoria. Tipo puntatore. Operazioni con puntatori: assegnazione, new, delete, riferimento, dereferenziazione. Costante null. Uso dei puntatori. Creazione dinamica di array. Similitudine tra array e puntatori. Creazione dinamica di matrici. Strutture collegate in memoria dinamica. Liste collegate con puntatori. Programmi su liste collegate.
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 19:50   #6
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
nessuno mi aiuta?

l'esame è mercoledì... e lunedì ho pure fisica
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2006, 21:55   #7
mr_hyde
Senior Member
 
Iscritto dal: Nov 2005
Città: Genova
Messaggi: 937
Visto quello che hai scritto direi che ti servono 2 tipi di corsi/guide:
1) sulla sola sintassi C++ (insomma, il C++ di base)
2) su algoritmi e strutture dati.

Per il primo tipo ho trovato

http://www.math.unipd.it/~sperduti/C...orso%20C++.htm

(occhio pero': mi sembrava di aver visto esempi con una versione di C++ "datata")

Per il secondo tipo:
http://www.alessioluffarelli.it/guid...eri_binari.php (per gli alberi binari, nel caso prima o poi ne avessi bisogno)

Un po' di tutto:
http://programmiamo.blogspirit.com/a...ammazione.html

Questi li ho semplicemente trovati con google cercando "tutorial strutture dati".
Non voglio bacchettarti: capisco che nel tuo caso forse non sai ancora quali sono i termini da usare per le ricerche.
Spero comunque che 'sta roba ti possa essere utile (certo che anche tu dare fisica attaccato a fondamenti... :-) )

Ciao,
Mr Hyde
__________________
MacMini Late 2009/MacMini 2018
mr_hyde è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2006, 10:07   #8
casacup
Senior Member
 
Iscritto dal: Feb 2006
Città: AQ
Messaggi: 2787
eheh... purtroppo non sono io che decido, nella sessione di marzo ci sono due appelli per tre esami, ed analisi ho bisogno di un pò + di tempo per studiarmela


cmq grazie mille per le info, questa sera mi spulcio un pò sti link e ti faccio sapere

ps gli alberi binari credo siano di informatica due...
__________________
Acer 3820TG
Codice:
Ho venduto a: 23answer23, clamasa, salsero71, nik4, lollo_79, Star, krystis, tari80, BananaFlanders, froZZen, Perfavore83, Holy_knight; Ho comprato da: kikki2, ThE cX MaN, PantWeb, robby85, aldarev, markese, Drago, NLDoMy, Hells, Dragonx21, axlaxl, Homer314, e tanti tanti altri :)
casacup è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
La nuova Xiaomi SU7 è pronta: nuo...
Gli agenti IA di Google entrano in servi...
Sconti sulle low cost: 2 scope elettrich...
DDR5 oltre i 10.000 MT/s: ecco le schede...
Questi elettrodomestici vanno a ruba su ...
Il trailer di lancio di Crimson Desert m...
Auto elettriche più economiche? I...
Le 10 offerte di Primavera Amazon su cui...
Amazon svende i robot aspirapolvere: Dre...
L'ex capo di Windows ha elogiato il MacB...
Se manca questo gas, le fabbriche di chi...
NVIDIA celebra 25 anni di GeForce 3: per...
Leapmotor B10: arrivano Android Auto e A...
La missione Artemis II con il razzo spaz...
Blue Origin propone di utilizzare Blue R...
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: 09:29.


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