Разработка программ на С++ и в системе MathCAD

Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 22:29, курсовая работа

Описание работы

В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент, Получить квадратную матрицу порядка n-1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением

Файлы: 1 файл

Разработка программ на С++ и в системе MathCAD.DOC

— 106.50 Кб (Скачать файл)

cin>>n;}

cout<<"vvedite massiv nxn"<<endl;  // ввод первого массива

for(i=0;i<n;i++)

  for(j=0;j<n;j++)

    cin>>masA[i][j];

max=masA[0][0]; // нахождение максимального числа в массиве

for(i=0;i<n;i++)

  for(j=0;j<n;j++)

    if(masA[i][j]>max){

      max=masA[i][j];

      i0=i;

      j0=j;

    }

for(i=0;i<n-1;i++) //запись второго массива n-1xn-1,

  for(j=0;j<n-1;j++){

    if(i<i0&&j<j0)

      masB[i][j]=masA[i][j];

    else if(i<i0&&j>=j0)

           masB[i][j]=masA[i][j+1];

         else if(i>=i0&&j<j0)

                masB[i][j]=masA[i+1][j];

              else if(i>=i0&&j>=j0)

                     masB[i][j]=masA[i+1][j+1];

  }

cout<<setprecision(4); //форматирование

cout<<"vvedenniy massiv"<<endl; // вывод на экран обоих массивов

for(i=0;i<n;i++){

  for(j=0;j<n;j++)

    cout<<setw(6)<<masA[i][j]<<" ";

  cout<<endl;

}

cout<<"max znachenie i koordinati"<<endl;

cout<<"max="<<max<<" "<<"i="<<i0+1<<" "<<"j="<<j0+1<<endl;

cout<<"noviy massiv"<<endl;

for(i=0;i<n-1;i++){

  for(j=0;j<n-1;j++)

    cout<<setw(6)<<masB[i][j]<<" ";

  cout<<endl;

}

 

ofstream ptk("k584.txt"); //объявление потока записи в файл

if(ptk==0)cout<<"error otkr faila"<<endl;

ptk<<setprecision(4); //форматирование

ptk<<"vvedenniy massiv"<<endl; // вывод в файл обоих массивов

for(i=0;i<n;i++){                          for(j=0;j<n;j++)

    ptk<<setw(6)<<masA[i][j]<<" ";

  ptk<<endl;

}

ptk<<"max znachenie i koordinati"<<endl;

ptk<<"max="<<max<<" "<<"i="<<i0+1<<" "<<"j="<<j0+1<<endl;

ptk<<"noviy massiv"<<endl;

for(i=0;i<n-1;i++){

  for(j=0;j<n-1;j++)

    ptk<<setw(6)<<masB[i][j]<<" ";

  ptk<<endl;

}

getch();

}

Тест:

vvedite 0<n<=50

3

vvedite massiv nxn

1 1 1

2 2 2

3 3 3

vvedenniy massiv

     1      1      1

     2      2      2

     3      3      3

max znachenie i koordinati

max=3 i=3 j=1

noviy massiv

     1      1

     2      2

 

 

 

Задача № 406

Пусть задан вектор х (х1, х2, х3… хn). Составить подпрограмму-функцию для вычисления величины.

N=0, если х1≠0

N=n, если х1= х2= х3=…- хn=0

N=m, если х1= х2= х3=…=хm=0 и хm+1≠0 (m<n)

Алгоритм:

1)      Ввод

2)      Запрос числа элементов массива

3)      Запрос и ввод массива

4)      Эхо-вывод на экран массива

5)      Объявление потока вывода в файл

#include <vcl.h> // Я не знаю что это означает, оно автоматически задается в Builder6

#pragma hdrstop // Я не знаю что это означает, оно автоматически задается в Builder6

#pragma argsused // Я не знаю что это означает, оно автоматически задается в Builder6

#include<iostream.h>

#include<conio.h>

#include<fstream.h>

int N(int n, double X[]); // прототип ф-ции

int N(int n, double X[])

{

int i;

int result=-1;

if(X[0]!=0)

  result=0;

else{

  result=0;

  for(i=0;i<n;i++){

     if(X[i]==0)

       result=i+1;

     else{

       result=i;

       break;

       }

  }

}

return result;

}

void main(){

int n;

int i;

double X[100];

cout<<"vvedite 0<n<=100"<<endl; //запрос числа элементов массива

cin>>n; //ввод

while(n>100||n==0||n<0){

cout<<"Error! 0<n<=100"<<endl;

cout<<"vvedite 0<n<=100"<<endl;

cin>>n;} //проверка n<=100 и n=0

cout<<"vvedite massiv X:"<<endl; //запрос и ввод массива

for(i=0;i<n;i++)

   cin>>X[i];

cout<<"vvedenniy massiv:"<<endl;  //эхо-вывод на экран массива

for(i=0;i<n;i++) //  и значения ф-ции

   cout<<X[i]<<" ";

cout<<endl;

cout<<"function N="<<N(n,X)<<endl;

ofstream ptk("k106.txt"); //oбъявления потока вывода в файл

if(ptk==0)cout<<"error otkr faila"<<endl; //проверка открытия файла

ptk<<"vvedenniy massiv:"<<endl; //эхо-вывод в файл массива

for(i=0;i<n;i++)                           

   ptk<<X[i]<<" ";

ptk<<endl;

ptk<<"function N="<<N(n,X)<<endl;

getch();

}

Тест: vvedenniy massiv:

1 0 0 0

function N=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер задачи

Входные данные

Выходные данные для С++

Выходные данные  для MathCAD

9

Страница 3

Страница 4

Страница 1.1

116 г

Страница 4

Страница 6

Страница 1.2

555

Страница 6

Страница 9

Страница 1.3

684

Страница 9

Страница 12

 

406*

Страница 13

Страница 16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы:

1)      Разработка программ на C++ при выполнении курсовых и лабораторных работ (методические указания) Назарова М.В.

2)      Borland C++ Builder. Освой самостоятельно

3)      "Программирование в C++ Builder 6" (с) Архангельский А.Я.

 

 



Информация о работе Разработка программ на С++ и в системе MathCAD