Documente Academic
Documente Profesional
Documente Cultură
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("puterik.in");
ofstream out("puterik.out");
void Ordonare(int vector[], int &limita)
int i;
bool found = true;
while (found)
{
found = false;
for (i = 1; i <= limita - 1; i++)
{
if (vector[i] > vector[i + 1])
{
int aux = vector[i];
vector[i] = vector[i + 1];
vector[i + 1] = aux;
found = true;
}
}
}
bool Putere(int x, int k)
if (x > 1)
{
while (x % k == 0)
{
x /= k;
}
}
return (x == 1);
int main()
int n, k, m = 0;
int v[105], put[105];
int i;
in >> n >> k;
while(n)
{
in >> v[i];
if (Putere(v[i], k))
put[++m] = v[i];
i++; n--;
}
Ordonare(put, m);
for (i = 1; i <= m; i++)
out << put[i] << " ";
return 0;
Problema 1608
swap(v[i], v[j]);
swap(div_v[i], div_v[j]);
}
else
if(div_v[i]==div_v[j])
if(v[i]>v[j])
swap(v[i], v[j]);
for(i=0;i<n;i++)
fout << v[i]<<' ';
return 0;
}
Problema 509
Cerinţa
Să se ordoneze crescător elementele vectorului.
#include<iostream>
int main()
{
cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
}
Problema 618
#include <iostream>
int main()
{
cin>>n;
for(int i=1;i<=n;i++)//memorez indicii initiali
x[i]=i;
for(int i=1;i<=n;i++)
cin>>a[i];
int gata;
for(int i=1;i<n;i++)
{
gata=1;
for(int j=i+1;j<=n;j++)
if(a[i]>a[j])
{
swap(a[i],a[j]);
swap(x[i],x[j]);
gata=0;
}
if(gata)
break;
}
for(int i=1;i<=n;i++)
cout<<x[i]<<' ';
return 0;
}