Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Liste inlantuite
Last Updated: Sep 18 2018 18:52, Started by
Omega_Prog
, Sep 17 2018 22:26
·
0
#1
Posted 17 September 2018 - 22:26
Buna, am de eliminat un nod din lista. Poftim codul fara eliminare:
#include <iostream> #include <conio.h> using namespace std; struct nod // Declararea structurii unui nod al listei { int inf; nod* urm; }; typedef struct nod* Lista; Lista Prim, p; int x; void Adaug(Lista& Prim, Lista p, int x) // Inserarea unui nou nod { Lista q = new nod; q->inf = x; if (!p) { q->urm = Prim; Prim = q; } else { q->urm = p->urm; p->urm = q; } } void Afisare(Lista Prim) // Parcurgerea listei cu ĂŽnceputul indicat de pointerul Prim { Lista v; for (v = Prim; v; v = v->urm) cout << v->inf << " "; cout << endl; } void Elimin(Lista& Prim, Lista p) // Stergerea unui nod din lista { Lista q; if (p) { q = p->urm; if (q) { p->urm = q->urm; delete q; } } else { q = Prim; if (q) { Prim = Prim->urm; delete q; } } } void DelPar(Lista Prim) // Determinarea numerelor pare din câmpurile inf ale nodurilir { Lista v; v = Prim; while (v->urm) { if (v->urm->inf % 2 == 0 && v != NULL) Elimin(Prim, v); else v = v->urm; } } int main() { cout << "Crearea unei liste pana la citirea valorii 0" << endl; cout << "dati un numar:"; cin >> x; while (x) // Depunerea numerelor citite de la tastatură ĂŽn lista nou creată { Adaug(Prim, NULL, x); cout << "dati un numar:"; cin >> x; } cout << "Lista initiala:" << endl; Afisare(Prim); cout << endl; //Afisarea datelor din lista initiala 7 DelPar(Prim); Elimin(Prim, NULL); // Modificatea listei iniţiale cout << "Lista modificata:" << endl; Afisare(Prim); cout << endl; //Afisarea datelor din lista modificata getch(); return 0; } si am aceasta conditie: Scrieţi o funcţie cu un singur parametru (adresa primului nod dintr-o listă simplu ĂŽnlănţuită) care să şteargă din lista specificată toate nodurile care au ca informaţie valoarea 0. Dupa ideie codul asta ar trebui sa mearga void Elimin(Lista& Prim, Lista p) // Stergerea unui nod din lista { Lista q; if (p) { q = p->urm; if (q) { p->urm = q->urm; delete q; } } else { q = Prim; if (q) { Prim = Prim->urm; delete q; } } }dar nu pot sa-l adaptez sub codul meu, ajutati-ma va rog.
Edited by dani.user, 18 September 2018 - 18:30.
|
#2
Posted 17 September 2018 - 23:08
De ce nu folosesti debuggerul sa vezi comportamentul programului, variabilele ce valori iau.. etc. E de mare ajutor.
|
#3
Posted 17 September 2018 - 23:24
1. Foloseste tag-urile pentru postarea codului (nu se intelege nimic, comentariile par aparute din cer, e imposibil de descifrat).
2. Ce nu iese, mai exact? Ce nu poti adapta? Intelegi ce face codul, precum si logica din spatele lui? |
#4
Posted 17 September 2018 - 23:26
GlontzZz, on 17 septembrie 2018 - 23:24, said:
1. Foloseste tag-urile pentru postarea codului (nu se intelege nimic, comentariile par aparute din cer, e imposibil de descifrat). 2. Ce nu iese, mai exact? Ce nu poti adapta? Intelegi ce face codul, precum si logica din spatele lui? |
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users