Documente Academic
Documente Profesional
Documente Cultură
Setul 1. (5-6)
#include<iostream>
#include<math.h>
using namespace std;
void main(void)
{
double x1,x2,y1,y2,distanta;
cout<<"Introduceti coordonatele primului punct : "<<endl;
cout<<"x1 = ";cin>>x1;
cout<<"y1 = ";cin>>y1;
cout<<"x2 = ";cin>>x2;
cout<<"y2 = ";cin>>y2;
distanta=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
cout<<"Distanta dintre cele doua puncte este : "<<distanta<<endl;
}
#include<iostream>
using namespace std;
void main(void)
{
double a,b,x;
cout<<"Introduceti coeficientii ecuatiei : "<<endl;
cout<<"a = ";cin>>a;
cout<<"b = ";cin>>b;
if (a==0)
if (b==0)
cout<<"Ecuatia are o infinitate de solutii !"<<endl;
else
cout<<"Ecuatia nu are solutii !"<<endl;
else {
x=(-b)/a;
cout<<"Solutia ecuatiei este x = "<<x<<endl;
}
}
#include<iostream>
1
using namespace std;
void main(void)
{
int a,b,c;
cout<<"Dati primul numar = ";cin>>a;
cout<<"Dati al doilea numar = ";cin>>b;
cout<<"Dati al treilea numar = ";cin>>c;
if (a<b){
if(b<c)
cout<<a<<","<<b<<","<<c<<endl;
else
{
if(a<c)
cout<<a<<","<<c<<","<<b<<endl;
else
cout<<c<<","<<a<<","<<b<<endl;
}
}
else
{
if(a<c)
cout<<b<<","<<a<<","<<c<<endl;
else{
if(b<c)
cout<<b<<","<<c<<","<<a<<endl;
else
cout<<c<<","<<b<<","<<a<<endl;
}
}
}
#include<iostream>
using namespace std;
void litere_mici(char s[30])
{
int i=0;
while(s[i]!=0) {
if((s[i]>=97) && (s[i]<=122))
s[i]=s[i]-32;
i++;
}
return;
}
void main(void)
{
char s[30];
cout<<"Introduceti sirul de caractere : ";cin>>s;
litere_mici(s);
cout<<"Sirul transformat in litere mici este : "<<s<<endl;
}
***********************************
2
Setul 2. (7-8)
#include<iostream>
#include<math.h>
using namespace std;
void main(void){
float a,b,c,x,x1,x2,delta,real,imag;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if(a==0){
cout<<"Ecuatie de gradul I"<<endl;
if(b==0){
if(c==0)
cout<<"Avem o infinitate de solutii"<<endl;
else
cout<<"Ecuatie imposibila"<<endl;
}
else{
x=-c/b;
cout<<"Solutia ecuatiei este x= "<<x<<endl;
}
}
else{
delta=b*b-4*a*c;
if(delta>=0){
cout<<"Radacini reale: "<<endl;
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
cout<<"x1 = "<<x1<<"; x2 = "<<x2<<endl;
}
else{
cout<<"Radacini complexe :"<<endl;
delta=-delta;
real=-b/(2*a);
imag=sqrt(delta)/(2*a);
cout<<"x1 = "<<real<<" + i*"<<imag<<endl;
cout<<"x2 = "<<real<<" - i*"<<imag<<endl;
}
}
}
#include<iostream>
using namespace std;
void main(void){
int n,c,s=0,uc;
cout<<"n = ";cin>>n;
3
uc=n%10;
while(n!=0){
c=n%10;
s=s+c;
n=n/10;
}
if((s%3==0)&&((uc==0)||(uc==5)))
cout<<"Numarul este divizibil prin 3 si 5"<<endl;
else
cout<<"Numarul nu este divizibil prin 3 si 5"<<endl;
}
#include <iostream>
using namespace std;
void main(void){
int n,i,s=0;
cout<<"Introduceti numarul ce va fi testat"<<endl;
cout<<"n=";cin>>n;
for(i=1;i<=n/2;i++)
if(n%i==0)
s=s+i;
cout<<"s="<<s<<endl;
if(n==s)
cout<<"Numarul "<<n<<" este numar PERFECT"<<endl;
else
cout<<"Numarul "<<n<<" NU este numar PERFECT"<<endl;
}
#include<iostream>
using namespace std;
void main(void){
char s[100],a;
int i,k=0;
cout<<"Sirul de caractere este : ";cin>>s;
cout<<"Introduceti caracterul ce va fi cautat : ";cin>>a;
for(i=0;i<100;i++)
if(s[i]==a)
k++;
cout<<"Caracterul "<<a<<" apare de "<<k<<" ori."<<endl;
}
***********************************
Setul 3. (9-10)
4
poziţie i0, iar pe poziţia i0+1 caracterul din primul cuvânt este alfabetic
înaintea caracterului de pe aceeaşi poziţie din cel de al doilea cuvânt.
#include<iostream>
using namespace std;
void main(){
char s1[100],s2[100];
int i,k=1;
cout<<"Dati primul sir: ";
cin.get(s1,50);cin.get();
cout<<"Dati al doilea sir: ";
cin.get(s2,50);
for(i=0;(s1[i]||s2[i])&&k;i++)
if(s1[i]<s2[i]){
cout<<"Sirul <"<<s1<<"> este mai mic lexicografic decat
sirul <"<<s2<<">"<<endl;
k=0;
}
else
if(s1[i]>s2[i]){
cout<<"Sirul <"<<s2<<"> este mai mic lexicografic
decat sirul <"<<s1<<">"<<endl;
k=0;
}
if(k)
cout<<"Sirurile sunt egale lexicografic."<<endl;
}
Problema 10. Să se elaboreze un program care numără de câte ori apare fiecare
cifră distinctă într-un şir de numere reale introdus de la tastatură.
#include<iostream>
using namespace std;
void main(){
float x[100],y[100],f[100];
int i,n,j,ok,k=0;
cout<<"Introduceti dimensiunea sirului : ";
cin>>n;
for(i=1;i<=n;i++){
cout<<"x["<<i<<"]=";
cin>>x[i];
}
y[0]=x[0];
f[0]=1;
for(i=1;i<=n;i++){
ok=0;
for(j=0;j<=k-1;j++)
if(x[i]==y[j]){
ok=1;
f[j]++;
}
if(!ok){
5
y[k]=x[i];
f[k++]=1;
}
}
for(i=0;i<=k-1;i++){
cout<<y[i]<<" are frecventa "<<f[i];
cout<<endl;
}
}
#include<iostream>
using namespace std;
void main(){
char s[200],t[200];
cout<<"Introduceti primul sir : ";
cin.getline(s,200);
cout<<"Introduceti al doilea sir : ";
cin.getline(t,200);
if(strstr(s,t)!=NULL)
cout<<"Da, "<<t<<" este subsir "<<" al lui "<<s<<endl;
else
cout<<"Nu, "<<t<<" nu este subsir "<<" al lui "<<s<<endl;
}
Problema 12. Să se determine cel mai mare divizor comun a n numere citite de
la tastatură.
#include<iostream>
using namespace std;
int a[100],n,c;
int cmmdc(int a,int b){
while(a!=b)
if(a>b)
a-=b;
else
b-=a;
return a;
}
void main(){
cout<<"n= ";
cin>>n;
for(int i=0;i<n;i++){
cout<<"a["<<i<<"]= ";
cin>>a[i];
}
c=a[0];
for(int i=1;i<n;i++)
c=cmmdc(a[i],c);
6
cout<<"c.m.m.d.c. al numerelor introduse este : "<<c<<endl;
}