29.05.2008, 14:58
общий
это ответ
Здравствуйте, Sashka!
Вы правы в вашем случае имеет место ошибка в заголовочном файле.Несколько лет после появления языка С++ он использовал тот же стиль работы с заголовками что и язык С,в нём применялись заголовочные файлы,стандарт С++ также допускает использование заголовчных файлов в стиле языка С, однако стандарт языка С++ предусматривает новый вид заголовка,который используется в стандартной библиотеке.Эти заголовки не являются файлами,они просто представляют собой некие стандартные идентификаторы,которые могут соответствовать файлам, а могут не соответствовать им, поэтому расширение .h в них не ставится.Например <iostream>,<string>.Также при использовании заголовков нового стиля его содержимое погружается в пространство имён std.Пространство имён-это просто область видимости.В данном случае using namespace std, т.е. пространство имён включается в глобальное пространство имён.
Новый стиль заголовков используется в VS начиная с версии 2003.
В приложении слегка скоректированная программа скомпилированная под VS 2003
Приложение:
#include <iostream>#include <conio.h>#include <stdlib.h>using namespace std;void main(){int* mas;int** matr;extern void zapov(int*,int),vivod(int*,int),kills(int*,int),zapov2(int**,int,int),vivod2(int**,int,int);extern int* form(int);extern int** form_matr(int,int);extern int** radd(int**,int,int,int);int i,n,m,k;do{//system("CLS");system("CLS");cout <<"\n1. Form odnovimir masiv\n";cout <<"2. Vivedennya odnovimir masivy\n";cout <<"3. Znischennya v odnovimir masivi\n";cout <<"4. Form dvovimirn masiv\n";cout <<"5. Vivedennya dvovimirn masivy\n";cout <<"6. Dodav do dvovimirn masivy\n";cout <<"7. Vichid\n";//do{cin >>k;switch (k){case 1:cout <<"\n n=";cin >>n;mas=form(n);zapov(mas,n);break;case 2:vivod(mas,n);getch();break;case 3:kills(mas,n);break;case 4:;cout << "\n n=";cin >>n;cout <<" m=";cin >>m;matr=form_matr(n,m);zapov2(matr,n,m);break;case 5:vivod2(matr,n,m);getch();break;case 6:cout <<"\n m=";cin >>k;m=m+k;matr=radd(matr,n,m,k);break;}}while (k!=7);}int* form(int n){int* a=new int[n];return a;}void zapov(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;for (i=0;i<n;i++){cout <<*(a+i) <<"\t";}cout <<"\n";}void kills(int*a,int n){int i;for (i=0;i<n;i++){if (*(a+i)%2!=0){*(a+i)=0;}}}int** form_matr(int n,int m){int i;int** b=new int*[n];for (i=0;i<n;i++) b[i]=new int[m];return b;}void zapov2(int** b,int n,int m){int i,j;for (i=0;i<n;i++){for (j=0;j<m;j++) b[i][j]=rand()%100-50;}}void vivod2(int** b,int n,int m){int i,j;for (i=0;i<m;i++){cout <<"\n";for (j=0;j<n;j++) {cout <<b[j][i] <<"\t";}}cout <<"\n";}int** radd(int** a,int n,int m,int k){int i,j;int** b=new int*[n];for (i=0;i<n;i++) b[i]=new int[m];for (i=0;i<n;i++){for (j=0;j<m;j++){if (j<k) b[i][j]=rand()%100-50;else b[i][j]=a[i][j-k];}}return b;}