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

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

/* Даны целые числа а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;

}

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

/* Даны целые числа а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;

}

12. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.

/ Работа со спискомв виде массива c применением дополнительного массива В

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10

void main()

{

int A[SIZE],B[SIZE],i,n,k;

char ch;

bool pris=0; // признак необходимости действий с массивом

cout<<"Enter n\n";

cin>>n;

cout<<"Enter spisok\n";

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

while(pris==0)

{

cout<<"Do you like to dell item? – Y | y \n";

cin>>ch;

if((ch=='Y')||(ch=='y'))

{

cout<<"Enter index \n"; // индекс удаляемого элемента

cin>>k;

for(i=0;i<k;i++) B[i]=A[i];

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

n--;

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

for(i=0;i<=n-1;i++) A[i]=B[i]; // смена исходного А

}

cout<<"\n Do you like to put item? – Y | y \n";

cin>>ch;

if((ch=='Y')||(ch=='y'))

{

cout<<"Enter place for putting\n";

cin>>k;

for(i=0;i<k;i++) B[i]=A[i];

cout<<"Enter new item\n";

cin>>B[k];

n++;

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

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

}

cout<<"\n Do you like to finish? – Y | y \n";

cin>>ch;

if((ch=='Y')||(ch=='y'))

{

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

pris=1;

}

}

cout<<"\n Your work is finished!";

getch();

}