bancuri, glume, imagini, video, fun, bancuri online, bancuri tari, imagini haioase, videoclipuri haioase, distractie online Pe HaiSaRadem.ro vei gasi bancuri, glume, imagini, video, fun, bancuri online, bancuri tari, imagini haioase, videoclipuri haioase, distractie online. Nu ne crede pe cuvant, intra pe HaiSaRadem.ro ca sa te convingi.
PROBLEMA 1
Sa se afiseze elementele de valori egale a[i,j]=b[i,j] din doua matrici de aceeasi dimensiune introduse de la tastatura


#include <iostream>
#include <math.h>
using namespace std;
void main(){
  int a[100][100], b[100][100], i,j, m,n;
  //citim dimensiunile
  cout <<"\n Dati m: ";
  cin >>m;
  cout <<" Dati n: ";
  cin >>n;
  //citim matricea a
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati a[" <<i <<"," <<j <<"]: ";
      cin >>a[i][j];
    }
  //citim matricea b
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati b[" <<i <<"," <<j <<"]: ";
      cin >>b[i][j];
    }
  cout <<" Elementele comune: ";
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++)
      if(abs(a[i][j])==abs(b[i][j])) cout <<abs(a[i][j]) <<" ";
}

















PROBLEMA 2
Sa se afiseze elementele de indici [i,j] impari,precum si suma acestor elemente dintr-o matrice citita de la tastatura

#include <iostream>
using namespace std;
void main(){
  int a[100][100], i,j, m,n, si=0,sp=0;
  //citim dimensiunile
  cout <<"\n Dati m: ";
  cin >>m;
  cout <<" Dati n: ";
  cin >>n;
  //citim matricea a
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati a[" <<i <<"," <<j <<"]: ";
      cin >>a[i][j];
    }
  cout <<" Elementele de indici [i,j] impari: ";
  for(i=1;i<=m;i=i+2)
    for(j=1;j<=n;j=j+2){
      si=si+a[i][j];
      cout <<a[i][j] <<" ";
    }
  cout <<"\n Elementele de indici [i,j] pari: ";
  for(i=2;i<=m;i=i+2)
    for(j=2;j<=n;j=j+2){
      sp=sp+a[i][j];
      cout <<a[i][j] <<" ";
    }
  cout <<"\n Suma elementelor de indici [i,j] impari: " <<si;
  cout <<"\n Suma elementelor de indici [i,j] pari: " <<sp;
}















PROBLEMA 3
Sa se afiseze indici [i,j] ai elementelor impare dintr-o matrice introdusa de la tastatura

#include <iostream>
using namespace std;
void main(){
  int a[100][100], i,j, m,n;
  //citim dimensiunile
  cout <<"\n Dati m: ";
  cin >>m;
  cout <<" Dati n: ";
  cin >>n;
  //citim matricea a
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati a[" <<i <<"," <<j <<"]: ";
      cin >>a[i][j];
    }
  cout <<" Indicii [i,j] ai elementelor pare: ";
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++)
      if (a[i][j]%2==0) cout <<"[" <<i <<"," <<j <<"] ";
  cout <<"\n Indicii [i,j] ai elementelor impare: ";
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++)
      if (a[i][j]%2==1) cout <<"[" <<i <<"," <<j <<"] ";
}


















PROBLEMA 4
Sa se calculeze si sa se afiseze produsul dintre o matrice de ordin mxn si un vector coloana de ordin nx1,introduse de la tastatura

#include <iostream>
using namespace std;
void main(){
  int a[100][100], i,j, m,n, v[100], b[100];
  //citim dimensiunile
  cout <<"\n Dati m: ";
  cin >>m;
  cout <<" Dati n: ";
  cin >>n;
  //citim matricea a
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati a[" <<i <<"," <<j <<"]: ";
      cin >>a[i][j];
    }
  //citim vectorul coloana v
  for(i=1;i<=n;i++){
    cout <<"\ Dati v[" <<i <<"]: ";
    cin >>v[i];
  }
  //initializam vectorul rezultat b
  for(i=1;i<=m;i++) b[i]=0;
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++) b[i]=b[i]+v[j]*a[i][j];
  //afisam rezultatul
  for(i=1;i<=m;i++) cout <<"\n " <<b[i];
}










