Documente Academic
Documente Profesional
Documente Cultură
11
Tema: Pointeri şi tablouri.
Scopul lucrării: Analiza funcționării pointelor. Declararea, afișarea, atribuirea valorilor etc.
Obiective:
o apel prin referinţă şi valoare;
o alocarea dinamică a memoriei;
o Operații cu pointeri și particularități lor;
o Relaţii dintre pointeri şi vectori;
o Eliberarea memoriei dinamice.
Varianta: 4
Sarcina din lab. 8 : Să se declare un tablou de numere întregi și să se completeze cu valori aleatorii. Mărimea
tabloului – 200 elemente, domeniul de valori – -100 ...+100. În toate consecutivitățile de numere pozitive de
înlocuit valorile elementelor maxime și minime cu valoare medie ale acestor consecutivităţi.
TST-211 4 L L 11
Sch Coala № Document Semnat Data
Executat Fedun Litera Coala Coli
Vladislav
Controlat Meriacri P. 2 9
Pointeri şi tablouri.
UTM FET
TST-211
Coala
TST-211 . 4 LL11 3
Sch Coala № Document Semnat Data
Coala
TST-211 4 LL11 4
S Coala № Document Semnat Data
c
h
Programul
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int *i, *j, *t, k=-1, n, p;
n=200;
srand(time(NULL));
t=new int[n];
j=new int(0);
printf("Array: \n");
for(i=t;i<n+t;i++)
{
*i=(rand()%111)-10;
printf("% d\t",*i);
}
printf("\n");
printf("\nIndicii initiali si finali fiecareia consecutivitate de numere pozitive mai lungi de 5 elemente: \n");
for(i=t,p=0;i<n+t;i++,p++)
{
if(*i>0)
{
*j+=1;
k=0;
}
else if(k==0&&(*i<=0))
{
printf("de la p.i: %d\n",p-*j);
printf("pina la p.i: %d\n\n",p-1);
*j=0;
k=-1;
}
}
if(*i>0){printf("de la p.i: %d\n",p-*j);printf("pina la p.i: %d\n",p);}
return 0;}
Coala
TST-211 4 LL11 5
Sch Coala № Document Semnat Data
Erori
1. Sintaxa
2. Înțelegerea sarcinii de lucru
Ajustarea programului se realizează conform planului, ce este şi la lucrarea nr.8. Dar, trebuie de
menţionat, că urmărirea valorilor în regimul pas cu pas este ceva mai anevoios, dacă în lucrarea nr.8 noi
aveam posibilitatea să observăm valori inteligibile a indicilor, atunci aici în locul lor noi vom vedea
valorile pointerilor, mai complicate pentru a fi înţelese. Recomandăm să vă bazaţi mai mult pe depistarea
erorilor la analiza rezultatelor programului.
Coala
TST-211 4 LL11 6
Sch Coala № Document Semnat Data
Lucru individual
int a = 17;
int *p = &a;
Coala
UTM 5 25 . 1 001 00 1 7
Sch Coala № Document Semnat Data
3. De ce la declararea pointerilor este necesar de indicat tipul variabilei la care se face adresarea cu
ajutorul lui?
De fapt, sintaxa declararii unei varaibile imita sintaxa expresiilor in care ar putea sa apara respectiva
variabila. Acest rationament este util in toate cazurile care implica declaratii complicate.
Coala
TST-211 4 LL11 8
Sch Coala № Document Semnat Data
Concluzie
Pe baza rezultatelor lucrărilor de laborator nr.11, am observat cum funcționează indicatoarele. În acest caz,
lucram cu un desen unidimensional, repetând o sarcină efectuată anterior în laborator opt.
Coala
TST-211 4 LL11 9
Sch Coala № Document Semnat Data