slashovanton | Дата: Четверг, 15.01.2009, 12:22 | Сообщение # 1 |
 Admin
Группа: Администраторы
Сообщений: 109
Статус: Offline
| Turbo C++ 3.0 Задания лабораторных работ. В комментариях решение некоторых вариантов и подсказки. Решение вопросов: Как скопировавши с сайта программу на паскале, поместить её в паскаль? Как в готовой программе набирать на русском языке? Тут Задания курсового проекта по ОПАМ.
"Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать" "Мы в ответе за тех, кого вовремя не послали" "Готовтесь! завтра будет хуже, но интересней"
|
|
| |
slashovanton | Дата: Суббота, 16.05.2009, 17:01 | Сообщение # 2 |
 Admin
Группа: Администраторы
Сообщений: 109
Статус: Offline
| BC-7 Code /* Программа для ввода/вывода вектора и матрицы Replacement - Заполняет вектором главную диагональ матрицы */ #include<stdio.h> //=========================================================================================================== void New(unsigned long &n,const char *sNameVector=NULL) { printf("%s[n]\n",sNameVector); printf("n="); scanf("%d",&n);// Строк } //=========================================================================================================== void New(unsigned long &n,unsigned long &m,const char *sNameArray=NULL) { printf("%s[n][m]\n",sNameArray); printf("n="); scanf("%d",&n);// Строк printf("m="); scanf("%d",&m);// Столбцов } //=========================================================================================================== void New( // Вводит вектор float **ppfVector, // Адрес вектора const unsigned long n, // Количество строк вектора (если = 0 то удаляет вектор) const char *sNameVector=NULL) // Имя вектора (Если указанно то вектор вводится с клавиатуры) { register unsigned long i; if((*ppfVector)!=NULL) { // Освобождение памяти delete [] (*ppfVector); (*ppfVector)=NULL; } if(n>0) { // Динамическое выделение памяти (*ppfVector)=new float[n];// Cтроки if(sNameVector!=NULL) { // Ввод for(i=0;i<n;i++)// Cтроки { printf("%s[%d]=",sNameVector,i); scanf("%f",&(*ppfVector)[i]); } printf("\n"); } } } //=========================================================================================================== void New( // Вводит матрицу float ***pppfArray, // Адрес матрицы const unsigned long n, // Количество строк матрицы const unsigned long m, // Количество столбцов матрицы const char *sNameArray=NULL) // Имя матрицы (Если указанно то матрица вводится с клавиатуры) { register unsigned long i,j; if((*pppfArray)!=NULL) { // Освобождение памяти for(i=0;i<n;i++) delete [] (*pppfArray)[i]; delete [] (*pppfArray); (*pppfArray)=NULL; } if(n>0 && m>0) { // Динамическое выделение памяти (*pppfArray)=new float*[n];// Cтолбец указателей for(i=0;i<n;i++) (*pppfArray)[i]=new float[m];// Cтроки if(sNameArray!=NULL) { // Ввод for(i=0;i<n;i++)// Строки for(j=0;j<m;j++)// Столбцы { printf("%s[%d][%d]=",sNameArray,i,j); scanf("%f",&(*pppfArray)[i][j]); } printf("\n"); } } } //=========================================================================================================== void Print(const unsigned long iNumber)// Выводит идентификатор { printf("Laboratory work BC-%d\n",iNumber); printf("The student of group PZ-08-1\n"); printf("Slashov Anton\n"); printf("Variant 17\n\n"); } //=========================================================================================================== void Print( float *pfVector, const unsigned long n, const char *sNameVector) { register unsigned long i; if(pfVector!=0) { // Вывод массива printf("%s={ ",sNameVector); for(i=0;i<n;i++)// Строки { printf("%.2f ",pfVector[i]); } printf("}\n\n"); } } //=========================================================================================================== void Print( float **ppfArray, const unsigned long n, const unsigned long m, const char *sNameArray) { register unsigned long i,j; if(ppfArray!=0) { // Вывод массива printf("%s=\n",sNameArray); for(i=0;i<n;i++)// Строки { for(j=0;j<m;j++)// Столбцы printf("\t%.2f",ppfArray[i][j]); printf("\n"); } printf("\n"); } } //=========================================================================================================== void Replacement( // Заполняет вектором главную диагональ матрицы float *pfVector, const unsigned long Vn, float **ppfArray, const unsigned long An, const unsigned long Am) { register unsigned long n,i; n=An<Am ? An : Am; n= n<Vn ? n : Vn; for(i=0;i<n;i++) { ppfArray[i][i]=pfVector[i]; } } //=========================================================================================================== void main() { float *Vec=NULL,**Arr=NULL;// Обнулять обязательно! unsigned long Vn,An,Am; Print(7); // Создание Заполнение New(Vn,"Vector"); New(&Vec,Vn,"Vector"); New(An,Am,"Array"); New(&Arr,An,Am,"Array"); // Распечатка Print(Vec,Vn,"Vector"); Print(Arr,An,Am,"Array"); // Замена Replacement(Vec,Vn,Arr,An,Am); // Распечатка Print(Vec,Vn,"Vector"); Print(Arr,An,Am,"Array"); // Удаление New(&Vec,0); New(&Arr,0,0); }
"Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать" "Мы в ответе за тех, кого вовремя не послали" "Готовтесь! завтра будет хуже, но интересней"
|
|
| |
slashovanton | Дата: Вторник, 16.06.2009, 17:30 | Сообщение # 3 |
 Admin