PROBLEMA 5
Sa se afiseze cel mai mic numar si cel mai mae dintre elementele  imparalele unei matrici introduse de la tastatura

#include <iostream>
using namespace std;
void main(){
  int a[100][100], i,j, m,n, mic, mare;
  //citim dimensiunile
  cout <<"\n Dati m: ";
  cin >>m;
  cout <<" Dati n: ";
  cin >>n;
  //citim matricea a
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++){
      cout <<"\ Dati a[" <<i <<"," <<j <<"]: ";
      cin >>a[i][j];
    }
  mic=mare=a[1][1];
  for(i=1;i<=m;i++)
    for(j=1;j<=n;j++)
      if(a[i][j]%2==1){
    if(a[i][j]>mare) mare=a[i][j];
    if(a[i][j]<mic) mic=a[i][j];
      }
  cout <<" Cel mai mic element impar: " <<mic;
  cout <<"\n Cel mai mare element impar: " <<mare;
}



















PROBLEMA 6
Sa se sorteze invers alfabetica cuvintele citite de la tastatura

#include<iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
void main(){
  char s[250], x[100][20], aux[20];
  int n=0, i, j;

  //citim fraza
  printf("\n Dati fraza: ");
  gets(s);

  //punem in sirul de stringuri x cuvintele din fraza
  strcpy(x[0],"");
  for(i=0;i<strlen(s);i++)
    if(s[i]!=' '){
      //convertirea unui caracter in string
      char aa[1];
      aa[0]=s[i];
      //aa[1]='\0'; este optional

      //concatenarea in elementul din sirul de stringuri
      strcat(x[n],aa);
    }
    else
      strcpy(x[++n],"");

  //ordonam sirul x
  for(i=0;i<=n;i++)
    for(j=i+1;j<=n;j++)
      if(strcmp(x[i],x[j])<0){
    strcpy(aux,x[i]);
    strcpy(x[i],x[j]);
    strcpy(x[j],aux);
      }

  //afisam continutul sirului x
  for(i=0;i<=n;i++){
    puts(x[i]);
  }
}




PROBLEMA 7
Sa se afiseze sub forma de tabel9ca mai jos) numarul de aparitii a fiecarei vocale majuscula si minuscula sunt considerate aceeasi vocala) intr-o fraza intodusa de la tastatura

#include <stdio.h>
#include <string.h>

void main(){
  char *s, ss[250];
  int x[5];
  int i;

  //citim fraza
  printf("\n Dati fraza: ");
  gets(ss);

  //convertirea in majuscule
  s=strupr(ss);

  //initializare sir
  for(i=0;i<5;i++) x[i]=0;

  //x: 0-A, 1-E, 2-I, 3-O, 4-U
  for(i=0;i<strlen(s);i++){
    switch(s[i]){
      case 'A': x[0]++; break;
      case 'E': x[1]++; break;
      case 'I': x[2]++; break;
      case 'O': x[3]++; break;
      case 'U': x[4]++; break;
    }
  }

  //afisarea tabelului cerut
  printf("\n    A    E    I    O    U\n");
  for(i=0;i<5;i++) printf("%5d",x[i]);
}











PROBLEMA 8
Sa se afiseze numarul de aparitii a cuvantului 'examen'' intr-o fraza intodusa de la tastatura

#include <stdio.h>
#include <string.h>

void main(){
  char s[250], *ss;
  int na=0;

  //citim fraza
  printf("\n Dati fraza: ");
  gets(s);

  //calculez numar aparitii cuvant "examen"
  ss=s;
  while(ss!=NULL){
    ss=strstr(ss,"examen");
    if(ss!=NULL){
      na++;
      ss=ss+strlen("examen");
    }
  }
  printf("%d",na);
}















