Răspuns :
Apreciez ca ai incercat si singur insa nu este tocmai ce iti trebuie.
Ca sa elimini elementele dintr-un vector poti folosi un subprogram:
void sterge(int x) // x reprezinta pozitia elementului pe care vrei sa il stergi
{
int i;
for(i=x;i<=n;i++)
v[i]=v[i+1]; // muta elementele cu o pozitie in spate
n--; // micsorezi marimea vectorului cu 1
}
de asemenea cand apelezi subprogramul adauga si un "i--;" fiindca daca ai aceeasi cifra pe pozitii consecutive o va sterge doar o data (adica daca vectorul tau este 2, 5, 5, 4 si vrei sa stergi elementele egale cu 5 vectorul va deveni 2, 5, 4)
Ca sa elimini elementele dintr-un vector poti folosi un subprogram:
void sterge(int x) // x reprezinta pozitia elementului pe care vrei sa il stergi
{
int i;
for(i=x;i<=n;i++)
v[i]=v[i+1]; // muta elementele cu o pozitie in spate
n--; // micsorezi marimea vectorului cu 1
}
de asemenea cand apelezi subprogramul adauga si un "i--;" fiindca daca ai aceeasi cifra pe pozitii consecutive o va sterge doar o data (adica daca vectorul tau este 2, 5, 5, 4 si vrei sa stergi elementele egale cu 5 vectorul va deveni 2, 5, 4)
#include <bits/stdc++.h>
using namespace std;
int n, k, nrd, d, i, x;
int main()
{
ifstream f("divk.in");
ofstream g("divk.out");
f >> n >> k;
for(i = 1; i <= n; i ++)
{
nrd = 0;
f >> x;
for(d = 1 ;d * d < x; d ++)
if(x % d == 0) nrd = nrd + 2;
if(d * d == x) nrd ++;
if(nrd >= k) g << x << " ";
}
return 0;
}
using namespace std;
int n, k, nrd, d, i, x;
int main()
{
ifstream f("divk.in");
ofstream g("divk.out");
f >> n >> k;
for(i = 1; i <= n; i ++)
{
nrd = 0;
f >> x;
for(d = 1 ;d * d < x; d ++)
if(x % d == 0) nrd = nrd + 2;
if(d * d == x) nrd ++;
if(nrd >= k) g << x << " ";
}
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!