Начало работы в среде «Microsoft Visual Studio 2010» — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Начало работы в среде «Microsoft Visual Studio 2010»

2017-06-13 829
Начало работы в среде «Microsoft Visual Studio 2010» 0.00 из 5.00 0 оценок
Заказать работу

Выполнить: Зайдите в меню «ПУСК» на панели инструментов и из списка «Все программы» выберите пункт «Microsoft Visual Studio 2010» и в следующем выпадающем меню – пункт «Microsoft Visual Studio 2010» (см. рис.1). После этого выйдет окно Microsoft Visual Studio 2010, отображенное на рис.2.

Рис. 1. Открытие программы Microsoft Visual Studio 2010

 

Рис. 2. Окно приложения Microsoft Visual Studio 2010

 

В открывшемся окне в меню «File» выберите команду «New Project…» (см. рис. 3).

 

Рис. 3. Создание нового проекта

В появившемся диалоговом окне на панели «Resent templates» выберите пункт «Visual C++», на среднем поле выбрать Win32 Console Application и в поле ввода Name напечатайте имя файла, например «Proba», нажмите клавишу “OK” (см. рис.4). Далее в следующей появившейся форме выбираем подпункт Application Settings и отмечаем радиокнопку Console application и чек-бокс кнопку Empty project (см. рис.5)

Рис. 4. Окно New Project

 

 

Рис. 5. Настройка приложения

На панели Solution Explorer выделяем левой кнопкой Sourse Files, затем щелкнув правой кнопкой в контексном меню выбираем команду Add, затем New Item…(см. рис. 6.). В окне Add New Item отмечаем С++ File(.cpp) и заполняем поле Name (см. рис. 7.)

Рис. 6. Панель Solution Explorer.

Рис. 7. Окно Add New Item

В появившемся окне редактора печатаем текст программы. Первая программа: сложение двух целых чисел (см. рис. 8).

Рис 8. Программа вычисления суммы двух целых чисел

 

Во время набора внизу в окне «Errors list» появляется список сообщений об ошибках, рядом с ошибкой пояснение на английском языке, какого рода ошибка (см. рис. 9).

Рис. 9. Сообщения об ошибках компиляции

Существует 2 вида ошибок: ошибки «errors» и предупреждения «warnings» (см. рис. 9). Ошибки типа «errors» указывают на явные ошибки, без исправления которых не будет создан исполняемый файл. Ошибки типа «warnings» не препятствуют созданию исполняемого файла, но также должны быть внимательно изучены, так как они могут указывать на логические ошибки программиста. Если в программе есть ошибки, подведите курсор мыши к строке с сообщением об ошибке и дважды щелкните левую кнопку мыши. В верхнем окне курсор встанет на строку, содержащую эту ошибку.

После того как набрали текст программы в окне редактора С++,нужно отправить программу на компиляцию. Войдите в меню «Debug» и запустите пункт «Start debugging F5» или щелкните левой кнопкой мыши на кнопке на панели инструментов. После устранения всех ошибок откроется консольное окно, которое предложит ввести исходные данные input number a= и input number b= после ввода которых, в окне выведется результат (см. рис. 10).

Рис. 10. Консольное окно вывода результатов вычислений

Рассмотрим подробно набранную в рабочем окне программу. В программу включены комментарии. Символы «//» открывают комментарий на одну строку. Если комментарий состоит из нескольких строк, можно расположить его между символами «/*» и «*/». Комментарии не обрабатываются компилятором и служат для пояснений пользователю.

Каждая программа должна содержать функцию main. Левая фигурная скобка отмечает начало тела main. В строке int a, b, c; происходит объявлением переменных. Символы a, b и c являются именами переменных.

Переменная – это область в памяти компьютера, где может храниться некоторое значение для использования его в программе. Данное объявление определяет, что переменные a, b, c имеют тип данных int; это значит, что эти переменные всегда будут содержать целые значения, т.е. целые числа, такие как, например, 7, -11, 0, 31, 914. Переменные должны объявляться с указанием имени и типа данных в любом месте программы, но раньше, чем они будут использованы в программе. Для объявления переменных, используются следующие типы данных:

Тип Размер в байтах Диапазон значений
char   От –128 до 127 – символьный тип
unsigned char   От 0 до 256 – без знаковый символьный тип
short   От –32768 до 32767 короткое целое число
unsigned short   От 0 до 65535 без знаковое короткое целое число
int   От –2147483648 до 2147483647 – целое число
unsigned int   От 0 до 4294967295 - без знаковое целое число
long   Совпадает с int – целое число
unsigned long   Совпадает с unsigned int – без знаковое целое число
float   От 1,2Е-38 до 3,4Е+38 – вещественное число одинарной точности
unsigned float   От 0 до 7Е+38 - без знаковое вещественное число одинарной точности
double   От 2,2Е-308 до 1,8Е+308 -вещественное число двойной точности
Тип Размер в байтах Диапазон значений
unsigned double   От 0 до 4Е+308 - без знаковое вещественное число двойной точности
bool   true или false – логический тип
void   Пустой тип

Строка #include <iostream> дает директиву препроцессору подключить библиотечный файл iostream.h, содержащий различные функции ввода и вывода. В нашей программе это объекты cin и cout.

Объекты потоков cout и cin вызывают взаимодействие между пользова­телем и компьютером. Оператор cout<<"input number a="; печатает на экране сообщение input number a=. Оператор cin>>a; получает от пользователя значение переменной a. Оператор присваивания c=a+b; рассчитывает сумму переменных a и b иприсваивает результат переменной c, используя операцию присваивания =. Оператор читается так: «c получает значение, равное a + b». Операция поместить в поток (<<) «знает», как выводить каждую единицу данных. Многократное использование операции поместить в поток в одном операторе называется сцепленной операцией поместить в поток. В строкеcout << "sum=" << с << endl; текст, заключенный в кавычки (sum=), печатается без изменения, а вместо символа с печатается числовое значение переменной с, endl - это константа, которая содержит управляющий символ, переводящий курсор на новую строку. В операторах вывода можно также выполнять вычисления. Мы могли бы объединить два предыдущих оператора в один:

cout << "sum=" << a + b << endl;

Функция main обязательно должна вернуть значение, что делает оператор return 0;. Значение 0 говорит об успешном завершении программы. Правая фигурная скобка (}) в данном примере информирует компьютер о том, что функция main окончена.

В программах могут выполняться арифметические вычисления. Язык С++ содержит арифметические операции сложение (+), вычитание (-), деление (/), умножение (*) и вычисления остатка от деления (%). Приоритет выполнения операций такой же, как и в обычных алгебраических выражениях, т.е. сначала выполняются умножение, деление и вычисление остатка от деления, а затем сложение и вычитание. Приоритет можно изменить, как и в обычной алгебре, с помощью круглых скобок.

Арифметические операции используются как обычно, кроме двух особенностей:

1. целочисленное деление дает целый результат, т.е. если мы делим целое число на целое результат будет целым; например, выражение 7/4 равно 1, а выражение 17/5 равно 3. Заметим, что любая десятичная часть при целочисленном делении просто отбрасывается (т.е. усекается) — округление не производится. Если мы хотим получить в результате число с дробной частью, то после одного из чисел достаточно поставить знак точку; например, записать 7/4. и получить результат 1.75 или результат от 17./5 будет равен 3.4.

2. операция вычисления остатка % используется только для целых чисел, для вещественных чисел используется функция fmod, о которой вы узнаете ниже. Выражение х % у дает остаток от деления х на у. Таким образом, 7 % 4 равно 3; 17 % 5 равно 2. Эта операция используется для определения кратности, чётности, нечётности.

Для использования различных математических функций следует подключить библиотеку встроенных математических функций #include <сmath>