PROBLEMA 9
Sa se introduca de la tastatura un sir de valori intregi.Sa se construiasca doua liste simple inlantuite,una continand numerele pare si cealanta numere impare din sirul dat si sa se afiseze continutul listelor

#include <iostream>
using namespace std;
void main(){
  int a[100], i,n;
  typedef struct lista{
    int inf;
    lista* leg;
  } lis;
  lis *pn, *pp, *un, *up, *p;
  //citim sirul
  cout <<"\n Dati n: ";
  cin >>n;
  for(i=1;i<=n;i++){
    cout <<"\ Dati a[" <<i <<"]: ";
    cin >>a[i];
  }

  //crearea celor doua liste
  pn=NULL; pp=NULL;
  for(i=1;i<=n;i++){
    //aloc pointer pentru lista
    p=(lis *) malloc(sizeof(lis));
    p->leg=NULL;
    p->inf=a[i];
    //testez introducerea in una din cele doua liste
    if(a[i]%2==0)
      if(pp==NULL) pp=up=p;
      else{ up->leg=p; up=p;}
    else
      if(pn==NULL) pn=un=p;
      else{ un->leg=p; un=p;}
  }
  //afisarea celor doua liste
  cout <<"\n Lista :impare ";
  p=pn;
  while(p!=NULL){
    cout <<p->inf <<" ";
    p=p->leg;
  }
  cout <<"\n Lista pare: ";
  p=pp;
  while(p!=NULL){
    cout <<p->inf <<" ";
    p=p->leg;
  }
}









































PROBLEMA 10
Sa se introduca de la tastatura un sir de valori intregi.Sa se construiasca o lista simplu inlantuita care sa contina valorile pozitive ale sirului dat.Sa se sorteze lista in ordine crescatoare.Se vor afisa atat lista initiala cat si cea sortata.

#include <iostream>
using namespace std;

void main(){
  int a[100], i,n;
  typedef struct lista{
    int inf;
    lista* leg;
  } lis;
  lis *pp, *up, *p;

  //citim sirul
  cout <<"\n Dati n: ";
  cin >>n;
  for(i=1;i<=n;i++){
    cout <<"\ Dati a[" <<i <<"]: ";
    cin >>a[i];
  }

  //crearea lista
  pp=NULL;
  for(i=1;i<=n;i++){
    //aloc pointer pentru lista
    p=(lis *) malloc(sizeof(lis));
    p->leg=NULL;
    p->inf=a[i];

    //introduc in lista elementele pozitive
    if(a[i]>0 )
      if(pp==NULL) pp=up=p;
      else{ up->leg=p; up=p;}
  }

  //afisarea listei
  cout <<"\n Lista pozitivelor: ";
  p=pp;
  while(p!=NULL){
    cout <<p->inf <<" ";
    p=p->leg;
  }

  //ordonarea listei
  do{
    n=0;
    p=pp;
    while(p->leg!=NULL){
      if(p->inf>p->leg->inf){
    i=p->inf;
    p->inf=p->leg->inf;
    p->leg->inf=i;
    n=1;
      }
      p=p->leg;
    }
  }while(n==1);

  //afisarea listei ordonate
  cout <<"\n Lista pozitivelor ordonate: ";
  p=pp;
  while(p!=NULL){
    cout <<p->inf <<" ";
    p=p->leg;
  }
}
























PROBLEMA 11
Sa se scrie un program care sa creeze o lista simplu inlantuita cu un numar n (citit de la tastatura) de numere intregi generate aleatoriu,sorteaza lista si o afiseaza si apoi sterge toate elementele listei.Valorile numerelor aleatoriu cuprinse intre 0 si n

#include <iostream>
#include <stdlib.h>
#include<time.h>
using namespace std;
void main(){
  //randomize();
srand((unsigned)time(NULL) );
  int n,i;
  typedef struct lista{
    int inf;
    lista* leg;
  } lis;
  lis *pp, *up, *p;

  //citim n
  cout <<"\n Dati n: ";
  cin >>n;

  //crearea listei
  pp=NULL;
  for(i=1;i<=n;i++){
    //aloc pointer pentru lista
    p=(lis *) malloc(sizeof(lis));
    p->leg=NULL;
    p->inf=rand();

    //introduc in lista elementul
    if(pp==NULL) pp=up=p;
    else{ up->leg=p; up=p;}
  }

  //ordonarea listei
  do{
    n=0;
    p=pp;
    while(p->leg!=NULL){
      if(p->inf>p->leg->inf){
    i=p->inf;
    p->inf=p->leg->inf;
    p->leg->inf=i;
    n=1;
      }
      p=p->leg;
    }
  }while(n==1);

  //afisarea listei ordonate
  cout <<"\n Lista ordonata: ";
  p=pp;
  while(p!=NULL){
    cout <<p->inf <<" ";
    p=p->leg;
  }

  //distrugerea listei
  while(pp!=NULL){
    p=pp;
    pp=p->leg;
    free(p);
  }
}

























PROBLEMA 12
Sa se calculeze si sa se afiseze distanta dintre doua puncte de coordonate carteziene (x1,y1,z1),(x2,y2,z2),introduse de  la tastatura.Se vor folosi structuri  numite punct 3D obtinute prin gruparea a 3 valori float.

#include <iostream>
#include <math.h>
using namespace std;
void main(){
//  int n,i;
  float d;
  typedef struct punct{
    float x,y,z;
  } punct3d;
  punct3d a1,a2;

  //citim cele doua puncte
  cout <<"\n Dati a1.x: ";
  cin >>a1.x;
  cout <<" Dati a1.y: ";
  cin >>a1.y;
  cout <<" Dati a1.z: ";
  cin >>a1.z;
  cout <<" Dati a2.x: ";
  cin >>a2.x;
  cout <<" Dati a2.y: ";
  cin >>a2.y;
  cout <<" Dati a2.z: ";
  cin >>a2.z;

  //calculam distanta
  d=sqrt((a1.x-a2.x)*(a1.x-a2.x)+(a1.y-a2.y)*(a1.y-a2.y)+(a1.z-a2.z)*(a1.z-a2.z));
  cout <<d;
}













PROBLEMA 13
Sa se realizeze un program care sa compacteze  la stanga un sir de caractere,elimind separatorii9prin separator se intelege un spatiu sau un tabulator orizontal (,\,)


#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;
char f[100];
int i=0,j=0;
int main()
{      
    cin.get(f,100);
    j=0;

    for(;f[i];i++)
     if (f[i]!=' ' && f[i]!='"' && f[i]!='/' && f[i]!=',' && f[i]!='.' && f[i]!='\t')
        {
            f[j]=f[i];
            j++;
        }
     // se adauga la sfarsit terminatorul de sir
     f[j]='\0';
    puts("Textul compactat este : ");
    puts(f);
    return 0;
}















PROBLEMA 14
Sa se elaboreze un program care citeste dintr-un fisier de tip text un set de numere reale si afiseaza pe ecran cea mai mica,respectiv cea mai mare dintre valorile citite.

#include <iostream>
#include <stdio.h>
using namespace std;
void main(){
  int mic, mare, x;
  FILE *pf;
  pf=fopen("test.txt","r");
  fscanf(pf,"%d",&x);
  mic=mare=x;
  while(feof(pf)==0){
    fscanf(pf,"%d",&x);
    if(mic>x) mic=x;
    if(mare<x) mare=x;
  }
  fclose(pf);
  cout <<"\n Cel mai mare: " <<mare;
  cout <<"\n Cel mai mic: " <<mic;
}



























PROBLEMA 15
Sa se scrie un program care realizeaza afisarea pe ecran a numerelor intregi cuprinse intre doua valori a si b citite de la tastatura.


