Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Другие методич. материалы / Решение задач на языке С++
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Информатика

Решение задач на языке С++

библиотека
материалов

Вариант 6

--- Задача 1 ---

С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции:

1) найти минимальный элемент массива;

2) вычислить сумму элементов массива, расположенных между первым и последним положительными элементами;

3) преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные.


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

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


#include

#include

using std::cin;

using std::cout;

using std::endl;


const int n=20;


void MassiveRandom(float a[],int size)

{

srand(time(0));

for(int i=0;i

a[i]=rand()%18-10;

}


void MassiveKeyboard(float a[], int size)

{

for(int i=0;i

cin>>a[i];

}


void PrintMassive(float a[], int size)

{

for(int i=0;i

cout<

}


float findmin(float a[], int size)

{

float min = a[0];

for(int i=1;i

if (min>a[i]) min=a[i];

return min;

}


float sum(float a[], int size)

{

float s=0;

int i=0;

while(a[i]<0) i++;

while(a[i]>=0)

{

s+=a[i];

i++;

}

return s;

}


void sort(float a[], int size)

{

float buf;

int flag=0;

for(int i=0;i

if (a[i]==0)

{

buf=a[flag];

a[flag]=0;

a[i]=buf;

flag++;

}

}


int main()

{

bool exit=true;

while(exit)

{

int size=n+10;

cout<<"size massive"<

while(size>n)

cin>>size;

float a[n];

cout<<"way to fill an array"<

cout<<"1.Random"<

cout<<"2.Keyboard"<

int flag=0;

//while((flag!=1)||(flag!=2))

cin>>flag;

if (flag==1) MassiveRandom(a,size);

if (flag==2) MassiveKeyboard(a,size);

PrintMassive(a,size);

float min=findmin(a,size);

cout<

float s=sum(a,size);

cout<<"Sum = "<

sort(a,size);

PrintMassive(a,size);

cout<

int x;

cin>>x;

exit=(x!=1);

}

system("pause");

return 0;

}


hello_html_3754a0b7.png


--- Задача 2 ---

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

Примечание: Размеры массивов задаются именованными константами. Значения элементов массивов вводятся с клавиатуры, генерируются случайным образом или инициализируются в программе (значения по умолчанию). Способ задания элементов массива выбирается пользователем. Все операции над массивами выполняются отдельными функциями.


#include

using std::cin;

using std::cout;

using std::endl;

const int n=5,m=5;


int sum(int a[], int k, int l)

{

int s=0;

for(int i=0;i

for(int j=0;j

if (a[i+j]<0)

{

for(int j=0;j

s+=a[i+j];

break;

}

return s;

}


int main()

{

bool exit=true;

while(exit)

{

int size1=n+10, size2=m+10;

cout<<"n"<

while(size1>n)

cin>>size1;

cout<<"m"<

while(size2>m)

cin>>size2;

int a[n][m];

cout<<"way to fill an array"<

cout<<"1.Random"<

cout<<"2.Keyboard"<

int flag=0;

//while((flag!=1)||(flag!=2))

cin>>flag;

if (flag==1)

{

for(int i=0;i

for(int j=0;j

a[i][j]=rand()%18-10;

}

if (flag==2)

{

for(int i=0;i

for(int j=0;j

cin>>a[i][j];

}

for(int i=0;i

{ cout<

for(int j=0;j

cout<


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


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Автор
Дата добавления 06.05.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров97
Номер материала ДБ-070072
Получить свидетельство о публикации
Похожие материалы

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