66527

Итерационные алгоритмы

Лабораторная работа

Информатика, кибернетика и программирование

Дана целочисленная квадратная матрица N*N. Определить: Количество строк, содержащих только различные элементы. Матрицу N*N заполнить натуральными числами от 1 до N*N по спирали, начинающейся в верхнем левом углу и закрученной по часовой стрелке.

Русский

2014-08-22

61 KB

2 чел.

Санкт-Петербургский государственный политехнический университет

Институт информационных технологий и управления

Кафедра «Распределенных вычислений и компьютерных сетей»

ЛАБОРАТОРНАЯ РАБОТА № 3

Итерационные алгоритмы

по дисциплине «Основы программирования »

Выполнил

студент гр. 13507/1  С.С.Недобуга

Преподаватель       Т.Н.Самочадина

Содержание

  1.  Условие задачи
  2.  Спецификация программы(SRS)
  3.  Тест план с результатами выполнения тестов
  4.  Текст программы
  5.  Анализ полученных результатов

1)Условия задачи:

Дана целочисленная квадратная матрица N*N. Определить:

  1.  Количество строк, содержащих только различные элементы.
  2.  Матрицу N*N заполнить натуральными числами от 1 до N*N по спирали, начинающейся в верхнем левом углу и закрученной по часовой срелке.

2)Спецификация программы

  1.  Матрица должна быть задана корректно.
    1.  Если аргумент M не является числом – сообщение “ Incorrect  M ” .
    2.  Если аргумент M является числом < или = 1 – сообщение "M must be greater then 1"

3)Тест план с результатами выполнения тестов

№ Специф.

Вводимые значения M

Вывод

1.1

e

Incorrect M

1.2

0

M must be greater then 1

4)Текст программы

General.cpp

#include<iostream>

#include<fstream>

#include<iomanip>

#include"glob.h"

using namespace std;

int razl(const int P[N][N]);

void snake(int **m2, int a);

int main (int argc, char **argv)

{

 int Matrix[N][N];

 ifstream In("in.txt");

 for(int i = 0; i<N; i++)

{

 for(int j = 0; j<N; j++)

 {

  In>>Matrix[i][j];

 }

}

cout << "Lines with different elements: "<< razl(Matrix) << endl;

 int M;

 try

{

 cout << "Enter the number of rows and columns in: ";

 cin>>M;

 if(!cin) throw "Inccorect M";

 if(M<1) throw "M must be greater then 1";

}

 catch (const char *err)

{

 cerr<<err;

 return 1;

}

cout<<"Matrix filled like the snake:"<<endl;

 int **Matrix2 = new int *[M];

 for (int i = 0; i<M; i++) Matrix2[i] = new int [M];

snake(Matrix2,M);

 for(int i = 0; i<M; i++)

{

 for(int j = 0; j<M; j++)

 {

  cout<<setw(4)<<Matrix2[i][j];

 }

 cout<<endl;

}

 return 0;

}

Razl.cpp

#include"glob.h"

int razl(const int P[N][N])

{

 int Kol = 0;

 for(int i = 0; i<N; i++)

{

 bool yes = false;

 for(int j = 0; j<N; j++)

 {

  for(int k = 0; k<N; k++)

  {

   if((P[i][j]==P[i][k])&&(j!=k))yes=true;

  }

 }

 if (!yes) Kol+=1;

}

 return Kol;

}

In.txt

1 9 4 2 90

8 5 95 4 1

9 -1 3 5 8

0 0 5 1 3

9 4 5 12 8

Snake.cpp

void snake(int **m2, int a)

{

 int e=0;

 int i,j,k,t,f;

 int c=1;

 for(i=e;c<a*a+1;i++)

 {

  for(j=e;j<a-e;j++)

  {

   m2[i][j]=c;

   c++;

   if(j==a-e-1)break;

  }

  e++;

  for(k=e;k<a-e+1;k++)

  {

   m2[k][j]=c;

   c++;

   if(k==a-e)break;

  }

  for(t=a-e-1;t>e-2;t--)

  {

   m2[k][t]=c;

   c++;

   if(t==e-1)break;

  }

  for(f=a-e-1;f>e-1;f--)

  {

   m2[f][t]=c;

   c++;

  }

 }

}

Glob.h

const int N = 5;

5)Анализ полученных результатов

text

M

1

2

1 9 4 2 90

8 5 95 4 1

9 -1 3 5 8

0 0 5 1 3

9 4 5 12 8

5

Lines with different elements: 4

1   2   3   4  5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

1 9 4 2 90

8 5 95 4 1

9 -1 3 5 8

0 0 5 1 3

9 4 5 12 8

6 

Lines with different elements: 4

 1    2    3    4    5    6

20  21  22  23  24   7

19  32  33  34  25   8

18  31  36  35  26   9

17  30  29  28  27  10

16  15  14  13  12  11

