Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример выполнения задания. Программа на удаление элементов




Удаление Добавление Перестановка
Все элементы, индекс которых кратен 3 После каждого 3 элемента вставить 1 Все элементы с индексами кратными 3 переставить в начало сохраняя порядок элементов в массиве

 

Программа на удаление элементов

 

В программе проверяется кратность трем индекса i элементов массива. Если i не делится на 3 без остатка (if ((i%3)!=0)), то мы записываем соответствующий элемент в массив В, в противном случае игнорируем элемент. Одновременно увеличиваем переменную k на единицу. k – индекс элементов для массива В. Когда цикл закончит свою работу в переменной k будет хранится количество перезаписанных элементов из массива А. Таким образом мы получим новый массив В, в котором будут отсутствовать элементы, чей индекс был кратен 3.

 

#include <iostream.h>

#include <conio.h>

#include <stdlib.h> //заголовочный файл для генерации случ. чисел

 

 

int main()

{

int a[100], b[100]; //описываем два массива из 100 элементов

int i,n, k;

cout << "Введите размерность массива n: ";

cin >> n;

srand(time(NULL)); //задаем начальную точку отсчета для генерации случайных чисел

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

{a[i]=rand()%50; //генерация случайных чисел в диапазоне от 0 до 50

cout << a[i] << "\t"; //вывод полученных элементов на экран (\t – позволяет разделять элементы пробелами

}

cout<<"\n"; // переход на новую строку (\n)

k=0;

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

if ((i%3)!=0) //проверка индекса на кратность 3

{b[k]=a[i]; //перезаписываем нужные элементы в новый массив

k++;}

 

cout<<"\Новый массив\n"; //вывод нового массива

for (i=0; i<k; i++) cout << b[i] << "\t";

getch();

}

 

Схема алгоритма

 

 

Добавление элементов

 

В программе созданы два счетчика – k индекс элементов массива В, m – отсчитывает каждый третий элемент массива А. Как только m=3, в массив B записывается 1 и индекс k увеличивается на единицу. После этого m сбрасывается до нуля, чтобы отсчитывать следующую тройку элементов а[i]

 

 

int main()

{

int a[100], b[100]; //описываем два массива из 100 элементов

int i,n, k;

cout << "Введите размерность массива n: ";

cin >> n;

srand(time(NULL)); //задаем начальную точку отсчета для генерации случайных чисел

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

{a[i]=rand()%50; //генерация случайных чисел в диапазоне от 0 до 50

cout << a[i] << "\t"; //вывод полученных элементов на экран

}

cout<<"\n";

k=0; m=0;

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

{

b[k]=a[i];

k++;m++;

if (m==3)

{ b[k]=1;

m=0;

k++;

}

}

 

cout<<"\Новый массив\n"; for (i=0; i<k; i++) cout << b[i] << "\t";

getch();

}

 

Перестановка

Сначала в новый массив В записываются элементы массива А с индексами кратными 3, затем уже все остальные

 

#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

 

int main()

{

float a[100], b[100],buf;

int i,n, k, num, num_per;

cout << "введите размерность массива n: ";

cin >> n;

srand(time(NULL));

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

{a[i]=rand()%50;

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

}

k=0;

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

if (i%3==0) //если индекс кратен 3

{

b[k]=a[i]; //записать в массив В элемент с индексом кратным 3

k++; //увеличивается индекс массива В

}

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

if (i%3!=0) //если индекс не кратен 3

{

b[k]=a[i];

k++;

}

cout<<"\nНовый массив\n"; //Вывод нового массива

for (i=0; i<n; i++) cout << b[i] << "\t";

getch();

}

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных