Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx54 / Отчет(12).docx
Скачиваний:
22
Добавлен:
01.08.2013
Размер:
240.18 Кб
Скачать

Int _tmain()

{

const char* locale = setlocale(LC_ALL,"");

float a, b, c, dis, x1, x2 ; //задание переменных

int q;

printf("Введите значение a: ");

scanf("%f" , &a);

printf("Введите значение b: ");

scanf("%f" , &b);

printf("Введите значение c: ");

scanf("%f" , &c); //считывание переменных

printf("Полученое квадратное уровнение:\n");

printf("%1.0fx^2+%1.0fx+%1.0f\n" , a, b, c);

dis=b*b-4*a*c; //математические действия

q=proof(dis);

if (q==1) //нахождение дискрименанта и количества корней

{

printf("D= %f \n" , dis);

printf("уравнение имеет 1 корень \n");

x1=(-b+sqrt(b*b-4*a*c))/(2*a);

printf("x1= %1.1f" , x1); }

else

if (q==2)

{

printf("D = %1.1f \n" , dis);

printf("Уравнение имеет 2 корня \n");

x1=(-1*b+sqrt(dis))/(2*a);

x2=(-1*b-sqrt(dis))/(2*a);

printf("x1= %1.1f \n" , x1);

printf("x2= %1.1f \n" , x2);

}

else

if (q==3)

{

printf("Ошибка исходных данных");

}

_getch();

}

Пример работы программы:

Практика№2

Программа 1:

Написать программу, которая запрашивает ввод последовательности из 10 целых чисел и образца. Программа должна:

  1. Вывести Количество и Сумму элементов между минимальным и максимальным элементами последовательности (при подсчете суммы минимальный и максимальный элементы не суммируются).

  2. Рассчитать и вывести Среднее значение последовательности и количество элементов, значение которых меньше среднего значения.

  3. Подсчитать частоту встречаемости образца в последовательности.

Решение

1)Блок-схема:

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

Начало

A[9],ex,i, j, jj, ii, min, max, m, jmin, jmax,sum, sum2, z, x, v=0, b, n=0,с;

For i=0 to 10

вых

A[1]

I+1

For i=0 to 10

min>a[i]

min=a[i];

jmin=i;

вых

I=0 to 10

I+1

max<a[i]

max=a[i]

jmax=i

Вых

I+1

sum=sum+a[j]

i+1

For jj=0 to 10

sum2=sum2+a[jj];

c=sum2/10

Jj+1

For ii=0 to 10

c>a[ii]

max=a[i]

jmax=i

V+1

For ii=0 to 10

c>a[ii]

(ex=a[ii]

n+1

min,max,sum,max,c,n,v

Конец

#include "stdafx.h"

#include <conio.h>

#include <iostream> //подключаемые библиотеки

Int _tmain()

{

const char* locale = setlocale(LC_ALL,"");

int a[9], ex,i, j, jj, ii, min, max, m, jmin, jmax,sum, sum2, z, x, v=0, b, n=0;

float c; //объявление переменных

printf("Введите 10 элементов массива\n");

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

{

printf("%i-й элемент: " , i+1);

scanf("%i" , &a[i]);

}

printf("Введите образец для поиска: " );

scanf("%i" ,&ex); //считывание данных

min=a[0];

jmin=0;

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

{

if (min>a[i])

{

min=a[i];

jmin=i; //определение минимума

}

}

max=a[0];

jmax=0;

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

{

if (max<a[i])

{

max=a[i];

jmax=i; //определение максимума

}

}

z=jmin+1;

x=jmax;

sum=0;

for (j=z; j<x; j++)

{

sum=sum+a[j]; //Определение суммы элементов

}

sum2=0;

for (jj=0; jj<10; jj++)

{

sum2=sum2+a[jj];

}

c=(float)sum2/10;

for (ii=0; ii<10; ii++)

{

if (c>a[ii])

v++; //определение среднего значения

}

for (ii=0; ii<10; ii++)

{

if (ex==a[ii])

n++; //определение количества повторения

}

printf("\n");

printf("минимум = %i , номер элемента %i \n" , min , jmin+1);

printf("максимум = %i ,номер элемента %i \n" , max , jmax+1);

printf("\n");

printf("Количество элемементов между максимальным и минимальным - %i \n" , jmax-1);

printf("Сумма элементов между минимальным и максимальным = %i \n" , sum);

printf("\n");

printf("Среднее значение : %f \n" , c);

printf("Количество значений меньше среднего: %i \n " , v);

printf("\n");

printf("Образец встречается : %i раз<а>" , n); //вывод данных

_getch();

}

Пример выполнения программы:

Программа 2:

Написать программу, которая запрашивает ввод последовательности из 10 целых чисел. Программа должна:

  1. Вычислять произведение четных элементов массива;

  2. Вычислять номер первого и последнего нулевых элементов (в случае, если введен только один нулевой элемент, либо нулевые элементы не введены, программа должна выдавать соответствующее сообщение);

Подсчитывать сумму элементов между первым и последним нулевыми элементами

Начало

Решение:

Блок-схема

A,I,p, z, x, sum=0;

For i=0 to 10

i+1%2=0

p=p*a[i]

вых

I+1

For i=9 to 0

a[i]=0

z=i+1

вых

I-1

For i=0 to 10

a[i]=0

x=i+1

вых

I+1

For i=0 to 10

min>a[i]

min=a[i];

jmin=i;

вых

I+1

For i=z; to x;

sum=a[i]+sum;

min=a[i];

jmin=i;

вых

I+1

P,z,x,sum

Конец

#include "stdafx.h"

#include <conio.h>

#include <iostream> //Подключаемые библиотеки

Соседние файлы в папке docx54