b)Sa se elimine din vector elementul de pe pozitia a doua.
|
probleme rezolvate atestat informatica c++
SUBIECTE SI REZOLVARI C++ PENTRU EXAMENUL DE ATESTAT LA INFORMATICĂ
1.Scrieţi un program C/C++ care citeşte de la tastatura un număr natural n (2<n<21) si apoi n linii cu cate n numere întregi de cel mult 7 cifre ce formează un tablou bidimensional a. Sa se afişeze pe ecran diferenţa dintre suma elementelor de pe diagonala principala si suma elementelor de pe diagonala secundara a matricei a.
#include<iostream.h>
void main()
{int n,i,j;
long a[20][20],s1=0,s2=0,d;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];}}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
if(i==j)
s1=s1+a[i][j];};
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
if(i+j==n+1)
s2=s2+a[i][j];}
cout<<s1-s2;
}
3.Scrieţi programul C/C++ care citeşte de la tastatura un număr natural n (n<100) si un sir cu n numere întregi din intervalul [100 ;999] ; programul construieşte un sir de numere rezultat prin înlocuirea fiecărui număr din şirul citit cu numărul obţinut prin interschimbarea cifrei unitatilor cu cifra sutelor. Numerele din noul sir se vor afişa pe ecran separate printr-un singur spaţiu. De exemplu , pentru n=3 si şirul 123 , 904 , 500 , se afişează 321 , 409 , 5.
#include<iostream.h>
void main()
{int n,i,o,v[20],c;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=n;i++)
{o=0;
c=v[i]%10;
o=o*10+c;
v[i]=v[i]/10;
c=v[i]%10;
o=o*10+c;
v[i]=v[i]/10;
o=o*10+v[i];
v[i]=o;
cout<<v[i]<<endl;
}
}
4.Doua tablouri unidimensionale a si b , cu elementele a1 , a2 , … , an , respectiv b1 , b2 , … bn sunt in relaţia a<=b daca : a1<=b1 , a2<=b2 , … , an<=bn. Scrieţi program in limbajul C/C++ care citeşte doua tablouri unidimensionale a si b cu acelaşi număr de elemente de tip întreg si verifica daca a<=b sau b<=a afişând un mesaj adecvat.
#include<iostream.h>
void main()
{int a[10],i,n,j,k,aux,min;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<"a["<<i<<"]=";cin>>a[i];}
for(i=1;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[k];
a[k]=a[i];
a[i]=aux;}
for(i=1;i<=n;i++)
cout<<a[i]<<" ";}
8.Scrieţi un program in limbajul C/C++ care afişează toate numerele naturale formate din cifre identice , mai mari decât 10 si mai mici decât o valoare data n, n<=2.000.000. De exemplu pentru n=195 , se afişează : 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 , 111.
#include<iostream.h>
int n,i;
int identic(int n)
{int d,c;
c=n%10;
while (n>0)
{d=n%10;
if(d==c)
n=n/10;
else
return 0;}
if(n==0)
return 1;}
void main()
{cout<<"n=";cin>>n;
for (i=10;i<=n;i++)
{if(identic(i))
cout<<i<<endl;}}
10.Scrieţi un program C/C++ care citeşte de la tastatura trei numere naturale x, y si k, (1<x<y<2000000, k<1000) si afişează pe ecran k numere prime din intervalul [x, y]. Daca nu exista k numere prime în intervalul [x,y] se vor afişa toate numerele prime găsite iar pe linia următoare se va afişa mesajul “s-au găsit mai puţine numere prime: ” urmat de numărul acestora. De exemplu, pentru x=3, y=12 si k=5 se vor afişa pe ecran:
3 5 7 11
s-au găsit mai puţine numere prime:4
#include<iostream.h>
void main()
{int x,y,k,n,d,a,p;
cout<<"x=";cin>>x;
cout<<"y=";cin>>y;
cout<<"k=";cin>>k;
a=0;
n=x;
while ((n>=x)&&(n<=y)&&(a<k) )
{d=2;p=1;
while((d<=n/2)&&(p==1))
if(n%d==0)
p=0;
else
d++;
if(p)
{cout<<n<<endl;a++;}
n++;}
if(a<k)
cout<<"au fost gasite mai putine nr prime"<<a;}
12.Scrieţi un program C/C++ care citeşte din fişierul text BAC.TXT , cel mult 100 de numere naturale aflate pe o singura linie, formate din cel mult 9 cifre fiecare, separate prin spatii si dintre acestea le afişează pe ecran doar pe acelea care au proprietatea de a fi palindrom. Daca nu se găsesc numere palindrom, se va afişa pe ecran valoarea –1. Un număr are proprietatea de a fi palindrom daca citit de la dreapta la stânga sau de la stânga la dreapta are aceeaşi valoare. De exemplu 1221 este palindrom, in timp ce 1210 nu este palindrom.
Exemplu : daca din fişierul BAC.TXT se citesc numerele : 7341 , 8228 , 660 , 2 , 80 , 131 , atunci pe ecran se vor afişa : 828 , 2 , 131.
#include<iostream.h>
int palindrom(int n)
{int copie=n,oglindit,c;
oglindit=0;
{while(n!=0)
c=n%10;
oglindit=oglindit*10+c;
n=n/10;}
return (copie==oglindit);}
void main()
{int v[100],n,i,p;
p=0;
cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
for(i=1;i<=n;i++)
if(palindrom(v[i]))
{cout<<v[i];
p=1;}
if(p==0)
cout<<"-1";}
14.Pentru orice număr natural nenul n definim n factorial (notat n!) ca fiind produsul tuturor numerelor naturale nenule mai mici sau egale cu n (n! = 1*2*3*…*n) De exemplu : 3!=1*2*3=6 5!=1*2*3*4*5=120 . Scrieţi un program C/C++ care determina numărul de cifre nule aflate pe ultimele poziţii consecutive ale valorii obţinute in urma evaluării lui n!, n fiind un număr natural de cel mult 4 cifre. De exemplu daca n=10, n!=3628800 rezultatul va fi 2 deoarece 3628800 are două zerouri la sfârşit.
#include<iostream.h>
void main()
{long int n,x=1,nr=0,c,p=1;
cout<<"n=";cin>>n;
for(int i=1;i<=n;i++)
p=p*i;
while(x==1)
{c=p%10;
if(c==0)
{nr=nr+1;
p=p/10;}
else
x=0;}
cout<<nr;}
15.Scrieţi un program C/C++ care citeşte din fişierul text DATE.IN cel mult 100 de numere naturale nenule aflate pe o singura linie, formate din cel mult 4 cifre fiecare, separate prin spatii si scrie in fişierul DATE.OUT numerele, in ordinea inversa fata de cea in care au fost citite, pe o singura linie separate prin spatii. De exemplu daca din fişierul DATE.IN se citesc numerele 93 207 15 1982 3762, atunci conţinutul fişierului DATE.OUT va fi 3762 1982 15 207 93.
#include<fstream.h>
void main()
{int n,i,v[100];
fstream f("date.in",ios::in);
fstream g("date.out",ios::out);
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=n;i>0;i--)
g<<v[i];
f.close();
g.close();}
17.Scrieţi un program C/C++ care citeşte de pe prima linie a fişierului text BAC.TXT trei numere naturale a, b, c formate din cel mult patru cifre fiecare, separate prin cate un spaţiu si afişează pe ecran cel mai mare divizor comun al acestora. De exemplu, daca din fişier se citesc numerele : 9 27 15, atunci se afişează 3.
#include<iostream.h>
int cmmdc (int x,int y)
{while (x!=y)
if(x>y)
else
y=y-x;
return x;}
void main()
{int a,b,c,d;
fstream("bac.txt";ios::in);
f>>a>>b>>c;
f.close;
d=cmmdc(a,b);
cout<<cmmdc(c,d);}
19.Scrieţi un program care verifica daca un număr natural k(1<k<100000) citit de la tastatura este prim. Programul va afişa pe ecran mesajul DA sau mesajul NU;
#include<iostream.h>
int prim(int n)
{int prim=1;
for(int d=2;d<=n/2;d++)
if(n%d==0)
prim=0;
if(prim)
return 1;
else
return 0;}
void main()
{int n;
cout<<"n=";cin>>n;
if(prim(n))
cout<<"da";
else
cout<<"nu";}
21.Se considera fişierul text date.in care conţine exact 19 numere distincte formate fiecare din maxim 2 cifre. Sa se afişeze in fişierul text date.out numărul care lipseşte din fişierul date.in.
#include<fstream.h>
void main()
{int v[100],n,i,j,p;
fstream f("date.in",ios::in);
fstream g("date.out",ios::out);
for(i=1;i<=19;i++)
f>>v[i];
f.close();
for(i=10;i<=99;i++)
{p=1;
for(j=1;j<=19;j++)
if(i==v[j])
p=0;
if(p)
g<<i;}
g.close();}
22.Se citeşte de la tastatura un număr natural nenul n (n<1000). Scrieţi un program C/C++ care construieşte fişierul text bac.txt care sa contina, pe prima linie, toţi divizorii lui n in ordine strict descrescătoare. Divizorii vor fi separaţi prin spaţiu. De exemplu, daca n=10 , atunci fişierul bac.txt va conţine : 10 , 5 , 2 , 1
#include<iostream.h>
#include<fstream.h>
void main()
{int d,n;
cout<<"n=";cin>>n;
fstream g("bac1.txt",ios::out);
for(d=n;d>=1;d--)
if(n%d==0)
g<<d<<" ";
g.close();}
dati click pentru pagina urmatoare partea a doua
-
|188.24.231.xxx |2012-05-15 16:25:26 lacrimioara - vectori
Am o problema urgenta. Se citeste un n nr natural nenul si un vector cu n componente intregi.a) Sa se insereze pe pozitia 5 din vector valoarea 1000.
b)Sa se elimine din vector elementul de pe pozitia a doua.
-
|93.116.74.xxx |2012-05-04 12:16:27 victoria
elaborati un program care calculeaza valoarea functiei ce urmeaza
f(x)= {x-y,daca x si egal cu y
-
|93.116.74.xxx |2012-05-04 12:14:16 victoria
ajutatima mult va rog!!!!
elaborati un program care calculeaza valoarea functiei ce urmeaza:
f(x)= x-y,daca x si egal cu y
-
|79.112.195.xxx |2012-05-02 20:46:24 Lori - Va rog, putin ajutor!
Fişierul date.in conţine pe prima linie un număr natural n (2
-
|79.112.195.xxx |2012-05-02 20:44:03 Lori
Fişierul date.in conţine pe prima linie un număr natural n (2
-
|Registered |2012-03-18 17:05:43 popescu mirela
sa se scrie un algoritm pentru a afisa toate numerele de 2 cifre cu proprietetea ca suma cifrelor este divizibila cu 7
-
|Registered |2012-05-02 20:53:12 dacsa
cred ca poti folosi backtracking;stiva sa aiba 2 nivele si la conditia de validare pui ca suma cifrelor sa fie divizibila cu 7
-
|Registered |2012-03-18 17:03:52 popescu mirela - va rog daca puteti sa rezolvati aceasta problema
sa se scrie un algoritm pentru a afisa toate numerele de 2 cifre cu proprietetea ca suma cifrelor este divizibila cu 7
-
|Registered |2011-12-13 21:05:57 keap - ajutatima plz
Elaborati algoritmul si programul pentru prelucrarea unui tablou patratic ca sa se obtina urmatoarele rezultate: 0-daca tabloul este simetric fata de diagonala principala: 1-daca tabloul este superior triunghiular (toate elementele de sub diagonala principala sunt nule);
2-daca tabloul este inferior triunghiular ;3-daca tabloul este unitar ;4-in restul cazurilor....
-
|Registered |2011-12-05 10:00:00 Ioana - va rog ajutatima
Scrieţi un program C/C++ care citeşte de la tastatură un cuvânt format din cel mult 20 de caractere, doar litere ale alfabetului englez. Programul determină transformarea cuvântului citit prin înlocuirea fiecărei litere mici a cuvântului cu litera mare corespunzătoare, restul literelor nemodificându-se, ca în exemplu. Programul afişează pe ecran cuvântul obţinut.
Exemplu: pentru cuvântulbacalaureat se va afişa pe ecran: bAcAlAUrEat
-
|Registered |2011-12-05 13:24:05 dacsa
exemplul tau transforma vocalele mici in litera mare corespunzatoare
problema este rezolvata aici http://informaticasite.ro/rezolvari-probleme/atestat/probleme-rezolvat e-atestat-informatica-2011.html
la nr.12
-
|Registered |2011-11-29 21:47:49 Deniisze - urgeent!
Pe prima linie a fişierului text DATE.TXT se află un număr natural nenul n (n≤1000), iar pe
a doua linie un şir de n numere întregi nenule, depărţite prin câte un spaţiu, fiecare având
cel mult 9 cifre.
a) Scrieţi un program C/C++ care citeşte numerele din fişier şi ordonează crescător doar
numerele pozitive din şir, fără a modifica poziţiile numerelor negative. Programul va afişa, pe
ecran, pe o singură linie, şirul obţinut după ordonare, numerele fiind despărţite prin câte un
spaţiu. În locul fiecărui număr negativ din şirul citit se va afişa valoarea 0. Realizaţi un
program eficient din punct de vedere al spaţiului de memorie folosit.
Exemplu: dacă fişierul DATE.TXT conţine:
7
32 -491 23 -328 213 51 -4
pe ecran se va afişa:
23 0 32 0 51 213 0
b) Descrieţi succint, în limbaj natural, metoda utilizată, justificând eficienţa acesteia.
-
|Registered |2011-11-28 11:43:23 Deniisze - Ajutati-ma va rog cu o porblema urgent!!
Subprogramul Nr are un singur parametru, k, prin intermediul căruia primeşte un număr
natural de cel puţin 3 cifre şi cel mult 9 cifre, cu toate cifrele nenule. Subprogramul
furnizează tot prin intermediul parametrului k, valoarea obţinută prin eliminarea primei cifre a
numărului transmis la apel.
Exemplu: dacă subprogramul primeşte prin intermediul parametrului k valoarea 12438,
atunci în urma apelului subprogramului Nr, k va primi valoarea 2438.
Scrieţi, în limbajul C/C++, definiţia completă a subprogramului Nr.
Multumesc De Raspuns!
-
|SAdministrator |2011-11-28 23:58:02 gabi72e
http://informaticasite.ro/probleme-rezolvate-c++/subprograme/eliminare -prima-cifra-subprogram.html
-
|Registered |2011-11-26 18:47:15 oanaoana - matrci
va rog frumos sa ma ajutati si pe mine la o problema de informatica
1)scrieti un program c/c++ care citeste de la tastatura numerele naturale m si n, spoi construieste si afiseaza pe ecran un tablou bidimensional cu m linii si n coloane astfel incat prin parcurgerea acestuia linie cu linie se obtin in ordine descrescatoare toate numerele naturale de la 1 la m*n
-
|86.123.43.xxx |2011-11-10 16:39:34 tinnna - ma poate ajuta cineva sa rezolv problema:
11351 in figura alaturata apare un patrat
33203 continand cifre a.i. nr.de 5 cifre
30323 corespunzatoare fiecarei linii
14033 coloane, diagonale sun prime
33311 folosind fisierul de intrare input.txt
sa se scrie un program care sa construiasca astfel de patrate cu respectarea conditiior:
*suma cifrelor celor 12 numere este aceeasi(11 pt exemplul considerat)
*cifra din coltul stanga sus este data la intrare
*liniile se citesc de la stanga la dreapta, coloanele de sus in jos
VA MULTUMESC ANTICIPAT!