Исходя из полученных данных можно сказать, что программа работает верно,

поставленная задача решена.


 

А также другие работы, которые могут Вас заинтересовать

23568. ФОНЕМЫ И СИСТЕМЫ ФОНЕМ 93 KB
  Понятие фонемы Ключевым понятием функциональной фонетики или фонологии является понятие фонемы. Следовательно хотя фонемы как таковые единицами языка не являются поскольку сами по себе они лишены значения существование единиц языка морфем слов и их форм принципиально невозможно без фонем из которых строятся их означающие. О соотношении фонемы и звука Фонемы не могут быть непосредственно отождествлены со слышимыми и произносимыми людьми в процессе речевого общения звуками. Фонемы представляют собой единицы звукового строя языка тогда...
23569. 8 особенности артикуляционной базы английского языка 39.5 KB
  в англ языке большее напряжение конечных согл наличие аспирглухих взрывных соглперед ударотсутсвие палатализациинет нет попарного разделения на тверд и мяг есть фарингальная артикул.hпереднеязвчные согл характеризуются аппикальным укладомдорсальнымнапряж мышц губ при произношении более значительнаогубленостьлабоализациянапряжение в конце фразы силнее характерно наличие скользящих гласныхдифтонгов попарно распределение напряж и ненапряж фонемдолгих краткналичие гласных смеш уклада э:наличие межзубных 9 артикуляторный...
23570. сновные фонетические особенности канадского варианта английского языка 31 KB
  Class bath dance произносится в американском варианте с гласным номер 4. Дифтонг [ou] произносится в британском варианте т.которые в американском варианте произносятся с [ai] канадцы в основном произносят побритански с [i]. В канадском варианте английского языка в области грамматики не встречается существенных различий с британским вариантом.
23571. Акценты и диалекты в Великобритании 50 KB
  Взаимодействие близкородственных языков английского и скандинавских сказалось в наличии в современном А.В процессе образования нации происходило формирование национального английского языка складывавшегося на основе лондонского диалекта который сочетал в себе южные и восточноцентральные диалектные черты. развития английского языка характеризуется рядом изменений резко отграничивших среднеанглийскую звуковую систему от древнеанглийской. В то время как в 40 70е годы наблюдался расцвет скучного английского БиБиСи в 80е годы начали...
23572. ОППОЗИЦИЯ ЯЗЫКОВАЯ 53 KB
  В этом смысле говорят о фонологической оппозиции например между русскими фонемами k и r слова кот и рот различаются не только по звучанию но и по значению или о семантической оппозиции 'ед. Подобное истолкование позволяет использовать понятие оппозиции чтобы разграничить отношения между различными языковыми единицами так называемые оппозитивные отношения и отношения между различными вариантами одной и той же языковой единицы неоппозитивные отношения.Трубецкой употребляли термин оппозиции не только по отношению к функциональным...
23573. Различие между транскрипцией фонологической и транскрипцией фонетической 34.5 KB
  Обозначение фонем 3. Обозначение отдельной фонемы должно четко отличаться от обозначения группы фонем. Если в данной транскрипционной системе отсутствуют специальные знаки для некоторых фонем например для аффрикат или дифтонгов и если они обыкновенно передаются группой из двух или более букв символизирующих их конститутивные элементы то группа знаков соответствующих фонеме такого рода должна связываться снизу дужкой например чешское ou немецкое pf. Когда обозначение определенных дизъюнктивных фонем диакритиками или определенных...
23574. ФОНЕТИКА 37 KB
  расчленяется в четырех направлениях: 1 антропофоника физиология звуков речи изучающая произносительную собственно физиологическую и слуховую акустическую сторону языка и фонология изучающая использование звуков для выражения значений для образования слов и фраз; 2 учение о фонетических элементах аналитическая Ф. Схематический разрез гортани и надставной трубы: a голосовая щель; b щитовидный хрящ; c надгортанный хрящ; d увула Звучание речи создается модификацией выдыхаемой воздушной струи истекающей изо рта и из носа в...
23575. Теория языка 2.51 MB
  bz Карл Бюлер Теория языка Оглавление Предисловие автора Введение. Теория языка вчера и сегодня Глава I. Модель языка как органона а формы существования конкретных языковых явлений 3. Знаковая природа языка в модель структуры языка 4.
23576. ЭЛЕМЕНТЫ ОБЩЕЙ ЛИНГВИСТИКИ 1.42 MB
  Иными словами выяснение общеязыковых закономерностей внутренней логики и механизма действия языка с необходимостью входит в сферу общего языкознания. В то же время автор надеется что адекватным окажется и западноевропейское понимание этого слова: ср. Передача информации один из существеннейших видов и аспектов общения между людьми поэтому по словам В. 246 иначе говоря всякое слово есть результат абстрагирующей работы мысли слово дерево обозначает дерево вообще и наоборот абстрактное понятие общее для всех членов данного...