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 că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!