Académique Documents
Professionnel Documents
Culture Documents
Analizați și explicați rezultatele executării următoarelor programe (dacă apar erori încercați să
utilizați liniile comentate):
#include <iostream> }
using std::cout; cout << "Value of outer count1 = " << count1
int count1{ 100 }; << "Value of outer count3 = " << count3
int count1{ 10 };
int count3{ 50 };
<< endl;
<< endl;
int count1{ 20 };
int count2{ 30 };
<< endl;
<< endl;
count1 += 3;
Programul 2 if (found)
#include <iostream>
#include <iomanip> }
using std::endl;
{ if (i % 5 == 0)
do
trial += 2L;
found = false;
#include "stdafx.h" cout << "pInt = " << pInt << "; *pInt = " << *pInt <<
endl;
#include <iostream>
cout << "exit from function findIndexOfValue\n" <<
using namespace std; endl;
void findIndexOfValue(const double* dblValues, int }
count, int& value, int* index)
int main()
{
for (int i = 0; i <= count; i++) cout << "ptrDbl = " << ptrDbl << "; ptrDbl = " <<
*ptrDbl << endl;
{
cout << "dblValues = " << dblValues << "; dblValues =
if (*dblValues == dblV) " << *dblValues << endl;
{ cout << "dblValues = " << dblValues << "; dblValues =
index = &i; " << dblValues[0] << endl;
} cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
*ptrInt << endl;
dblValues++;
ptrInt = &nValueToCompare;
}
cout << "nValueToCompare = " << nValueToCompare
cout << "index = " << index << "; *index = " << *index << endl;
<< endl;
cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
cout << "dblValues = " << dblValues << "; *dblValues *ptrInt << endl;
= " << *dblValues << endl;
int count = _countof(dblValues);
cout << "pDouble = " << pDouble << "; *pDouble = "
<< *pDouble << endl; ptrInt = &count;
cout << "count = " << count << endl; cout << "count = " << count << endl;
cout << "pInt = " << pInt << "; *pInt = " << *pInt << cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
endl; *ptrInt << endl;
pInt = &value;
findIndexOfValue(dblValues, _countof(dblValues),
nValueToCompare, &nIndex);
cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
*ptrInt << endl;
ptrInt = &nIndex;
cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
*ptrInt << endl;
ptrInt = &count;
cout << "ptrInt = " << ptrInt << "; *ptrInt = " <<
*ptrInt;
cin.get();
return 0;
}
Program 5
#include "stdafx.h"
#include <iostream>
using namespace std;
int* castFromDouble(double&);
int main()
{
int* pInt{ nullptr };
double dbl{ 20 };
pInt = castFromDouble(dbl);
cout << "dbl=" << dbl << endl;
cout << "pInt = " << pInt << ";
*pInt = " << *pInt;
delete pInt;
pInt = nullptr;
cin.get();
return 0;
}
int* castFromDouble(double& value)
{
int* result{ new int() };
*result = static_cast<int>(value);
value = 0.0;
return result;
}
2. Realizați un program afișează da dacă în numărul introdus de la tastatură se găsesc cifre egale.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a, b, c, i=0;
cout << "Introduceti numerele = ";
cin >> a;
while (a != 0)
{
c = a % 10;
a = a / 10;
b = a;
while (b != 0)
{
if (c == b % 10) i = 1;
b = b / 10;
}
}
if (i == 1) cout << "Sunt numere egale";
else cout << "Nu sunt numere elgale";
cin.get();
cin.ignore();
return 0;
}
3.Utilizînd instrucțiunea while scrieți un program care calulează suma numerelor întregi
introduse de la tastatură pînă la apariția cifrei 1.
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int a[30][30];
int i, j, m, n, min = 1000, i1, aux;
cout<<"Dati n= ";
cin >> n;
cout<<"Dati m= ";
cin >> m;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
a[i][j] = rand();
cout << "Tabloul initial" << endl;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
cout << a[i][j] << "\t";
cout << endl;
}
cin.get();
cin.ignore();
return 0;
}
4.Generați un array (n x m) gasiți primul minim și interschimbați rîndul în care se află acest
minim cu primul rînd din tablou. Generarea tabloului se face cu ajutorul funcției rand().
#include "stdafx.h"
#include <iostream>
using namespace std;
int a[200], i, n;
int generareTablou()
{
cin >> n;
for (i = 0; i < n; i++)
cin >> a[i];
return(0);
}
int afisare()
{
for (i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
return(0);
}
int sortare1()
{
int aux, j;
for(i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (a[i] > a[j])
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
}
return(0);
}
int sortare2()
{
int j,k, aux, min;
for (i = 0; i < n - 1; i++)
{
min = a[i];
k = i;
for (j = i + 1; j < n; j++)
if (a[j]<min)
{
min = a[j];
k = j;
}
aux = a[i];
a[i] = a[k];
a[k] = aux;
}
return(0);
int main()
{
generareTablou();
afisare();
cout << "sortarea in ordine descrescatoare" << endl;
sortare1();
afisare();
cout << "sortare in ordine crescatoare" << endl;
sortare2();
afisare();
cin.get();
cin.ignore();
return 0;
}