Функции библиотеки “сmath”
Функция Действие
sqrt(x)
log(x) ln x
pow(x,y)
fmod(x,y) остаток от деления “х” на “у” (для вещественных чисел)
fabs(x) |x|
log10(x) lgx
ceil(x) округляет “х” до ближайшего целого, не меньшего“x”, ceil(9.2)=10.0
floor(x) округляет “х” до ближайшего целого, не превышающего “x”, floor(9.2)=9.0
exp(x)
sin(x), cos(x), tan(x), atan(x) тригонометрические функции sinx, cosx, tgx, arctgx

Необходимо выполнить нижеследующие задания для самостоятельной работы на ЭВМ. Результаты выполнения заданий этой и в дальнейшем остальных лабораторных работ оформите в тетради в следующем порядке:

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

Условие задачи:

Исходные данные:

Блок-схема:

Код программы:

Результаты вычислений:

(Обозначения элементов блок-схем представлены в приложении 1.)

Задания для самостоятельной работы

1. Дан радиус окружности. Вычислить длину окружности и площадь круга.

2. Даны 2 катета прямоугольного треугольника. Найти гипотенузу и площадь треугольника.

3. Найти площадь кольца, внутренний радиус которого равен 20, а внешний – заданному числу r (r>20).

4. Даны x, y, z. Вычислить a, b, если

 

А)

Б)

5. Найти площадь равнобочной трапеции с основаниями a и b и углом a при большем основании a.

(Примечание: углы компилятор принимает в радианах).

6. Известны длины трех сторон треугольника. Вычислить площадь треугольника.

7. Даны два целых числа. Найти среднее арифметическое этих чисел и среднее геометрическое их модулей.

8. Вычислить расстояние между двумя точками X1,Y1 и X2,Y2.

9. Дано четырехзначное целое число Х. Определить цифры числа. Ответ выдать в виде, например:

7 – thousands

3 – hundreds

4 – tens

6 - ones

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

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

 
 

 

 


Для реализации разветвляющихся алгоритмов используется условный оператор “if”. Оператор “if” имеет две формы записи:

1) if (<условие>) <оператор>;

2) if (<условие>) <оператор1>; else <оператор2>;

Рассмотрим первый вид if (<условие>) <оператор>;

Проверяется условие, если оно истинно, то выполняется “оператор”, иначе программа идет далее вниз по тексту.

Пример: Дано вещественное число. Если оно отрицательно, то вывести его абсолютное значение.

#include <iostream>

#include <сmath>

using namespace std;

int main() {

double a;

cin>>a;

if (a<0)

cout<<fabs(a)<<endl;

return 0;

}

 

Теперь рассмотрим второй вид

if (<условие>) <оператор1>; else <оператор2>;

Здесь проверяется условие, если оно истинно, то выполняется “оператор1”, иначе выполняется «оператор2», далее программа идет вниз по тексту.

Пример: Даны два целых числа.

Вывести наименьшее из них.

#include <iostream>

using namespace std;

int main() { int a, b;

cin>>a>>b;
if(a <b) cout<<”minimum=”<<a<<endl;
else cout<<”minimum=”<<b<<endl;

return 0;
}

 

Большинство операторов языка С++ в соответствии с синтаксисом могут выполнить только один оператор. В случае если по условию задачи требуется выполнить несколько операторов, они должны быть заключены в фигурные скобки {}. Операторы идущие после блока if, заключённые в фигурные скобки называются ”телом” оператора if.

Имеется более короткий способ записи условного оператора:

(<условие>)?<оператор1>:<оператор2>;

Проверяется условие, если оно истинно, то выполняется “оператор1”, иначе “оператор2”. Применение данного оператора приводит к получению более компактного машинного кода.

Пример: Даны 2 действительных числа. Найти наибольшее из этих 2-х чисел.

#include <iostream>

using namespace std;

int main() {

double x, y, max;

cin>>x>>y;

max=(x>y)?x:y;

cout<<”max=”<<max<<endl;

return 0;

}

 

 

