Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы1_5.doc
Скачиваний:
15
Добавлен:
13.08.2019
Размер:
198.66 Кб
Скачать

3.4.Текст программы

//Ребус

#include<conio.h>

#include<iostream.h>

void main()

{ int i,j,r;

long int buk,slo,a[8];

clrscr();

for(a[0]=1; a[0]<=3; a[0]++)

for(a[1]=0; a[1]<=9; a[1]++)

for(a[2]=0; a[2]<=9; a[2]++)

for(a[3]=0; a[3]<=9; a[3]++)

for(a[4]=0; a[4]<=9; a[4]++)

for(a[5]=1; a[5]<=9; a[5]++)

for(a[6]=0; a[6]<=9; a[6]++)

for(a[7]=0; a[7]<=9; a[7]++)

{ buk=a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];

slo=a[5]*10000+a[6]*1000+a[7]*100+a[3]*10+a[7];

if(buk*3==slo)

{ r=0; //Проверка того, что

for(i=0; i<8; i++) //разным буквам соответствуют

for(j=i+1; j<8; j++) //разные цифры

if(a[i]==a[j]) r++;

if(r==0) cout<<buk<<" + "

<<buk<<" + "

<<buk<<" = "

<<slo<<endl;

}

}

getch();

}

3.5. Результат работы программы

Результат выполнения программы:

23047 + 23047 + 23047 = 69141

26451 + 26451 + 26451 = 79353

32047 + 32047 + 32047 = 96141

Лабораторная работа № 10-11

Работа с одномерными массивами

  1. Цель работы

         Целью лабораторной работы является получение практических навыков в описании и обработке одномерных массивов на языке С++.

 

2. Темы для предварительной проработки

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

  • Методы сортировки

3. Пример решения задачи

3.1. Условие задачи

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

а) количество положительных элементов массива;

b) сумму модулей элементов массива, расположенных после последнего элемента, равного нулю;

c) преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом - все остальные.

3.2. Используемые переменные

k - количество положительных чисел;

n – общее количество чисел в массиве;

s – сумма элементов массива после последнего нулевого элемента;

x[i] – элементы массива;

а – вспомогательная переменная, используемая при сортировке массива;

k1 - вспомогательная переменная, используемая для определения того, является ли

нулевой элемент последним;

i, j – индексы, используемые в циклах.

3.3.Текст программы

#include<iostream.h>

#include<conio.h>

#include<stdlib.h>

void main()

{ int i,k=0,k1=0,j,n;

randomize();

clrscr();

float s=0,x[50],a;

cout<<"\nВведите n = ";

cin>>n;

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

{ x[i]=(random(15)-5)/2.;

cout<<" "<<x[i];

}

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

if(x[i]>0) k++;

cout<<"\nКоличество положительных элементов массива k = "<<k;

for(i=n-1; i>=0; i--)

{ if(k1==0) s+=x[i];

if(x[i]==0) k1++;

}

cout<<"\nСумма после последнего нуля s = "<<s;

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

for(j=0; j<n-i-1; j++)

if(x[j]>=2)

{ a=x[j];

x[j]=x[j+1];

x[j+1]=a;

}

cout<<"\nПреобразованный массив: ";

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

cout<<" "<<x[i];

getch();

}

2.3.Тестирование программы

Результат выполнения программы может выглядеть следующим образом:

Введите n = 10

4 -1.5 2 0 2 1.5 4.5 0 -1 2

Количество положительных элементов массива k = 6

Сумма после последнего нуля s = 1

Преобразованный массив:

-1.5 0 1.5 0 -1 2 4.5 2 2 4

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