Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Renovare completa + pompa de cald...

Libre Office nu vad liniile

Modalitați amuzante și ...

O disparitie de ani buni, Acces D...
 Mancarea e scumpa

Parere achiziționare BMW G20

Schimbarea bateriei moderne la VA...

Rostschreck Lidl
 Si noi suntem Florin Piersic? / J...

Rascumparare euroobligatiuni (pri...

Detartraj partial slatina

Cu ce pot izola fonic peretii pen...
 Telefon cu senzor compass BUN

Blocare google chrome cu master p...

Instalare Siemens NX pe macbook

sfat achizitie telefon pana in 20...
 

Liste inlantuite

- - - - -
  • Please log in to reply
4 replies to this topic

#1
Omega_Prog

Omega_Prog

    Junior Member

  • Grup: Junior Members
  • Posts: 24
  • Înscris: 01.04.2018
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.
code format


#2
maccip

maccip

    46 ani

  • Grup: Senior Members
  • Posts: 33,311
  • Înscris: 06.01.2007
De ce nu folosesti debuggerul sa vezi comportamentul programului, variabilele ce valori iau.. etc. E de mare ajutor.

#3
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
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
Omega_Prog

Omega_Prog

    Junior Member

  • Grup: Junior Members
  • Posts: 24
  • Înscris: 01.04.2018

View PostGlontzZz, 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?
Nu pot adapta codul eliminarii nodurilor cu valoarea 0, am codul eliminarii primului element

#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,254
  • Înscris: 24.02.2007
Adaptezi DelPar la noua conditie.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate