1.
Datele simple și datele structurate// ce numim tip de date, exemple de
tipuri de date si care este destinatia lor
Pentru a scuti utilizatorul de toate detaliile legate de reprezentarea internă a datelor, limbajele de
programare utilizează diverse tipuri de date. Amintim că prin tip de date se înţelege o mulţime de valori şi o
mulţime de operaţii care pot fi efectuate cu valorile respective.
În clasele precedente aţi studiat următoarele tipuri de date:
• integer/int, destinat prelucrării pe calculator a numerelor întregi;
• real/float, pentru prelucrarea numerelor reale;
• boolean/bool, utilizat în cazul prelucrării valorilor de adevăr;
•char/char, destinat reprezentării şi prelucrării caracterelor;
• enumerare (enum), care include o mulţime ordonată de valori specificate prin identificatori;
• subdomeniu (doar în limbajul PASCAL), care include o submulţime de valori ale unui tip integer, boolean,
char sau enumerare
[Link] de date tablou //vor fi ex de declaratii si va trebui de
reprezentat structura datelor ca in ex de mai jos
Probleme de tipul aflati max,min,suma. Cum se face indexarea intr-un
tablou
[Link] de date sir de caractere //ce numim tip de date sir de caractere
, care sunt modalitatile de reprezentare a tip de date sir de caractere ,
cate metode sunt.
O problema cu afisarea numelui, prenumelui etc.
4. Tipuri de date articol// probleme cu afisarea mediei anuale
[Link] de date mulțime //problema cu reuniunea, intersectia, diferentei
si diferentei simetrice
#include <iostream>
using namespace std;
int A[100], B[100], AUB[200], AnB[200], A_B[100], B_A[100], difsim[100];
int n, m, k, k1, k2, k3, k4, i, j; bool gasit;
int main()
{
cout<<"n=";
cin>>n;
for(i=1; i<=n; i++)
{
cout<<"A["<<i<<"]=";
cin>>A[i];
}
cout<<"m=";
cin>>m;
for(i=1; i<=m; i++)
{
cout<<"B["<<i<<"]=";
cin>>B[i];
}
for(i=1; i<=n; i++)
{
k++;
AUB[k]=A[i];
}
for(i=1; i<=m; i++)
{
gasit=0;
for(j=1; j<=k; j++)
if (AUB[j]==B[i])
gasit=1;
if(gasit==0)
{
k++;
AUB[k]=B[i];
}
}
cout<<"AUB=";
for(i=1; i<=k; i++)
cout<<AUB[i]<<" ";//Reuniunea
cout<<endl;
for(i=1; i<=n; i++)//intersectia
{
gasit=0;
for(j=1; j<=m; j++)
if(A[i]==B[j])
gasit=1;
if(gasit==1)
{
k1++;
AnB[k1]=A[i];
}
}
cout<<"AnB=";
for(i=1; i<=k1; i++)
cout<<AnB[i]<<" ";//Intersectie
cout<<endl;
for(i=1; i<=n; i++)//Diferenta
{
gasit=0;
for(j=1; j<=m; j++)
if(A[i]==B[j])
gasit=1;
if(gasit==0)
{
k2++;
A_B[k2]=A[i];
}
}
cout<<"A_B=";
for(i=1; i<=k2; i++)
cout<<A_B[i]<<" ";//Diferenta
cout<<endl;
for(i=1; i<=m; i++)//Diferenta
{
gasit=0;
for(j=1; j<=n; j++)
if(B[i]==A[j])
gasit=1;
if(gasit==0)
{
k3++;
B_A[k3]=B[i];
}
}
cout<<"B_A=";
for(i=1; i<=k3; i++)
cout<<B_A[i]<<" ";//Diferenta
for(i=1; i<=k2; i++)
{
k4++;
difsim[k4]=A_B[i];
}
for(i=1; i<=k3; i++)
{
k4++;
difsim[k4]=B_A[i];
}
cout<<endl;
cout<<"difsim=";
for(i=1; i<=k4; i++)
cout<<difsim[i]<<" ";
return 0;
}
//Se citesc n numere întregi ( n<=100). Să se afișeze numerele, iar pe rândul următor suma
tuturor acestor numere. //Produsul
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i;
float s=0, p=1;
typedef int Vector[100];
Vector V;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0; i<n; i++){
s=s+V[i];
}
for(i=0; i<n; i++){
p=p*V[i];
}
cout<<"S= "<<s<<endl;
cout<<"P= "<<p;
return 0;
}
Se dau n numere întregi (n<=100). Să se calculeze suma numerelor pare si //suma impare.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, e = 0, o = 0;
float s=0, p=1;
typedef int Vector[100];
Vector V;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0; i<n; i++){
if(V[i] % 2 == 0)
e += V[i];
else
o += V[i];
}
cout<<"E= "<<e<<endl;
cout<<"O= "<<o;
return 0;
}
Se dau n numere întregi (n<=100). Să se calculeze suma numerelor pare și produsul
numerelor impare.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, e = 0, o = 1;
float s=0, p=1;
typedef int Vector[100];
Vector V;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0; i<n; i++){
if(V[i] % 2 == 0)
e += V[i];
else
o = o * V[i];
}
cout<<"E= "<<e<<endl;
cout<<"O= "<<o;
return 0;
}
Se dau n numere întregi (n<=100). Să se calculeze suma numerelor de 2 cifre si care au
ultima cifra egala cu 7.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i;
float s=0, p=1;
typedef int Vector[100];
Vector V;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0; i<n; i++){
if((V[i]>=10) && (V[i]<=99) &&(V[i] % 10 == 7)){
s += V[i];
}
cout<<"S= "<<s<<endl;
return 0;
}
//Se dau n numere întregi (n<=100). Să se afiseze numerele de pe pozitii pare.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, p;
typedef int Vector[100];
Vector V;
typedef int Vector[100];
Vector A;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0;i<n;i++){
if(i % 2 == 0){
cout<<V[i]<<endl;
return 0;
}*
Se dau n numere întregi (n<=100). Să se afiseze numerele impare de pe pozitii pare.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, p;
typedef int Vector[100];
Vector V;
typedef int Vector[100];
Vector A;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0;i<n;i++)
if((V[i] % 2 == 1) && (i % 2 == 0)){
{
cout<<V[i]<<endl;
}
}
return 0;
}
Se dau n numere întregi (n<=100). Să se afiseze numarul de numerele impare de pe pozitii
pare.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, p;
typedef int Vector[100];
Vector V;
typedef int Vector[100];
Vector A;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0;i<n;i++)
if((V[i] % 2 == 0) && (i % 2 == 1)){
{
cout<<V[i]<<endl;
}
}
return 0;
}
//Se dau n numere întregi (n<=100). Să se afiseze toate numerele pare in ordinea inversa a
citirii lor.
#include<bits/stdc++.h>
using namespace std;
int main(){
{
int n, i, p;
typedef int Vector[100];
Vector V;
for(i=n; i>=1;i--){
if( V[i]%2==0)cout<<V[i];}
return 0;
}
//Se dau n numere întregi (n<=100). Să se afiseze indicele numerelor divizibile cu 5.
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, i, p;
typedef int Vector[100];
Vector V;
typedef int Vector[100];
Vector A;
cout<<"Dati numere"; cin>>n;
for(i=0; i<n; i++) cin>>V[i];
for(i=0; i<n; i++){
if(V[i] % 5 == 0){
cout<<i;
}
}
return 0;
}