Salutare tuturor, sunt membru al acestei comunități încă din 2013, însă nu am activat foarte mult, așa că, am venit în sprijinul celor ce fac limbajul C++ la școală, cu câteva probleme rezolvate de profesorul meu și un set de probleme de pe pbinfo, luate de pe github.
De menționat este că acest topic o să primească actualizări constante, așa că vă recomand să îl urmăriți. Din păcate, nu mi-a ieșit formatarea așa cum voiam datorită BBCode-urilor ce nu mai funcșionează.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦𝗲 𝗱𝗮 𝘂𝗻 𝘁𝗮𝗯𝗹𝗼𝘂 𝗱𝗲 𝗻𝘂𝗺𝗲𝗿𝗲 𝗶𝗻𝘁𝗿𝗲𝗴𝗶, 𝘀𝗮 𝘀𝗲 𝗼𝗿𝗱𝗼𝗻𝗲𝘇𝗲 𝗰𝗿𝗲𝘀𝗰𝗮𝘁𝗼𝗿 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗲 𝘃𝗲𝗰𝘁𝗼𝗿𝘂𝗹𝘂𝗶, 𝗳𝗼𝗹𝗼𝘀𝗶𝗻𝗱 𝗺𝗲𝘁𝗼𝗱𝗮 𝗯𝘂𝗹𝗲𝗹𝗼𝗿.
#include <iostream>
using namespace std;
int x[20],i,n,aux,ok;
main()
{
cout<<„n=”;cin>>n; //citire elemente
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]”;
cin>>x;
}
for(i=0;i<n;i++)
cout<<x<<” „;
cout<<endl;
do
{
ok=1;
for(i=0;i<n-1;i++)
if(x>x[i+1])
{
aux=x;
x=x[i+1];
x[i+1]=aux;
ok=0;
}
}
while(ok=1);
cout<<„Ordinea crescătoare este este”<<endl;
for(i=0;i<n;i++)
cout<<x<<” „;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• Î𝗻𝘁𝗿-𝗼 𝗰𝗹𝗮𝘀ă 𝗱𝗲 𝗲𝗹𝗲𝘃𝗶 𝘀𝗲 𝗰𝗮𝗹𝗰𝘂𝗹𝗲𝗮𝘇ă 𝗺𝗲𝗱𝗶𝗮 𝗴𝗲𝗻𝗲𝗿𝗮𝗹ă 𝗮 𝗳𝗶𝗲𝗰ă𝗿𝘂𝗶 𝗲𝗹𝗲𝘃. 𝗦𝗲 𝗰𝗲𝗿𝗲:
𝗮) 𝗶𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝗲𝗿𝗲𝗮 𝘀𝗶 𝗮𝗳𝗶𝘀𝗮𝗿𝗲𝗮 𝗺𝗲𝗱𝗶𝗶𝗹𝗼𝗿 𝗲𝗹𝗲𝘃𝗶𝗹𝗼𝗿;
𝗯) 𝗺𝗲𝗱𝗶𝗮 𝗴𝗲𝗻𝗲𝗿𝗮𝗹𝗮 𝗮 𝗰𝗹𝗮𝘀𝗲𝗶
𝗰) 𝗺𝗲𝗱𝗶𝗮 𝗰𝗲𝗮 𝗺𝗮𝗶 𝗺𝗮𝗿𝗲 𝘀𝗶 𝗺𝗲𝗱𝗶𝗮 𝗰𝗲𝗮 𝗺𝗮𝗶 𝗺𝗶𝗰𝗮
𝗠𝗘𝗧𝗢𝗗𝗔 𝟭
#include<iostream>
using namespace std;
int i,n,k;
float med[25],mg,maxim,minim,S;
main()
{
cout<<„Nr. de elevi este”;cin>>n;
//citire medie
for(i=0;i<n;i++)
{
cout<<” med[<<i+1<<]=”;
cin>>med;
}
//afisare medii
for(i=0;i<n;i++)
cout<<„Media”<<i+1<<„este”<<med;
//nr elevi nepromovati
for(i=0;i<n;i++)
if(med<5)
k=k+1;
cout<<„Nr. elevilor nepromovati este”<<k;
//media generala
for(i=0;i<n;i++)
S=S+med;
mg=S/n;
cout<<„Media generala a clasei este”<<mg;
//media maxima
maxim=med[0];
for(i=1;i<n;i++)
if(med>maxim)
maxim=med;
cout<<„Media cea mai mare este”<<maxim;
//media minima
minim=med[0];
for(i=1;i<n;i++)
if(med<minim)
minim=med;
cout<<„Media cea mai mica este”<<minim;
}
𝗠𝗘𝗧𝗢𝗗𝗔 𝟮
#include<iostream>
using namespace std;
int main( ) {
int i, n, k, s;
int max, min;
cout << „Nr. de elevi este: „;
cin >> n;
int med[n];
//citire medie
for (i = 0; i < n; i++){
cin >> med;
}
//afisare medii
for (i = 0; i < n; i++){
cout << „Medie elev „<<i+1<<” este: „<<med<<endl;
}
k=0;
//nr elevi nepromovati
for (i = 0; i < n; i++){
if (med < 5)
k = k + 1;
}
cout<<endl;
if(k!=0){
cout << „Nr. elevilor nepromovati este: ” <<k<<endl;
}
else{
cout<<„Toti elevii au promovat”<<endl;
}
//media generala
s=0;
for (i = 0; i < n; i++){
s+=med;
}
cout<<endl;
cout << „Media generala a clasei este: ” <<s/n;
//media maxima
max = -9999;
min = 9999;
for (i = 0; i < n; i++){
if(med>max){
max=med;
}
if(med<min){
min=med;
}
}
cout<<endl;
cout << „Media cea mai mare este: ” << max<<endl;
cout<<„Media ce mai mica este: „<<min<<endl;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗨𝗻 𝘁𝗿𝗲𝗻 𝗱𝗲 𝗺𝗮𝗿𝗳ă 𝗽𝗼𝗮𝘁𝗲 𝗮𝘃𝗲𝗮 𝗰𝗲𝗹 𝗺𝘂𝗹𝘁 𝟮𝟬 𝗱𝗲 𝘃𝗮𝗴𝗼𝗮𝗻𝗲. 𝗙𝗶𝗲𝗰𝗮𝗿𝗲 𝘃𝗮𝗴𝗼𝗻 𝗽𝗼𝗮𝘁𝗲 𝘁𝗿𝗮𝗻𝘀𝗽𝗼𝗿𝘁𝗮 𝗼 î𝗻𝗰ă𝗿𝗰ă𝘁𝘂𝗿ă 𝗱𝗲 𝗺𝗮𝘅𝗶𝗺 𝟱𝟬𝟬𝟬𝗸𝗴. 𝗦ă 𝘀𝗲 𝗿𝗲𝗮𝗹𝗶𝘇𝗲𝘇𝗲 𝘂𝗻 𝗽𝗿𝗼𝗴𝗿𝗮𝗺 𝗰𝗮𝗿𝗲 𝘀ă 𝗿𝗲𝘇𝗼𝗹𝘃𝗲 𝘂𝗿𝗺ă𝘁𝗼𝗮𝗿𝗲𝗹𝗲 𝗰𝗲𝗿𝗶𝗻ț𝗲:
𝗮) 𝗜𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝗲𝗿𝗲𝗮 ș𝗶 𝗮𝗳𝗶ș𝗮𝗿𝗲𝗮 î𝗻𝗰ă𝗿𝗰ă𝘁𝘂𝗿𝗶𝗶 𝗳𝗶𝗲𝗰ă𝗿𝘂𝗶 𝘃𝗮𝗴𝗼𝗻
𝗯) 𝗔𝗳𝗶ș𝗮𝗿𝗲𝗮 𝘃𝗮𝗴𝗼𝗮𝗻𝗲𝗹𝗼𝗿 î𝗻𝗰ă𝗿𝗰𝗮𝘁𝗲 𝗹𝗮 î𝗻𝘁𝗿𝗲𝗮𝗴𝗮 𝗰𝗮𝗽𝗮𝗰𝗶𝘁𝗮𝘁𝗲
𝗰) 𝗔𝗳𝗶ș𝗮𝗿𝗲𝗮 𝘃𝗮𝗴𝗼𝗮𝗻𝗲𝗹𝗼𝗿 𝗰𝘂 𝗰𝗲𝗮 𝗺𝗮𝗶 𝗺𝗶𝗰ă î𝗻𝗰ă𝗿𝗰ă𝘁𝘂𝗿ă.
#include<iostream>
using namespace std;
int main() {
int i, n, min;
cout << „Număr vagoane: „; cin >> n;
cout<<endl;
int vag[n];
//citire incarcatura vagoane
cout << „Incarcaturile sunt (max 5000): ” << endl;
for(i = 0; i < n; i++) {
cout << „Vagonul[ << i + 1 << ]= „;
cin >> vag;
}
cout<<endl;
//afisare incarcatura
for(i = 0; i < n; i++){
cout << „Vagonul” << i + 1 << ” are incarcatura de ” << vag << ” kg” << endl;
}
cout<<endl;
//afisare vagoane incarcatura maxima
for(i = 0; i < n; i++){
if (vag == 5000)
cout << „Vagonul” << i + 1 << „are incarcatura maxima” << vag << „kg” << endl;
}
//afisare vagoane incarcatura minima
min = 9999;
for(i = 1; i < n; i++){
if (vag < min){
min = vag;
}
}
cout<<endl;
for(i = 0; i < n; i++){
if (vag == min)
cout << „Vagonul [ << i + 1 << ] are incarcatura minima ” << min << endl;
}
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦ă 𝘀𝗲 𝗰𝗶𝘁𝗲𝗮𝘀𝗰ă 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗲 𝘂𝗻𝘂𝗶 𝘃𝗲𝗰𝘁𝗼𝗿 𝗰𝘂 𝗻 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲, 𝗻𝗿. î𝗻𝘁𝗿𝗲𝗴𝗶 ș𝗶 𝘀ă 𝘀𝗲 𝗮𝗳𝗶ș𝗲𝘇𝗲.
#include<iostream>
using namespace std;
int i,n,x[10];
main()
{
cout<<„n=”;
cin>>n;
//citire elemente vector
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
//afișare elemente vector
for(i=0;i<n;i++)
cout<<x<<” „;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦ă 𝘀𝗲 𝗱𝗲𝘁𝗲𝗿𝗺𝗶𝗻𝗲 𝗲𝗹𝗲𝗺. 𝗺𝗮𝘅 𝗱𝗶𝗻𝘁𝗿-𝘂𝗻 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗲 𝗻𝗿. î𝗻𝘁𝗿𝗲𝗴𝗶.
#include<iostream>
using namespace std;
int maxim,i,n,x[10];
main()
{
cout<<„n=”;
cin>>n;
//citire elemente vector
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
maxim=x[0];
//afisare maxim
for(i=1;i<n;i++)
if(x>maxim)
maxim=x;
cout<<„Maximul este:”<<maxim;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦𝗲 𝗱ă 𝘂𝗻 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗲 𝗻𝗿. î𝗻𝘁𝗿𝗲𝗴𝗶. 𝗦ă 𝘀𝗲 𝗱𝗲𝘁. 𝘀𝘂𝗺𝗮 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗼𝗿 𝗽𝗮𝗿𝗲 ș𝗶 𝗽𝗿𝗼𝗱 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗼𝗿 𝗶𝗺𝗽𝗮𝗿𝗲.
#include<iostream>
using namespace std;
int s,p,i,n,x[10];
main()
{
cout<<„n=”;
cin>>n;
p=1;
//citire elemente vector
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
//afișare suma elem. pare
for(i=0;i<n;i++)
if(x%2==0)
s=s+x;
cout<<„Suma elementelor pare este:”<<s<<endl;
//afișare produs elem. impare
for(i=0;i<n;i++)
if(x%2!=0)
p=p*x;
cout<<„Produsul elementelor impare este:”<<p;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦𝗲 𝗱ă 𝘂𝗻 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗲 𝗻𝗿. î𝗻𝘁𝗿𝗲𝗴𝗶 𝗰𝘂 𝗻 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲. 𝗦ă 𝘀𝗲 𝗱𝗲𝘁𝗲𝗿𝗺𝗶𝗻𝗲 𝘀𝘂𝗺𝗮 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗼𝗿 𝘃𝗲𝗰𝘁𝗼𝗿𝘂𝗹𝘂𝗶.
#include<iostream>
using namespace std;
int s,i,n,x[10];
main()
{
cout<<„n=”;
cin>>n;
//citire elemente vector
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
//afișare suma elementelor vectorului
for(i=0;i<n;i++)
s=s+x;
cout<<„Suma elementelor vectorului este:”<<s;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Actualizare 05/10/21
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦𝗮 𝘀𝗲 𝘀𝗰𝗿𝗶𝗲 𝘀𝘂𝗯𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗲 𝗰𝗮𝗿𝗲 𝘀𝗮 𝗼𝗿𝗱𝗼𝗻𝗲𝘇𝗲 𝗱𝗲𝘀𝗰𝗿𝗲𝘀𝗰𝗮𝘁𝗼𝗿 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝗲𝗹𝗲 𝘂𝗻𝘂𝗶 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗲 𝗻𝗿 𝗶𝗻𝘁𝗿𝗲𝗴𝗶
#include<iostream>
using namespace std;
int x[10],i,n,j,a;
int citire()
{
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
}
int afisare()
{
for(i=0;i<n;i++)
cout<<x<<” „;
cout<<endl;
}
int ordonare()
{
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(x<x[j])
{
a=x;
x=x[j];
x[j]=a;
}
cout<<„Ordinea descrescatoare este: „;
}
int main()
{
cout<<„n=”;
cin>>n;
citire();
afisare();
ordonare();
afisare();
return 0;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
• 𝗦𝗲 𝗱ă 𝘂𝗻 𝘃𝗲𝗰𝘁𝗼𝗿 𝗱𝗲 𝗻𝘂𝗺𝗲𝗿𝗲 î𝗻𝘁𝗿𝗲𝗴𝗶. 𝗦ă 𝘀𝗲 𝘀𝗰𝗿𝗶𝗲 𝘀𝘂𝗯𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗲 𝗽𝗲𝗻𝘁𝗿𝘂 𝗰𝗶𝘁𝗶𝗿𝗲𝗮 𝘃𝗲𝗰𝘁𝗼𝗿𝘂𝗹𝘂𝗶, 𝗮𝗳𝗶ș𝗮𝗿𝗲𝗮 𝘃𝗲𝗰𝘁𝗼𝗿𝘂𝗹𝘂𝗶 ș𝗶 𝗮𝗳𝗶ș𝗮𝗿𝗲𝗮 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝘂𝗹𝘂𝗶 𝗺𝗮𝘅.
#include<iostream>
using namespace std;
int x[10],i,n,maxim;
int citire()
{
for(i=0;i<n;i++)
{
cout<<„x[<<i+1<<]=”;
cin>>x;
}
}
int afisare()
{
for(i=0;i<n;i++)
cout<<x<<” „;
cout<<endl;
}
int maxi_taxi()
{
maxim=x[0];
for(i=1;i<n;i++)
if(x>maxim)
maxim=x;
cout<<„Elementul maxim este:”<<maxim;
}
int main()
{
cout<<„n=”;
cin>>n;
citire();
afisare();
maxi_taxi();
return 0;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––