#include <iostream>
#include <stdio.h>
using namespace std;
void main(){
  int x, a[200], n=0, i, aux;
  FILE *pf;
  pf=fopen("test.txt","r");
  while(feof(pf)==0){
    fscanf(pf,"%d",&x);
    a[++n]=x;
  }
  fclose(pf);
  //ordonarea
  for(x=1;x<=n;x++)
    for(i=x+1;i<=n;i++)
      if(a[x]>a[i]){
    aux=a[x]; a[x]=a[i]; a[i]=aux;
      }
  //scrierea sirului in fisier
  pf=fopen("test.txt","w");
  for(i=1;i<=n;i++){
    if(i%5==0) fprintf(pf,"\n");
    fprintf(pf,"%d ",a[i]);
  }
  fclose(pf);
}

















PROBLEMA 16
Sa se scrie un program care citeste a,b,c ale laturilor unui triunghi,calculeaza si afiseaza aria triunghiului respectiv (aria=sqrt(p*(p-a)*(p-b)*(p-c)),unde p este semiperimetru triunghiului


#include<conio.h>
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
float a,b,c,p,aria;   

int main()
{
     cout<<"Lungimea lui a : "; cin>>a;
     cout<<"Lungimea lui b : "; cin>>b;
     cout<<"Lungimea lui c : "; cin>>c;
     if (a>0 && b>0 && c>0 && a<b+c && b<a+c && c<a+b)
    {
     p=(a+b+c) /2;
     aria=sqrt(p*(p-a)*(p-b)*(p-c));
     printf("%0.2f",aria);
    }
     else
    cout<<"Laturile nu formeaza un triunghi !!!"<<endl;
    return 0;
}















PROBLEMA 17
Sa se scrie un program care citeste o succesiune de cuvinte,le sorteaza in ordine alfabetica,apoi le afiseaza in ordinea respectiva.


#include<conio.h>
#include<iostream>
#include<string.h>
using namespace std;
char cuv[100][20],aux[20];
int n,i;

int main()
{
   
    cout<<"n=";
    cin>>n;

    // se pun cuvintele intr-un sir
    for (int i=1;i<=n;i++)
    {
        cout<<"Cuvantul "<<i<<" ";
        cin>>cuv[i];
    }

    // se sorteaza descrescator sirul de cuvinte
    for (i=1;i<n;i++)
      for (int j=i+1;j<=n;j++)
      if (strcmp(cuv[i],cuv[j])<0)
        {
             strcpy(aux,cuv[i]);
             strcpy(cuv[i],cuv[j]);
             strcpy(cuv[j],aux);
        }
    // se afiseaza sirul sortat

   
    cout<<"Cuvintele ordonate descrescator :"<<endl;
    for (i=1;i<=n;i++)
     cout<<cuv[i]<<endl;

    return 0;
}

PROBLEMA 18
#include<conio.h>
#include<iostream>
using namespace std;
long int data,an,zi,luna;
int bisect=0,valid=1,zile[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char luni[][20]={"","Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie",
        "August","Septembrie","Octombrie","Noiembrie","Decembrie"};
int main()
{
     
      cout<<"Introduceti data calendaristica :";
      cin>>data;
      if (data>=31129999 || data<=1011000) valid=0;

     if (valid)
     {
       //se extrage anul din data calendaristica
      an=data % 10000;
      data=data/10000;

      // se verifica daca este bisect
      if ((an % 100 ==0 ||an %4 ==0) && an % 400!=0) bisect=1;

      // se extrage luna din data calendaristica ramasa
      luna=data % 100;

      // se verifica daca luna este corecta
      if (luna<1 || luna>12) valid=0;

      // se extrage ziua
      if (valid) zi=data / 100;
      // se verifica daca ziua este corecta pentru anii nebisecti
      if (luna!=2 && (zi>zile[luna] || zi<1)) valid=0;
      if (luna==2 && bisect && (zi>29 || zi<1)) valid=0;
      if (luna==2 && !bisect && (zi>29 || zi<1)) valid=0;
      }
      if (valid)
     {
        if (zi<10)cout<<'0'<<zi<<' ';
        else cout<<zi<<' ';      
        cout<<luni[luna]<<' '<<an<<endl;
     }
       else cout<<"Data este invalida";
    return 0;
}

Brobleme.doc