Лекция: Задачи 2-ого класса

Обмен элементов внутри массива выполняется с использованием вспомогательной переменной:
int R=a[I];a[I]=a[J]; a[J]:=R; // обмен a[I] и a[J] элементов массива.

Пример1.

Перевернуть массив.

//формирование массива

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

{int r=a[i];

a[i]=a[j];

a[j]=r;}

//вывод массива

Пример 2.

Поменять местами пары элементов в массиве: 1и2, 3 и 4, 5 и 6 и т. д.

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

{int r=a[i];

a[i]=a[i+1];

a[i+1]=r;}

Пример 3.

Циклически сдвинуть массив на к элементов влево (вправо).

int k,i,t,r;

cout<<"\nK=?";cin>>k;

 

for(t=0;t<k;t++)

{

r=a[0];

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

a[i]=a[i+1];

a[n-1]=r;

}

Задачи 3-ого класса

При синхронной обработке массивов индексы при переборе массивов меняются одинаково.

Пример 1. Заданы два массива из n целых элементов. Получить массив c, где c[I]=a[I]+b[I].

For(int I=0;I<n;I++)c[I]=a[I]+b[I];

При асинхронной обработке массивов индекс каждого массива меняется по своей схеме.

Пример 2. В массиве целых чисел все отрицательные элементы перенести в начало массива.

int b[10];//вспомогательный массив

int i,j=0;

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

if(a[i]<0){b[j]=a[i];j++;}//переписываем из а в b все отрицательные элементы

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

if(a[i]>=0){b[j]=a[i];j++;}// переписываем из а в b все положительные элементы

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

Пример3.

Удалить из массива все четные числа

int b[10];

int i,j=0;

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

if(a[i]%2!=0){b[j]=a[i];j++;}

 

for(i=0;i<j;i++) cout<<b[i]<<" ";

cout<<"\n";

еще рефераты
Еще работы по информатике