Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИКУМ_4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
292.35 Кб
Скачать

9. Модификация массива данных. Вариант 1.

/* Даны целые положительные числа а1,а2,...аn. Получить новую

последовательность, выбросив из исходной все члены со значением max(a1,a2,...,an).*/

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10 // SIZE - именнованная константа

int main()

{

int i,n,A[SIZE],B[SIZE],max,k=0;

cout<<"Enter n= \n";

cin>>n;

cout<<"Enter array A: \n";

for(i=0;i<n;i++) cin>>A[i];

max=A[0];

for(i=0;i<n;i++) if (A[i]>max)max=A[i];

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

{

if (A[i]!=max)

{

B[k]=A[i];

k++;

}

}

cout<<"New array: \n";

for(i=0;i<=k-1;i++) cout<<B[i];

getch();

return 0;

}

10. Модификация массива данных. Вариант 2.

/* Даны целые положительные числа а1,а2,...аn. Получить новую

последовательность, выбросив из исходной все члены со значением max(a1,a2,...,an), не вводя нового массива*/

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10 //именнованная константа

int main()

{

int i,j,n,A[SIZE],max,k;

cout<<"Enter n= \n";

cin>>n;

cout<<"Enter array A: \n";

for(i=0;i<n;i++) cin>>A[i];

max=A[0];

for(i=0;i<n;i++) if (A[i]>max)max=A[i];

// Блок выкидывания элемента и сдвига последующих элементов

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

{

if(A[i]==max)

{

A[i]=A[i+1];

for(k=i+1;k<(n-1);k++) A[k]=A[k+1];

n--;

i--;

}

}

cout<<"New array: \n";

for(i=0;i<n;i++) cout<<” “<<A[i];

getch();

return 0;

}

11. Работа с числами массива

/* Даны целые числа а1,а2,...аn. Получить сумму трех чисел данной последовательности, которые кратны 5, нечетны, отрицательны и удовлетворяют условию |ai|>=i^2 */

#include "stdafx.h"

#include <math.h> //библиотека математических функций

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10

int main()

{

int i,n,A[SIZE],k=0,s=0;

cout<<"Enter n= ";

cin>>n;

cout<<"Enter array A: \n";

for(i=0;i<=n-1;i++) cin>>A[i];

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

{

if (((A[i]%2)!=0)&&(A[i]<0)&&((A[i]%5)==0)&&(abs(A[i])>=i*i))

{

k++;

s=s+A[i];

if (k==3)

{

cout<<"Sum of three special members is: \n"<<s;

getch();

return 0;

}

}

}

cout<<" That 3 numbers do not exist! \n";

return 0;

}

12. Поиск совпадений чисел в массиве

/* Даны целые числа а1,а2,...аn (в этой последовательности могут быть

повторяющиеся члены). Подсчитать, сколько чисел входит в последовательностьболее чем по одному разу. Выяснить, имеется ли в последовательности хотя бы одна пара совпадающих чисел */

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10

int main()

{

int i,j,n,A[SIZE],B[SIZE],s,item,index;

cout<<"Input n= ";

cin>>n;

cout<<"Enter array A: \n";

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

{

cin>>A[i];

B[i]=0; // B – рабочий массив

}

/* В массиве В далее будет содержаться информация о том, сколько раз повторяется элемент с индексом i в массиве А */

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

{

item=A[i];

index=i;

s=1;

for(j=0;j<n;j++) // цикл проверки повторов элемента item

{

if((A[j]==item)&&(j!=index))

{

s++;

B[i]=s;

}

}

}

cout<<" Array B[] members are: \n ";

for(i=0;i<n;i++) cout<<B[i];

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

{

if(B[i]!=0)

{

cout<< "\n There is a pair of concurrent numbers \n";

_getch();

return 0;

}

}

cout<< "There is not a pair of concurrent numbers \n";

_getch();

return 0;

}