1. Se citesc n numere într-un vector. Să se șteargă ultimul element par.
2. Definim operaţia de compactare a unui tablou ca fiind eliminarea zerourilor. Dacă întâlnim un element nul toate elementele situate la dreapta sa vor veni cu o poziţie mai in faţă, în locul său. Se dă un tablou cu n elemente intregi. Compactaţi-l.
Exemplu:
Date de intrare: n=4 numere: 9 0 0 5
Date de ieşire: 9 5.
3. Se citesc n numere într-un vector. Să se șteargă toate numerele pare de pe poziții impare.
Răspunsuri la întrebare
Răspuns:
/*
OBS:
Elementele vectorului sunt indexati de la 1!!!
Dimensiunea vectorului este de 1005!!!
*/
Ex 1
#include <bits/stdc++.h>
using namespace std;
int a[1005],n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
bool ok=1;
for(int i=n;i>=1 and ok;i--)
if(a[i]%2==0)
{
ok=0;
for(int j=i+1;j<=n;j++)
a[j-1]=a[j];
n--;
}
for(int i=1;i<=n;i++)
cout<<a[i]<<' ';
return 0;
}
Ex 2
#include <bits/stdc++.h>
using namespace std;
int a[1005],n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=n;i>=1;i--)
if(a[i]==0)
{
for(int j=i+1;j<=n;j++)
a[j-1]=a[j];
n--;
}
for(int i=1;i<=n;i++)
cout<<a[i]<<' ';
return 0;
}
Ex 3
#include <bits/stdc++.h>
using namespace std;
int a[1005],n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
int i=n;
if(i%2==0) i--;/*daca i ii nr par, il transformam in nr impar ca sa putem merge din 2 in 2, pe pozitiile impare ale vectorului*/
while(i>=1)
{
if(a[i]%2==0)
{
for(int j=i+1;j<=n;j++)
a[j-1]=a[j];
n--;
}
i-=2;
}
for(int i=1;i<=n;i++)
cout<<a[i]<<' ';
return 0;
}