Для записи условия используют логические операции: >(больше), <(меньше), >=(больше или равно), <=(меньше или равно), = =(равно),!=(не равно) и логические операторы && (логическое и), || (логическое или),! (отрицание). Условие может принимать 2 значения: true(истина) или false(ложь).

Для определения истинности сложного логического условия (выражения), записанного с помощью логических операций и операторов, применяется таблица истинности, где 1 – истина (true), а 0 – ложь (false).

Таблица истинности
x y x&&y x||y !x
         
         
         
         

 

Логический оператор “&&” (и) даёт истинное значение логического выражения только в том случае, когда оба операнда этого оператора являются истинными. Например: if ((x==5)&&(y==5)) – это выражение буден истинным только в том случае, когда x=5 и y=5.

Логический оператор “||” (или) даёт истинное значение логического выражения в том случае, когда хотя бы один из операндов этого оператора является истинным. Например: if ((x==5)||(y==5)) – это выражение буден истинным в том случае, когда или x=5 или y=5.

Логические операции так же как и арифметические операции имеют приоритет выполнения. Логические операции (>, <, <=, >=) имеют больший приоритет, чем логические операторы (!, ||, &&).

Пример использования логических операторов:

Даны 3 действительных числа. Проверить правильно ли выполняется следующее соотношение: a<b<c;

#include <iostream>

using namespace std;

int main() { double a, b, c;

cin>>a>>b>>c;

if ((a<b)&&(b<c))

cout<<”Yes”;

else

cout<<”No”;

 

return 0;}

Оператор множественного выбора “switch”

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

switch (<выражение>) {

case <первое_значение>: <оператор>; break;

case <второе_значение>: <оператор>; break;

case <n-oe_значение>: <оператор>; break;

default: <оператор>; break;

}

Выражение, заданное в скобках оператора “switch” сравнивается со значениями, указанными за операторами “case”. В случае совпадения значений выражения, выполняется оператор в строке соответствующего оператора “case”. Будут выполняться все строки программы после выбранного оператора “case” до тех пор, пока не закончится тело блока оператора “switch” или не повстречается оператор “break”. Выполнение оператора “break” приводит к выходу из оператора “switch”. Если “break” отсутствует, то управление передаётся следующему оператору “case” или оператору “default”. Если ни одно из значений операторов “case” не совпадает с выражением, то выполняются строки программы, стоящие после оператора “default”. Наличие оператора “default” не обязательно. В случае его отсутствия и несовпадения выражения ни с одним из значений, будет выполнен оператор стоящий после блока оператора “switch”.

Примечание: выражение оператора switch может быть только целочисленного типа или типа char.

Пример: Требуется написать программу, которая по введённой оценке определяет статус учащегося. Решим задачу двумя способами для сравнения.

Программа с использованием вложенных конструкций if/else   Программа с использованием оператора switch  
#include <iostream.h> main() { int mark; cout<<”Enter mark – ”; cin>>mark; if (mark==5) cout<<”Excellent\n”; else if (mark==4) cout<<”Good\n”; else if (mark==3) cout<<”Satisfy\n”; else cout<<”Bad\n”; return 0; }   #include <iostream.h> main() { int mark; cout<<”Enter mark - ”; cin>>mark; switch (mark) { case 5: cout<<”Excellent\n”; break; case 4: cout<<”Good\n”; break; case 3: cout<<”Satisfy\n”; break; default: cout<<”Bad\n”; } return 0; }  

Выполнить на ЭВМ и оформить в тетради задания для самостоятельной работы.

Задания для самостоятельной работы

1. Даны действительные числа x и y (x!=y). Меньшее из них заменить полусуммой чисел, а большее – удвоенным произведением.

2. Если сумма 3 действительных чисел x,y,z <1, то наименьшее из этих чисел заменить полусуммой двух других, в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений.

3. Дано действительное число а. Вычислить f(a), если

4. Даны действительные числа a, b, c. Найти корни квадратного уравнения ax2+bx+c=0, в противном случае ответом должно служить сообщение, что корней нет.

