- •2.3. Задача № 3. 44
- •2.3.2. Код программы 46
- •Int _tmain() 46
- •Int _tmain()
- •Int _tmain()
- •1.2.3. Пример работы программы:
- •1.3. Задача № 3.
- •1.3.1. Блок-схема:
- •1.3.2. Код программы:
- •Int _tmain()
- •Int _tmain()
- •Int _tmain()
- •1.5.3. Пример работы программы:
- •2.1. Задача № 1.
- •Int _tmain()
- •3.1.3. Пример работы программы:
- •3.2. Задача № 2.
- •3.2.1. Блок-схема
- •3.2.2. Код программы
- •Int _tmain()
- •3.2.3. Пример работы программы:
- •3.3. Задача 3.
- •3.3.1. Блок схема
- •3.3.2. Код программы
- •Int _tmain()
- •3.3.3. Пример работы программы:
1.5.3. Пример работы программы:
Пример работы представлен на рисунке 6 и рисунке 7.
Рисунок 9. «при правильно введенных данных».
Рисунок 10. «При переменной a равной 0».
2. Практическая работа № 2.
2.1. Задача № 1.
Написать программу, которая запрашивает ввод последовательности из 10 целых чисел и образца. Программа должна:
Вывести Количество и Сумму элементов между минимальным и максимальным элементами последовательности (при подсчете суммы минимальный и максимальный элементы не суммируются).
Рассчитать и вывести Среднее значение последовательности и количество элементов, значение которых меньше среднего значения.
Подсчитать частоту встречаемости образца в последовательности.
Решение:
2.1.1. Блок-схема
2.1.2. Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
int _tmain()
{
const char* locale = setlocale(LC_ALL,"");
int a[10],i,min=0,max=0,elementmax=0,element=0,x,x2,l,x3,sum=0,sm;
float sr;
sm=0;
printf ("Введите 10 элементов массива: \n");
printf ("Введите элемент 1 ->");
scanf ("%i", &a[0]);
min=a[0];
max=a[0];
for (i=1; i<10; i++)
{
printf ("Елемент %i ->",i+1);
scanf ("%i", &a[i]);
if (a[i]<min)//ищем минимум
{
min=a[i];
element=i+1;
}
if (a[i]>max)//ищем максимум
{
max=a[i];
elementmax=i+1;
}
}
printf("Введите образец для поиска: ");scanf("%i",&l);//ищем образец для поиска
for (i=0;i<10;i++)
{
if(l==a[i])
sum=sum+1;
}
if (element==0)
{
x=element+1;
printf("Минимум = %i - элемент номер %i",min,x);
}
else
printf("Минимум = %i - элемент номер %i",min,element);
if (elementmax==0)
{
x2=elementmax+1;
printf("\nМаксимум = %i - элемент номер %i",max,x2);
}
else
printf("\nМаксимум = %i - элемент номер %i",max,elementmax);
///////// ищем между минимумм и максимум
if (element==0)
{
if (elementmax==0)
{
x=element+1;
x2=elementmax+1;
x3=x2-x;
printf("\n1Количество элементов между максимум и минимум %i",x3);
}
else
{
x=element+1;
x3=(elementmax-x)-1;
printf("\n2Количество элементов между максимум и минимум %i",x3);
for (i=element+1; i<elementmax-1;i++)
{
sm=sm+a[i];
}
printf("\nСумма %i", sm);
sr=(float)sm/x3;
printf("\nСреднее значение: %f", sr);
}
}
else
{
if (elementmax==0)
{
x2=elementmax+2;
x3=element-x2;
printf("\n3Количество элементов между максимум и минимум %i",x3);
for (i=elementmax+1; i<element-1;i++)
{
sm=sm+a[i];
}
printf("\nСумма %i", sm);
sr=sm/x3;
printf("\nСреднее значение: %f", sr);
}
else
{
if (elementmax>element)
{
x3=(elementmax-element)-1;
printf("\n4Количество элементов между максимум и минимум %i",x3);
for (i=element; i<elementmax-1;i++)
{
sm=sm+a[i];
}
printf("\nСумма %i", sm);
sr=(float)sm/x3;
printf("\nСреднее значение: %f", sr);
}
else
{
x3=(element-elementmax)-1;
printf("\n5Количество элементов между максимум и минимум %i",x3);
for (i=elementmax; i<element-1;i++)
{
sm=sm+a[i];
}
printf("\nСумма %i", sm);
sr=sm/x3;
printf("\nСреднее значение: %f", sr);
}
}
}
///////// выводим сколько встречается число
if (sum==0)
printf("\nСовпадений нет!");
else
printf("\nОбразец встречается %i раз(а)",sum);
_getch();
}
2.1.3. Пример работы программы:
Пример работы представлен на рисунке 8.
Рисунок 11 «Пример работы програмы»
2.2. Задача № 2.
Написать программу, которая запрашивает ввод последовательности из 10 целых чисел. Программа должна:
Вычислять произведение четных элементов массива;
Вычислять номер первого и последнего нулевых элементов (в случае, если введен только один нулевой элемент, либо нулевые элементы не введены, программа должна выдавать соответствующее сообщение);
Подсчитывать сумму элементов между первым и последним нулевыми элементами.
Решение:
2.2.1. Блок схема
2.2.2. Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
int _tmain()
{int i,el1,el2,sum=0,k=0;
int a[11];
float pr=1;
const char* locale = setlocale(LC_ALL,"");
printf("Вычислить произведение чётных элементов массива\n и вычислить сумму между первым и последниним элементом массива\n");
for (i=0;i<=9;i++)
{
printf("Введите элемент %i \n",i+1);
scanf("%i",&a[i]);
if (k>=1 && a[i]==0)
{
el2=i;
k++;
}
if (k==0 && a[i]==0)
{
el1=i;
k++;
}
}
if (k>=2)
{
for (i=0;i<=9;i++)
{
if ((i+1)%2==0)
pr=pr*float(a[i]);//Произведение четырёх элементов массива
}
if (el1<el2)
for (i=el1+1;i<=el2-1;i++)
{
sum=sum+a[i];
}
else
for (i=el2+1;i<=el1-1;i++)
{
sum=sum+a[i];
}
printf("Произведение четырёх элементов массива %f \n",pr);
printf("номер первого нулевого элемента %i \n",el1+1);
printf("номер последнего нулевого элемента = %i \n",el2+1);
printf("сумма элементов между первым и последним нулевым элементом = %i \n",sum);
} else
{
for (i=0;i<=9;i++)
{
if ((i+1)%2==0)
pr=pr*float(a[i]);
}
printf("Произведение четырёх элементов массива %f \n",pr);
printf("Введён только 1 нулевой элемент либо их нет!");
}
_getch();
}2.2.3. Пример работы программы:
Пример работы представлен на рисунке 9 и рисунок 10.
Рисунок 12. «При данных введённых правильно».
Рисунок 3. «при введённых не более 1 нулевого элемента»
2.3. Задача № 3.
Написать программу, которая запрашивает ввод последовательности из 10 целых чисел. Программа должна:
3)Выводить максимальное по модулю значение последовательности;
2)Вычислять сумму между первым и последним отрицательными элементами (с учетом первого и последнего отрицательных элементов и без учета первого и последнего отрицательных элементов). В случае, если введен один отрицательный элемент или все элементы положительные, необходимо выводить соответствующее сообщение;
3)Выводить массив без отрицательных и нулевых элементов.
Решение:
2.3.1. Блок схема:
2.3.2. Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
int _tmain()
{
int i,sum=0,k=0,max=0,smm=0,mod=0,p=0,j=0;
int a[10];
float pr=1;
const char* locale = setlocale(LC_ALL,"");
for (i=0;i<10;i++)
{
printf("ВВедите элемент %i ",i+1);
scanf("%i",&a[i]);
}
for (i=0;i<10;i++)
{
if (a[i]>max)
max=a[i];
}
for (i=0;i<10;i++)
{
mod=abs(a[i]);
if (mod>max)
max=mod;
}
for (i=0;i<10;i++)
if (a[i]<0)
k=i+1;
for (i=9;i>=0;i--)
if (a[i]<0)
p=i+1;
for (i=p;i<k-1;i++)
sum=sum+a[i];
for (i=p-1;i<k;i++)
smm=smm+a[i];
for (i=0;i<10;i++)
if (a[i]<0)
j=j+1;
if (j>=2)
{
printf("максимальное значение по модулю %i \n",max);
printf("Сумма элементов между первывм и последним отрицательными числами: \n");
printf("1) Без учета первого и последнего отрецательных чисел: %i \n", sum);
printf("2) C учетом первого и последнего отрецательных чисел: %i \n", smm);
for (i=0;i<10;i++)
if (a[i]>0)
printf(" %i ",a[i]);
}
else
{
printf("максимальное значение по модулю %i \n",max);
printf("Отрицательных элементов нет либо всего 1!\n");
printf("Массив без учёта отрицательных и нулевых значений:");
for (i=0;i<10;i++)
if (a[i]>0)
printf(" %i ",a[i]);
}
_getch();
}
2.3.3. Пример работы программы:
Пример работы представлен на рисунке 11.
Рисунок 4«Пример работы программы»
3. Практическая работа № 3.
3.1. Задача № 1.
Написать программу, которая запрашивает ввод строки и образец символа. Ввод осуществляется на латинице. Программа должна:
1)Вывести строку без указанного символа
2)Подсчитать, сколько раз символ был удален из строки.
3)Если образец отсутствует в строке, программа должна выводить соответствующее сообщение.
Решение:
3.1.1. Блок-схема
3.1.2. Код программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
