Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Основы С++.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
1.44 Mб
Скачать

23. Задан массив целых чисел a[I]. Определить количество положительных и отpицательных элементов в нем и вычислить их суммы.

Обозначения: a[n] - массив целых чисел; n- количество элементов в массиве a[n]; i - номер элемента в массиве a[n]; k - количество a[n]<0; sk - сумма отрица тельных элементов; p - количество a[n]>=0; sp - сумма положительных элементов.

// Program ex23

/* Задан массив целых чисел a[i]. Определить количество положительных и отрицательных элементов в нем и вычислить суммы. */

#include<iostream.h>

#include<stdlib.h>

int i,k,p,n,sk,sp,a[100];

main()

{

cout << "Введите количество элементов n=";

cin >> n;

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

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

cout << "\n Исходный массив чисел: ";

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

cout << a[i] << " ";

cout << " \n\n";

k=sk=p=sp=0;

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

{

if (a[i]>=0)

{

p++;

sp=sp+a[i];

}

else

{

k++;

sk=sk+a[i];

}

}

cout << " Результат: \n\n ";

cout << " p = " << p << " sp = " << sp << " \n\n";

cout << " k = " << k << " sk = " << sp ;

return 0;

}

24. Задан массив целых чисел a[n]. Опpеделить количество элементов, pасполо женных до пеpвого отpицательного.

Обозначения: a[n] - массив целых чисел; n - количество элементов в массиве a[n]; i -номер элемента; k - количество элементов, расположенных до первого отрицательного.

//Программа №24

#include<iostream.h>

#include<stdlib.h>

int i,n,k,a[100];

main()

{

cout << "Введите количество элементов n=";

cin >> n;

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

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

cout << "\nИсходный массив чисел a[i]: ";

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

cout << a[i] << " ";

k=0;

i=1;

while ((i<=n)&&(a[i]>=0))

{

k++;

i++;

}

cout << "\nРезультат:";

if(k!=n) cout << "\nk=" << k;

else cout << "\nВ массиве a[i] отрицательных чисел НЕТ!!!";

cout << "\n\n";

return 0;

}

25. Опpеделить является ли сумма элементов заданного массива X[I] четным числом.

Обозначения: x[n] - массив целых чисел; n - количество элементов в массиве x[n]; i - номер элемента; s - сумма элементов массива x[n]; y - остаток от деления на 2.

// Program ex25

// Определить является ли сумма элементов заданного массива X[n] четным числом.

//Обозначения:

//x[n] - массив целых чисел;

//n - количество элементов в массиве x[n];

//i - номер элемента;

//s - сумма элементов массива x[n];

//y - остаток от деления на 2;

#include<iostream.h>

#include<stdlib.h>

int i,n,s,y,x[100];

main()

{

cout << "Введите количество элементов n=";

cin >> n;

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

x[i]=rand()%10;

cout << "\n Исходный массив чисел: ";

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

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

cout << " \n\n";

s=0;

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

{

s=s+x[i];

}

cout << "\n\n";

cout << " Результат: \n";

if (y=0) cout <<" Сумма - НЕ ЧЕТНОЕ ЧИСЛО \n";

else cout <<" Сумма - ЧЕТНОЕ ЧИСЛО \n";

return 0;

}

26. Задан массив целых чисел a[n]. Cфоpмиpовать массив b[n], записав в него сначала все отpицательные элементы массива a[n], а эатем все остальные.

Обозначения: a[n] - массив целых чисел; b[n] - формируемый массив; n – количество элементов; l - счетчик a[n]<0; p - счетчик a[n]>=0; c[p] - массив, элементами которого являются элементы массива a[n]>=0; j - параметр цикла.

//Программа №26 (Вариант 1)

#include<iostream.h>

#include<stdlib.h>

int i,n,l,p,a[100],b[100];

main()

{

cout << "Введите количество элементов n=";

cin >> n;

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

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

cout << "\nИсходный массив чисел a[i]: ";

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

cout << a[i] << " ";

l=0;

p=n;

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

if (a[i]>=0)

{

p--;

b[p]=a[i];

//p--;

}

else

{

b[l]=a[i];

l++;

}

cout << "\nСформированный массив b[i]: ";

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

cout << b[i] << " ";

cout << "\n\n";

return 0;

}

ex26 Вариант-2

//Программа №26 вариант 2

//Задан массив целых чисел a[n]. Сформировать массив b[n], //записав в него снача-ла все отрицательные элементы масси

//ва a[n], а затем все остальные.

#include<iostream.h>

#include<stdlib.h>

int i,j,n,l,p,a[100],b[100],c[100];

main()

{

cout << "Введите количество элементов n=";

cin >> n;

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

a[i]=rand()%100-50;

cout << "\nИсходный массив чисел a[i]: ";

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

cout << a[i] << " ";

l=0;

p=0;

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

if (a[i]>=0)

{

c[p]=a[i];

p++;

}

else

{

b[l]=a[i];

l++;

}

if (l==0)

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

b[i]=c[i];

else

if(p!=0)

{

i=l;

j=0;

while(j<=p)

{

b[i]=c[j];

i++;

j++;

}

}

cout << "\nРезультат:"<<"\nСформированный массив b[i]: ";

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

cout << b[i] << " ";

cout << "\n\n";

return 0;

}