5. Даны действительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z.

6. Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны.

7. Даны действительные числа. Выбрать из них, те которые принадлежат интервалу [1,3].

8. Программа запрашивает у пользователя «Сколько Вам лет?». Вы вводите положительное число до 100. Программа должна выдать полный ответ «Вам Х (или лет или года или год).

9. Даны действительные числа a, b, c.Удвоить эти числа, если a³b³c, и заменить их абсолютными значениями, если это не так.

10. Дано натуральное число n (n³9999). Является ли это число палиндромом (перевертышем) с учетом четырех цифр, как, например, числа 2222, 6116, 0440 и т.д.

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

Операторы цикла

Операторы цикла используется для организации многократно повторяющихся действий. Любой цикл состоит из:

- тела цикла, т.е. операторов повторяющихся несколько раз;

- начальных значений;

- модификации (изменения) параметра цикла

- проверки условия продолжения цикла.

Один проход цикла называется итерацией. В С++ для удобства, а не по необходимости существует три типа операторов цикла. Это оператор цикла с предусловием while, оператор цикла с постусловием do/while и оператор цикла for. Поставленную задачу можно решить любым из них. Рассмотрим их подробнее.

Оператор цикла с предусловием “while” определяет действие, которое должно повторяться, пока условие в скобках остается истинным. Если условие при первом же шаге ложно, тело цикла не выполнится ни разу.

 
 

 

 


 

 

Форма записи оператора:

while (< условие>) { <операторы>};

Пример: Вычислить значения функции y=x2+5, если xÎ[0,5] с шагом 1.

#include <iostream>

using namespace std;

int main() {

int x, y;

x=0;

while (x<=5)

{

y=x*x+5;

cout<<”x=”<<x<<”y=”<<y <<endl;

x++;

}

 

return 0; }

При использовании оператора цикла с постусловием “do/while” условие проверяется после выполнения тела цикла, это гарантирует выполнение цикла хотя бы один раз, даже если условие всегда ложно.

 

Форма записи оператора цикла с постусловием “do/while”:

do

{<операторы>}

while(<условие>);

Пример: Вычислить произведение целых чисел от 1 до 5.

#include <iostream>

using namespace std;

int main() {

int p, i;

p=1; i=1;

{

p*=i;

i++;

} while (i<=5);

cout<<p<<endl;

return 0;

}

Оператор цикл for работает следующим образом:

1) Присваивается начальное значение счётчику цикла, т.е инициализируется счётчик цикла.

2) Выполняется проверка значения счётчика. Если результат проверки равен значению “true”, то сначала выполняется тело цикла, а за тем операция над счётчиком (приращение, уменьшение и т.д.).

Форма записи оператора цикла

for (<инициализация_счётчика>;<проверка>;<операция_над_счётчиком>) операторы;

Пример:

Вычислить значение функции для всех значений “х” в диапазоне xÎ [a;b], где a- нижняя граница диапазона, b- верхняя граница диапазона.

#include <iostream>

#include <cmath>

using namespace std;

int main() {

int a,b,x;

cin>>a>>b;

double y;

for (x=a; x<=b; x++)

{

y=2 * pow (x, 2);

cout<<”y=”<<y<<endl;

}

return 0;

}

 

Множественная инициализация счётчика цикла for

Синтаксис оператора цикла for позволяет инициализировать несколько переменных счётчиков, проверять сложное условие продолжения цикла и последовательно выполнять несколько операций над счётчиками цикла. Если присваиваются значения нескольким счётчикам или выполняются операции с несколькими счётчиками, то они записываются последовательно, и разделяются запятыми.

for (i=0, j=0;i<3 && j<3; i++, j++) cout<<i<<j<<endl;

       
 
   
Операция над счётчиком

 

 

 

 


Результатом этого фрагмента программы будет вывод чисел в виде:

Вложенные циклы “for”

