Пример решения задачи на языке программирования C/C++ - реверс массива - OkZachet.Ru
 

OkZachet.Ru

Решение задач и контрольных работ|Помощь на экзамене|Онлайн тесты

Скоро сессия студент? OkZachet.Ru - и нет проблем
Опыт. Качество. Гарантии. Бесплатные доработки.
г. Первоуральск, тел. 8(908)639-54-09, email: admin@okzachet.ru

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Главная Информатика и программирование C/C++ Пример решения задачи на языке программирования C/C++ - реверс массива
E-mail Печать PDF

Пример решения задачи на языке программирования C/C++ - реверс массива

c/c++

Условие:
Сгенерировать случайный массив типа int размерностью от 1 до 40 элементов.
Перевернуть элементы массыва (сделать его reverse).
Вывести результат пользователю.


Решение:

Для решения данной задачи условимся, что пользователь будет вводить целые числа. Организуем бесконечный цикл do {...} while, выход из которого будет происходить в ветке if в случае, если будет введено не y или не Y. Представим блок-схему нашей программы


Код на языке программирования C++

//программа разворачивает массив необорот,
//предварительно генерирует его случайным образом
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>

using namespace std;

int main(int numberOfArgs, char* pszArgs[]){
//для отображения русских букв
setlocale(0,"");

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

//инициализация переменных
char again;
int size; //случайный размер массива
int temp; //временная переменная
int i; //переменная для цикла

do
{
//сгенерируем массив размерностью от 1 до 20 - случайно
size = rand()%20+1;

cout<<"Размерность массива равна "<<size<<endl;
int *array = new int[size]; //выделяем память под массив

//заполним его случайными числами от 0 до 100
for(i = 0; i < size; i++)
{
array[i] = rand()%101; // случайное значение i-ого элемента массива
cout<<array[i]<<" ";
}
cout<<endl;

//развернем массив
i = 0;
while(size-1-i>i) // size-1-i - индекс элемента массива с конца, i - сначала
{
temp = array[i]; // элемент с начала массива в temp
array[i] = array[size-1-i]; // элемент с начала на элемент с конца
array[size-1-i] = temp; // элементу с конца присваивается temp
i++;
}

//выведем массив
for(i = 0; i < size; i++)
{
cout<<array[i]<<" ";
}
cout<<endl;

//очистим массив
delete [] array;

//запрос на повторение операции
cout<<"Еще раз? (y/n):";
cin>>again;

//очистка потока ввода
cin.clear();
while(cin.get() !='\n');
} while ( 'y' == again || 'Y' == again); // выход из цикла, если again=='y'*/

//задержка для пользователя
system("pause");
return 0;
}

Пример работы программы

c/c++

Скачать программу (exe-файл)

Решение задачи по программированию на языке C/C++ завершено.

Если все же у Вас остались вопросы по выполнению заданий, то Вы можете ознакомиться с общей информацией по решению контрольных работ и задач на заказ на сайте OkZachet.Ru.

С Уважением, Администратор сайта.

Обновлено 08.09.2017 00:31  

Добавить комментарий

Перед опубликованием все комментарии модерируются!


Пройти опрос 1

По какому предмету Вам нужна помощь?
 

Пройти опрос 2

Из какого вы города?
 

Пройти опрос 3

Что нужно добавить на сайт?