Группа: Администраторы
Сообщений: 109
Статус: Offline
| BC-8 Code #include<stdio.h> //================================== void New(unsigned long &n,const char *sNameVector) { printf("%s[n]\n",sNameVector); printf("n="); scanf("%d",&n);// Строк } //================================== void New( // Вводит вектор float **ppfVector, // Адрес вектора const unsigned long n, // Количество строк вектора (если = 0 то удаляет вектор) const char *sNameVector=NULL) // Имя вектора (Если указанно то вектор вводится с клавиатуры) { register unsigned long i; if((*ppfVector)!=NULL) { // Освобождение памяти delete [] (*ppfVector); (*ppfVector)=NULL; } if(n>0) { // Динамическое выделение памяти (*ppfVector)=new float[n];// Cтроки if(sNameVector!=NULL) { // Ввод for(i=0;i<n;i++)// Cтроки { printf("%s[%d]=",sNameVector,i); scanf("%f",&(*ppfVector)[i]); } printf("\n"); } } } //================================== void Print(const unsigned long iNumber)// Выводит идентификатор { printf("Laboratory work BC-%d\n",iNumber); printf("The student of group PZ-08-1\n"); printf("Slashov Anton\n"); printf("Variant 17\n\n"); } //================================== void Print( float *pfVector, const unsigned long n, const char *sNameVector) { register unsigned long i; if(pfVector!=0) { // Вывод массива printf("%s={ ",sNameVector); for(i=0;i<n;i++)// Строки { printf("%.2f ",pfVector[i]); } printf("}\n\n"); } } //================================== void Func( float *m,const unsigned long n) { register unsigned long i,k=0; float s=0; for(i=0;i<n;i++) if(m[i]>0) { s+=m[i]; k++; } if(k>0) { s/=k; for(i=0;i<n;i++) if(m[i]<0) m[i]=s; } } //================================== void main() { float *Vec=NULL,**Arr=NULL;// Обнулять обязательно! unsigned long Vn,An,Am; Print(8); // Создание Заполнение New(Vn,"Vector"); New(&Vec,Vn,"Vector"); // Распечатка Print(Vec,Vn,"Vector"); // Замена Func(Vec,Vn); // Распечатка Print(Vec,Vn,"Vector"); // Удаление New(&Vec,0); }
"Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать" "Мы в ответе за тех, кого вовремя не послали" "Готовтесь! завтра будет хуже, но интересней"
|
|
| |