Цикл, организованный внутри тела другого цикла, называется вложенным циклом. В этом случае внутренний цикл полностью выполняется на каждой итерации (шаге) внешнего цикла.

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

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

cout << i << j << endl;

Результатом этого фрагмента программы будет вывод чисел в виде:

Счётчик цикла может быть как целого, так и вещественного типа. В качестве выражения изменения счётчика цикла может быть использовано сложное арифметическое выражение.

for (i=0.5; i<100; i/5+10)

Синтаксис цикла “for” позволяет определять счётчик цикла одновременно с его инициализацией.

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

Выполнить на ЭВМ и оформить в тетради задания для самостоятельной работы.

Задания для самостоятельной работы

1.Вычислить значение функции при х изменяющемся от 1 до 20 с шагом 0.5.

2. Вычислить значение функции при х изменяющемся от 0 до 16 с шагом 2.

3. Вычислить значение функции

a=0.3, n=10, i изменяется от 1 до 10 с шагом 1.

4. Вычислить значение функции

a=2.6, b=5, x изменяется от 0 до 10 с шагом 0.5

5. Найти сумму и произведение последовательности 10 целых чисел от 1 до 10.

Использовать оператор do…while

6. Вычислить .

Использовать оператор while

7. Дано действительное число а. Найти среди чисел первое большее а.

Использовать оператор do…while

8. Даны натуральное n и действительное х. Вычислить .

Использовать оператор for

9. Дано натуральное n. Вычислить:

a.

b. ;

 

c. ; n -корней

 

d.

10. Дано натуральное n. Найти , где

х11=1; xi=0.3xi-1; yi=xi-1+yi-1, i=2,3,… Использовать оператор do…while

11. (Песня «Двенадцать дней рождества»)Напишите программу, использующую повторение и структуры switch для печати текста песни «Двенадцать дней рождества». Одна структура switch должна использоваться для печати дня («Первый», «Второй» и т.д.). Другая структура switch должна использоваться для печати остальной части каждого куплета (возможно проще иметь дело с более знакомой песней того же типа «Двенадцать негритят» ).

12. Рассчитайте значение πна основании бесконечного ряда

π =4-4/3+4/5-4/7+4/9-4/11+...

Напечатайте таблицу, которая покажет, как значение π аппроксимируется одним членом этого ряда, двумя членами, тремя и т.д. Сколько членов ряда потребовалось для получения значения 3.14? 3.141? 3.1415? 3.14159?

13. Напишите программу, которая читает пять чисел (каждое между 1 и 30). Для каждого просчитанного числа ваша программа должна напечатать строку, содержащую соответствующее число смежных звездочек. Например, если ваша програм­ма прочла число 7, она должна напечатать *******.

14. Напишите программу, которая напечатает следующий ромб. Вы можете использовать операторы вывода, которые печатают или одну звездочку (*), или один пробел. Максимально используйте повторение (с вложенными структурами for) и минимизируйте число операторов вывода.

*

***

*****

*******

*********

*******

*****

***

*

 

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

Одномерные массивы

Массив– набор однотипных объектов имеющих общее имя и отличающихся местоположением в этом наборе. Элементы массива занимают один непрерывный участок памяти компьютера и располагаются последовательно друг за другом. Нумерация элементов в массиве начинается с 0 и заканчивается n-1 элементом, где n-количество элементов массива.

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

Синтаксис описания одномерного массива:

<Тип элементов массива> <имя_массива>[<количество элементов>];

Например:

int a[5];

Массив из 5 целочисленных элементов, имя массива – а, занимает непрерывный участок памяти размером 20 байтов, нумерация начинается с 0 и заканчивается 4.

Одновременно с описанием массива можно инициализировать его элементы.

1) int a[5]={ 5, 8, 1, 3, 2 };

2) int a[]={ 5, 8, 1, 3, 2};

Во втором случае компилятор сам определит количество элементов массива по списку значений и выделит соответствующее количество памяти.

