Extras din laborator
1. Se consider o listă liniară simplu înlănţuită cu elemente de numere întregi. Să se însereze înaintea fiecărui element negativ un element care va conţine opusul său.
namespace _1.Inserare_a_unui_elem_opus
{
public class nod
{
public object val;
public nod adr;
public nod()
{
val = null;
adr = null;
}
public nod(object x)
{
val = x;
adr = null;
}
}
public class llin
{
static nod p,u,q,q1;
static void Main(string[] args)
{
int n,i,x;
Console.Write("n= ");
n=int.Parse(Console.ReadLine());
Console.ReadLine();
p=new nod();
u=p;
for(i=1; i<=n; i++)
{
Console.Write("x= ");
x=int.Parse(Console.ReadLine());
q=new nod(x);
u.adr=q;
u=q;
}
Console.Write("Lista initiala: ");
q=p;
while(!(q.adr==null))
{
Console.Write(q.adr.val+ " ");
q=q.adr;
}
Console.Write("n");
q=p;
while(!(q.adr==null))
{
if ((int) q.adr.val<0)
{
q1=new nod();
q1.val=-(int) q.adr.val;
q1.adr=q.adr;
q.adr=q1;
q=q.adr.adr;
}
else
q=q.adr;
}
Console.Write("Lista noua: ");
q=p;
while(!(q.adr==null))
{
Console.Write(q.adr.val + " ");
q=q.adr;
}
Console.ReadLine();
}
}
}
}
2. Se consideră o listă liniară simplu înlănţuită cu n+1 de elemente, care conţine coeficienţi reali ai unui polinom de grad n. Se citeşte de la tastatură un număr real y. Calculaţi valoarea polinomului în y.
namespace _2.Val.polinomului_in_y
{
public class nod
{
public object val;
public nod adr;
public nod()
{
val = null;
adr = null;
}
public nod(object x)
{
val = x;
adr = null;
}
}
public class llin
{
static nod p, u, q;
static void Main(string[] args)
{
int n, i;
float x, y, pol, pute;
Console.Write("Gradul polinomului= ");
n = int.Parse(Console.ReadLine());
p = new nod();
u = p;
for (i=0; i<=n; i++)
{
Console.Write("Coeficientii: ");
x=float.Parse(Console.ReadLine());
q=new nod(x);
u.adr=q;
u=q;
}
Console.Write("y= ");
y=float.Parse(Console.ReadLine());
pol=0;
q=p;
pute=1;
while(!(q.adr==null))
{
pol+=(float)q.adr.val*pute;
pute=pute*y;
q=q.adr;
}
Console.Write(pol);
Console.ReadLine();
}
Preview document
Conținut arhivă zip
- Algoritmi si Programare - Lab 1.doc