Массивтер: Ретімен орналастыру

Есептер
Өлшемі N-ге тең массив берілген. Элементтерін осындай тәртіппен орналастырыңыз.

A(1), A(N), A(2), A(N-1),A(3), A(N-2)…
N = 7
5 7 8 9 4 2 1

5 1 7 2 8 4 9

14 пікір

avatar
for(int i=0; i<n/2; i++){
    cout<<a[i]<<" "<<a[n-i]<<" ";
}
avatar
1)мына задачаны жиберсен ошибка шыгады :)
2)массивтин узындыгы так сан болса, ортасында турган сан жогалып кетеди гой
avatar
)))
if(n%2==0){
    for(int i=0; i<n/2; i++){
    cout<<a[i]<<" "<<a[n-i]<<" ";
}
} else {
    for(int i=0; i<n/2; i++){
    cout<<a[i]<<" "<<a[n-i]<<" ";
} 
int d = n/2;
cout<<a[d+1];
}
avatar
Али де бир кате бар :)))
avatar
қолымда среда болмай тұрғаны тексеріп қарайтын… ойдан ұрып жазып жатырм…
avatar
)))

if(n%2==0){
    for(int i=0; i<n/2; i++){
    cout<<a[i]<<" "<<a[n-i]<<" ";
}
} else {
int d = n/2;
    for(int i=0; i<d; i++){
    cout<<a[i]<<" "<<a[n-i]<<" ";
} 
cout<<a[d+1];
}
avatar
кате али тур :)))
avatar
Ол катени кори ушин среда кажет емес, просто внимательно карау керек :))
Менде среда жок :)
avatar
Сіздің деңгейге жету үшін әлі пахать и пахать)))
avatar

if(n%2==0){
    for(int i=0; i<n/2; i++){
    cout<<a[i]<<" "<<a[n-1-i]<<" ";
}
} else {
int d = n/2;
    for(int i=0; i<d; i++){
    cout<<a[i]<<" "<<a[n-1-i]<<" ";
} 
cout<<a[d+1];
}
avatar
енди дурыс болды :)
кате сол a[n-i] болатын :)
avatar
Все таки a[d+1] деген отирик болып кетипти гой. a[d] болу керек. Жане кодты аздап рефакторить етип жиберуге болады.

for(int i=0; i<n/2; i++){
cout<<a[i]<<" "<<a[n-1-i]<<" ";
}
if (n%2!=0) cout<<a[d];
avatar
d=n/2 деп жогарыда корсетилген :)
Тек қана тіркелген және авторизациядан өткен қолданушылар пікір қалдыра алады.