Цитата(Guliya @ 11.12.2012, 21:11) | Удалить из массива элементы, следующие по убыванию от максимального элемента. * Пример: из массива 2 1 3 8 5 6 4 5 2 0, 5 4 2 0 – удалить! Начала писать, но запуталась, особенно со второй частью.
Код | # include <stdio.h> # include <math.h> # include <conio.h> # include <stdlib.h> void sort(int *X,int); void main() { int i,n,X[20]={0}; printf ("\n vvedite kolichestvo elementov:"); scanf ("%d",&n); randomize(); for (i=0;i<n;i++) {X[i]=random(20)-10; //диапазон от -10 до 10 printf("%d ",X[i]); } sort(X,n); getch (); } //------------------------------function------------------------------------
void sort(int *X,int n) {int j,// j - счетчик найденных ненужных цифр for( int i=1, X[i]=2 or X[i]<=n;i++) { if X[i]=2 or X[i]=0) { a [ i ] = a [ i+1 ]; j = j + 1; n = n - j; } } return(n) }
|
|
например есть цифры 4 6 9 8 4 6 1, нужно найти максимальный элемент это 9, потом удаляем 8, 4, 1, т.е берем следующую цифру, после максимального элемента и убираем те цифры, которые убывают, 8, потом меньше 8 четыре, т.к 6 больше 4, то оставляем, дальше убираем 1, потому что меньше 4. 3276 4051 удалить 6,4,1
7594321 удалить 4321
01643120 удалить 4310 |