Курсовая работа (т): Основы алгоритмизации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

if (chk==0)

{(i = 0; i < N; i++)

{

sum +=p[i][j];

}

cout << "\n Сумма элеметов "<< j <<" -го столбза без отрицательных элементов равна "<<sum;

}

}

getch();

return;

}

//-------------------------------------------------------------------

// Минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы

//-------------------------------------------------------------------SwitchColumn (unsigned int M, unsigned int N, int** p)

{i,j;int k1,k2;sum,minsum;(!p)

{

cout << "\n\nОшибка! Массив еще не создан.";

getch();

return;

}

// Идем до диагонали

for (i=0;i<N-1;i++) //N-1 - саму диагональ пропускаем

{=0;(j=0;j<i+1;j++) sum+=p[j][(i-1)-j+1];(sum<minsum) minsum=sum;

}

//идем после диагонали:

for (i=1; i<N; i++) //саму побочную диагональ пропускаем

{=0;(j=i; j<N;j++) sum+=p[j][(N-1)-j+i];(sum<minsum) minsum=sum;

}

cout << "\n \n Минимальная из сумм элементов в побочных диагоналях матрицы равна "<<minsum;

getch();;

}

//-------------------------------------------------------------------

// Выполнение задания 3

//-------------------------------------------------------------------Fzad3 (unsigned int sz, int* p)

{i,ind;(!p)

{

cout << "\n\nОшибка! Массив еще не создан.";

getch();

return;

}

// Ищем первый отрицательный элемент

for (i = 0; i < sz; i++) {(p[i]<0)

{

ind=i; // Запоминаем его номер

p[i]=1;

}

}

// Заполняем массив согласно заданию

for (i = 0; i < ind; i++) p[i]=0;

return;

}

//-------------------------------------------------------------------

// Минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы

//-------------------------------------------------------------------Fzad4 (unsigned int M, unsigned int N, int** p)

{i,j,kol;(!p)

{

cout << "\n\nОшибка! Массив еще не создан.";

getch();;

}(i = 0; i <M ; i++) {=0;(j = 1; j < N-1; j++)((p[i][j-1]<p[i][j])&(p[i][j]<p[i][j+1])) kol++; << "\n \n Количество элементов удовлетворяющих условиям в "<<i<<"-й строке равно "<<kol;

}();;

}Fzad5()

{text[]="In a year instead of the promised Morrowind the company Bethesda released Battlespiare, a primitive 3D-action based on Daggerfall engine.";i,kol,max=0,x=0,m;n=sizeof(text)/sizeof(char);

();(i=0,m=0;i<n;i++)

{(text[i] == ' ' || text[i] == ',' || text[i] == '.')

{(x >= max)

{(x > max)

{=1;=i-x;

}++;=x;

}=0;

}++;

}(x > max)

{= x;++;

}("Lenth = %d; Kol = %d;\n",max,kol);(i=m;i<max+m;i++)("%c",text[i]);();

}

Результаты тестового прогона программы

Задача 1





Задача 2


]


Задача 3



Задача 4



Задача 5

Текст «error lnk2001 unresolved external, symbol main»


Заключение

Программа была разработана в рамках семестрового задания, и обладает рядом достоинств и недостатков. Представляемый программный продукт отвечает все требованиям, предъявленным заказчиком (см. пункт «Постановка задачи»).

Разработка программного средства проводилась в полном соответствии с современными тенденциями в технологии программирования, а именно, с использованием принципов модульного и структурного проектирования программных средств. Для решения каждой из подзадач были разработаны отдельные функции, которые могут быть настроены на различные массивы с помощью изменения значений входных параметров. Данный подход существенно сократил программный код и, соответственно, память компьютера, необходимую для размещения и успешной работы программного средства, а так же увеличил быстродействие и эффективность работы программы.

Все задачи варианта объединены одним общим интерфейсом. Выполнение каждой задачи осуществляется как последовательный вызов всех необходимых подпрограмм, для этого был составлен уникальный алгоритм. Предусмотрена возможность повтора выполнения каждой задачи через пункты главного меню. Результаты печатаются с максимально возможными комментариями. Размерность массивов задается пользователем программного средства.

В случае необходимости программа сообщает об ошибках, возникающих по вине пользователя или при сбоях в самой программе. Например, при реализации решения подзадачи сортировки для определенной части массива, подпрограмма выполняет дополнительную проверку данных, вводимых пользователем, на корректность, что, соответственно, повышает эффективность всего программного продукта в целом.

Программа была разработана в процессе изучения разработчиком курса «Программирование и основы алгоритмизации», и поэтому обладает также и рядом недостатков. Были использованы не всегда оптимальные по времени исполнения алгоритмы для решения некоторых подзадач. Некоторые участки кода могут быть, по мнению автора, реорганизованы в более читабельный вид или реализованы более оптимально. Но, не смотря на эти недочеты, данная программная разработка, по твердому убеждению автора, полностью удовлетворяет заданным требованиям, и даже в некоторых моментах выходит за рамки задания, что является ее неоспоримым достоинством.

Использованная литература

1. Б.И.Березин, С.Б.Березин "Начальный курс С и С++" -M.: ДИАЛОГ-МИФИ, 1996 г.

. В.А.Скляров "Язык С++ и объектно-ориентированное программирование" - Мн.: Выш. шк., 1997 г.

. С.Поттс, Т.С.Монк "BORLAND C++ в примерах" - Мн.: ООО "Попурри", 1996 г.

Источник: https://www.bibliofond.ru/detail.aspx?id=786614