1)сформировать одномерный массив целых чисел, используя датчик случайных чисел
2)вывести полученный массив на экран
3)удалить последний элемент равный 0
4)добавить после элемента массива с заданным индексом элемент со значением 0
5) вывести полученный массив на экран
C/C++
Помогите с заданием на C++
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
const int vvod_size(void)
{ // ввести размер массива
int size;
cout << "Введите размер массива: ";
cin >> size;
return size;
}
void print_mas (int * A, const int size)
{ // вывести массив на печать
for(int x = 0; x < size; x++)
cout << A[x] << ' ';
cout << endl;
}
int main()
{
const int size = vvod_size();
int A[size+1]; // +1 для того случая, когда не будет найден ноль,
// а в конец массива ноль добавлять нужно.
srand(time(NULL)); // чтобы числа были более случайными
// формируем массив
for(int x = 0; x < size; x++)
A[x] = -10 + rand() % 21; // будут числа от -10 до 10
print_mas (A,size); // вывод массива
int zero; // для позиции последнего элемента, равному нулю.
bool find_zero = false; // true, если элемент найден.
// начинаем поиск
for(int x = size - 1; x >= 0; x--)
{
if(A[x] == 0)
{
find_zero = true;
zero = x;
break; // останавливаем цикл
}
}
int length = size; // для изменений размера массива
if(find_zero)
{ // только, если был ноль в массиве
// "удаляем" ноль (сдвигаем позиции массива)
length--; // новый размер массива уменьшился
for(int x = zero; x < length; x++)
A[x] = A[x+1];
}
// теперь добавляем ноль, я так понял в конец массива
A[length] = 0;
length++;
print_mas (A,length); // вывод на экран
return 0;
}
#include <ctime>
#include <cstdlib>
using namespace std;
const int vvod_size(void)
{ // ввести размер массива
int size;
cout << "Введите размер массива: ";
cin >> size;
return size;
}
void print_mas (int * A, const int size)
{ // вывести массив на печать
for(int x = 0; x < size; x++)
cout << A[x] << ' ';
cout << endl;
}
int main()
{
const int size = vvod_size();
int A[size+1]; // +1 для того случая, когда не будет найден ноль,
// а в конец массива ноль добавлять нужно.
srand(time(NULL)); // чтобы числа были более случайными
// формируем массив
for(int x = 0; x < size; x++)
A[x] = -10 + rand() % 21; // будут числа от -10 до 10
print_mas (A,size); // вывод массива
int zero; // для позиции последнего элемента, равному нулю.
bool find_zero = false; // true, если элемент найден.
// начинаем поиск
for(int x = size - 1; x >= 0; x--)
{
if(A[x] == 0)
{
find_zero = true;
zero = x;
break; // останавливаем цикл
}
}
int length = size; // для изменений размера массива
if(find_zero)
{ // только, если был ноль в массиве
// "удаляем" ноль (сдвигаем позиции массива)
length--; // новый размер массива уменьшился
for(int x = zero; x < length; x++)
A[x] = A[x+1];
}
// теперь добавляем ноль, я так понял в конец массива
A[length] = 0;
length++;
print_mas (A,length); // вывод на экран
return 0;
}
Похожие вопросы
- Помогите решить задание на c++
- Помогите решить задание на C++
- Нужна помощь с выполнением заданий в C++
- Помогите с заданием по программированию язык C(не С++)
- Задание на C/C++
- Доброго всем дня. Помогите с заданием по программированию С++ (Программа Dev-C++)
- Помогите понять суть задания на C++, написать программу с такой задачей:
- Задание на C++. Помощь с кодом.
- Задание по C++
- 24 задание егэ, C++