Консультация № 138496
29.05.2008, 15:31
0.00 руб.
0 1 1
Здравствуйте shayen!

Вы мне очень помогли ответом на вопрос № 138480, суть проблемы понятна, просто реально нет времени и я прошу Вас подкоректировать ещё две программки: следующая в следующем вопросе! Заранее спасибо!

Приложение:
#include <iostream.h>#include <conio.h>#include <stdlib.h>int n,k;void main(){const int max_size=100;int* mas=new int[max_size];int i,m;extern void vvod(int*a,int n), vivod(int*a,int n),/*kills(int*a,int n),vstavka(int*a,intn),*/zsuv(int*a,int n),poshuk(int*a,int n),vpor(int*a,int n);extern int kills(int*a,int n),vstavka(int*a, int n);clrscr();cout <<"size masiv n="; cin>>n;cout <<"\\n";vvod(mas,n);vivod(mas,n);cout <<"\\n\\n znischennya\\n";n=kills(mas,n);vivod(mas,n);cout <<"\\n\\n vstavka\\n";n=vstavka(mas,n);vivod(mas,n);cout <<"\\n\\n zsuv\\n";zsuv(mas,n);vivod(mas,n);cout <<"\\n\\n poshuk\\n";poshuk(mas,n);cout <<"\\n\\n vporyadkynannya\\n";vpor(mas,n);vivod(mas,n);cout <<"\\n\\n poshuk\\n";poshuk(mas,n);}void vvod(int*a,int n){int i;for (i=0;i<n;i++) {*(a+i)=rand()%100-50;}}void vivod(int*a,int n){int i;cout <<"\\n";for (i=0;i<n;i++) {cout <<*(a+i) <<" ";}}int kills(int*a,int n){int i,j,n1;float summ,sr_znach;for (i=0;i<n;i++){summ=summ+*(a+i);}sr_znach=summ/n;for (i=0;i<n;i++){if (*(a+i)>sr_znach) {for (j=i;j<n-1;j++) {*(a+j)=*(a+j+1);}*(a+n-1)=0;n--;i--;}}return n;}int vstavka(int*a,int n){int i,k;cout <<"k=";cin >> k;for (i=n-1;i>=0;i--){*(a+k+i)=*(a+i);}for (i=0;i<k;i++){*(a+i)=rand()%100-50;}n=n+k;return n;}void zsuv(int*a,int n){int p1,p2,i,k,m;cout <<"m=";cin >>m;for (i=0;i<m;i++){p1=*a;for (k=0;k<n;k++){p2=*(a+(k+1)%n);*(a+(k+1)%n)=p1;p1=p2;}}}void poshuk(int*a,int n){int i,k,m;k=0;for (i=0;i<n;i++){if (*(a+i)%2==0){m=*(a+i);k=1;break;}}if (k==1) cout <<"\\n perschiy parniy =" <<m<<"\\n kilkist porivnyan =" <<i+1;else cout <<"\\n parnich nema";}void vpor(int*a,int n){int x,j,i,k;for (i=1;i<n;i++){for (j=0;j<i;j++){if(*(a+i)<*(a+j)) {x=*(a+i); for(k=i-1;k>j;k--){ *(a+k+1)=*(a+k);}*(a+j)=x;break;}}}}

Обсуждение

Неизвестный
29.05.2008, 16:22
общий
это ответ
Здравствуйте, Sashka!
программа компилировалась в VS 2003 добавлена функция srand(time(NULL)) которая служит для задания начального значения при генерации случайный чисел, исправлены некоторые неточности.
Удачи.

Приложение:
#include <iostream>#include <conio.h>#include <stdlib.h>#include <time.h>using namespace std;void main(){const int max_size=100;int* mas=new int[max_size];int i,m,n,k;srand(time(NULL)); //Для генерации случайного числаextern void vvod(int*a,int n), vivod(int*a,int n),zsuv(int*a,int n),poshuk(int*a,int n),vpor(int*a,int n);extern int kills(int*a,int n),vstavka(int*a, int n);system("CLS");cout <<"size masiv n=";cin>>n;cout <<"\n";vvod(mas,n);vivod(mas,n);cout <<"\n\n znischennya\n";n=kills(mas,n);vivod(mas,n);cout <<"\n\n vstavka\n";n=vstavka(mas,n);vivod(mas,n);cout <<"\n\n zsuv\n";zsuv(mas,n);vivod(mas,n);cout <<"\n\n poshuk\n";poshuk(mas,n);cout <<"\n\n vporyadkynannya\n";vpor(mas,n);vivod(mas,n);cout <<"\n\n poshuk\n";poshuk(mas,n);getch();}void vvod(int*a,int n){int i;for (i=0;i<n;i++){ *(a+i)=rand()%100-50;}}void vivod(int*a,int n){int i;cout <<"\n";for (i=0;i<n;i++){ cout <<*(a+i) <<" ";}}int kills(int*a,int n){int i,j,n1;float summ=0,sr_znach;for (i=0;i<n;i++){ summ=summ+*(a+i);}sr_znach=summ/n;for (i=0;i<n;i++){ if (*(a+i)>sr_znach) { for (j=i;j<n-1;j++) { *(a+j)=*(a+j+1); } *(a+n-1)=0; n--; i--; }}return n;}int vstavka(int*a,int n){int i,k;cout <<"k=";cin >> k;for (i=n-1;i>=0;i--){ *(a+k+i)=*(a+i);}for (i=0;i<k;i++){ *(a+i)=rand()%100-50;}n=n+k;return n;}void zsuv(int*a,int n){int p1,p2,i,k,m;cout <<"m=";cin >>m;for (i=0;i<m;i++){ p1=*a; for (k=0;k<n;k++) { p2=*(a+(k+1)%n); *(a+(k+1)%n)=p1; p1=p2; }}}void poshuk(int*a,int n){int i,k,m;k=0;for (i=0;i<n;i++){ if (*(a+i)%2==0) { m=*(a+i); k=1; break; }}if (k==1) cout <<"\n perschiy parniy =" <<m<<"\n kilkist porivnyan =" <<i+1;else cout <<"\n parnich nema";}void vpor(int*a,int n){int x,j,i;for (i=0;i<n;i++){ for (j=i+1;j<n;j++) { if(*(a+i)>*(a+j)) { x=*(a+i); *(a+i)=*(a+j); *(a+j)=x; //break; } }}}
Форма ответа