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

Int _tmain()

{

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

int a[9];

int i;

int p, z, x, sum=0; //объявление переменных

printf("Вычисление произведения четных элементов иассива и\n");

printf("Вычисление суммы между первым и последним нулевыми элементами\n");

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

{

printf("Введите %i: " , i+1);

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

} //цикл ввода элементов массива

p=1;

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

{

if((i+1)%2==0)

p=p*a[i]; //вычисление произведения четных элементов массива

}

for (i=9; i>=0; i--)

{

if(a[i]==0)

z=i+1;

} //вычисление номера первого нулевого элемента

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

{

if(a[i]==0)

x=i+1;

} //вычисление номера последнего нулевого элемента

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

{

sum=a[i]+sum;

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

printf("Произведение четных элементов массива %i \n", p);

printf("Номер первого нулевого элемента %i \n", z);

printf("Номер последнего нулевого элемента %i\n" , x);

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

_getch();

} //вывод данных и остановка программы

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

Программа 3

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

  1. Выводить максимальное по модулю значение последовательности;

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

  3. Выводить массив без отрицательных и нулевых элементов.

Решение:

Блок-схема

For i=0 to 10

x=i+1

вых

I+1

For i=0 to 10

вых

I+1

I+1

mod=abs(a[i])

Введите i

a[i]>max

max=a[i]

For i=z; to x;

mod>maxsum;

max=mod

вых

For i=0 to 10

вых

I+1

mod=abs(a[i])

a[i]<0

For i=9 to 0

p=i+1

вых

I-1

k=i+1;

a[i]<0

for i=p to k-1

p=i+1

вых

I+1

For i=p-1 to k;

sum1+a[i]

вых

I+1

For i=0 to 10

a[i]<0

j=j+1

вых

j>=2

I+1

Max,sum,sum1

For i=0 to 10

A[i]<0

A[i]

max

For i=0 to 10

A[i]>0

A[i]

I+1

I+1

Конец

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

#include "stdafx.h"

#include <conio.h>

#include <iostream>

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

Int _tmain()

{

int i,sum=0,k=0,max=0,sum1=0,mod=0,p=0,j=0;

int a[10];

float pr=1; //ввод данных

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

printf ("Вычисление максимального по модолю числа и\nвычисление суммы между первым и последним отрицательными элементами \n");

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++) //определение суммы элементов без отрицательных и нулевых элементов

sum1=sum1+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", sum1);

printf("Массив без учёта отрицательных и нулевых значений:");

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

if (a[i]>0)

printf(" %i ",a[i]);

}

else

{

printf("максимальное значение по модулю: %i \n",max);

printf("Отрицательных элементов нет!\n");

printf("Массив без учёта отрицательных и нулевых значений:");

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

if (a[i]>0)

printf(" %i ",a[i]); //вывод данных

}

_getch();

}

Практика №3

Программа 1:

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

  1. Вывести строку без указанного символа

  2. Подсчитать, сколько раз символ был удален из строки.

  3. Если образец отсутствует в строке, программа должна выводить соответствующее сообщение.

Решение

Блок-схема:

Начало

A,b,I,j

Введите строки

a

Введите удаляемый элемент

c

A[i]≠0

A[i]

A[i]=b

Строка без символа

j+1,i+1

вых

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