Urgent!Mă puteți ajuta cu acest program? Nu merge din cauza acestei erori segmentation fault (core dumped). Nu înțeleg cum să fac să funcționeze.
#include
using namespace std;
int main(){
int a[100],b[100],i,n,j,k,x,p;
cout<<"Introduceti dimensiunea vectorului: ";cin>>n;
for(i=0;i
{cin>>a[i];
if(a[i]<0)
{
k++;
b[k]=a[i];
}}
for(i=0;i
for((j=i+1);j<=k;j++)
if(b[i]
p=k;
for(i=0;i<=n;i++)
if(a[i]>=0)
{
k++;
b[k]=a[i];
}
for(i=p;j
for((j=i+1);j<=k;j++)
if(b[i]>b[j])swap(b[i],b[j]);
for(i=0;i<=k;i++)
cout<
}
era bine sa scrii enuntul problemei,, ca vedem un cod trunchiat si nu e clar unde gresesti si cum sa te ajutam...
De exemplu, având A = (4, -8, 7, -6, 0, 7, -5),se va obține A = (-8, 4, 7, 7, 0, -5, -6).
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,i,j, nrmax, indmax, temp, a[100];
cout << "n="; cin >> n;
cout << "introdu " << n << " numere intregi: ";
cin >> a[0]; nrmax=a[0]; indmax=0;
for (i=1; i<n; i++)
{
cin >> a[i];
if (a[i]>nrmax)
{
nrmax=a[i]; indmax=i;
}
}
int schimb=1;
while (schimb==1)
{
schimb=0;
for (i=0; i<indmax-1; i++)
{
if (a[i+1]<a[i])
{
swap(a[i],a[i+1]);
schimb=1;
}
}
}
schimb=1;
while (schimb==1)
{
schimb=0;
for (i=indmax+1; i<n-1; i++)
{
if (a[i+1] > a[i])
{
swap(a[i],a[i+1]);
schimb=1;
}
}
}
cout << "tabloul ordonat: \n";
for (i=0; i<n; i++)
cout << a[i] << " ";
}
Explicație:
un singur vector...
aplicata metoda bulelor... de la 0 la indmax (indicele primului maximal) cu ordonare crescatoare, si dela indmax+1 pana la capat pentru ordonare descrescatoare