Также элементы массива можно инициализировать следующим образом: а[0]=5; a[1]=8; и т.д.

Для работы с массивами используются операторы цикла.

for (i=0; i<5; i++) cin>>a[i]; //Ввод массива

for (i=0; i<5; i++) cout<<a[i]; //Вывод массива

Стандартные алгоритмы обработки одномерных массивов

1. Поиск суммы и произведения массива:

#include <iostream>

using namespace std;

int main() { int A[5], Sum=0, P=1,i;

for (i=0;i<5;i++) cin>>A[i];

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

Sum+=A[i]; P*=A[i]; }

cout<<”Sum=”<<Sum<<”\nP=”<<P<<endl;

return 0; }

2. Поиск минимального элемента массива:

#include <iostream>

using namespace std;

int main() {

int A[100], n, i, min;

cin>>n;

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

cin>>A[i];

min=A[0];

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

if (A[i]<min)

min=A[i];

cout<<min<<endl;

return 0;

}

 

3. Поиск максимального элемента массива:

#include <iostream>

using namespace std;

int main() {

int A[100], n, i, max;

cin>>n;

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

cin>>A[i];

max=A[0];

i=1;

do {

if (A[i]>max)

max=A[i];

i++;

while (i<n);

cout<<max<<endl;

return 0; }

Задания для самостоятельной работы

1. Даны температуры воздуха за неделю. Определить среднюю температуру воздуха за неделю и сколько раз температура опускалась ниже 0 градусов.

2. Даны натуральные числа N, a0, a1,…., a(N-1). Определить количество членов последовательности имеющих четные порядковые номера и являющихся нечетными числами.

3. Определить является ли данная последовательность убывающей (во избежание лишних проверок использовать оператор break).

9. Информация о количестве выпавших в течение недели осадках задана в виде массива. Определить общее количество осадков за неделю.

10. Информация о температуре воздуха за месяц задана в виде массива. Определить, сколько раз температура опускалась ниже 0 градусов.

11. Дан массив чисел. Определить, сколько в нем пар одинаковых соседних элементов.

12. Дан массив чисел. Найти наибольший элемент, поставить его первым.

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

Двумерные массивы

В предыдущей лабораторной работе мы рассматривали одномерные массивы, но существуют многомерные массивы. Например, двумерный массив int v[3][7] можно представить как три массива типа int по 7 элементов в каждом. Представим его в виде матрицы размером 3х7:

  0-ой столбец   1-ый столбец 2-ой столбец 3-ий столбец 4-ый столбец 5-ый столбец 6-ой столбец
0-ая строка v[0][0] v[0][1] v[0][2] v[0][3] v[0][4] v[0][5] v[0][6]
1-ая строка v[1][0] v[1][1] v[1][2] v[1][3] v[1][4] v[1][5] v[1][6]
2-ая строка v[2][0] v[2][1] v[2][2] v[2][3] v[2][4] v[2][5] v[2][6]

Нумерация строк и столбцов начинается с 0 и заканчивается n-1. Первый индекс – номер строки, второй индекс - номер столбца.

Объявление двумерного массива:

<тип элементов> массива <имя > [количество строк][количество столбцов];

Например: int A[5][6];

Вместе с объявлением можно проинициализировать:

int A[2][3]={{1,2,3},{4,5,6}};

или int A[2][2]={1, 2, 3, 4};

 

Ввод двумерного массива c клавиатуры:

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

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

cin>>A[i][j];

 

Вывод двумерного массива в виде таблицы:

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

{

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

cout<<A[i][j]<<” “;

cout<<endl;

}

Алгоритм транспонирования двумерного массива

Дана матрица

Получить транспонированную

матрицу


#include <iostream>

using namespace std;

int main() {

int A[3][3],B[3][3],i,j;

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

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

cin>>A[i][j];

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

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

B[i][j]=A[j][i];

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

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

cout<<A[i][j]<<” “;

cout<<endl;

}

return 0;

}

 


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

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

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.304 с.