Предмет: Информатика, автор: PhyMAthematicssics

Задача в С++
Дана последовательность действительных чисел а1 ≤ а2 ≤ .… ≤ аn. Вставить в нее
действительное число b так, чтобы последовательность осталась неубывающей.
Нужна помощь с тем, как в массив впихнуть значение b и потом вставить в последовательность.
Мой код:
#include "stdafx.h"
#include
#include
#include
using namespace std;
int comp1(const void * a, const void * b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int size,b;
cout << "VVedite razmer:" << endl;
cin >> size;

int *arr = new int[size];

cout << "VVedite posledovatel'nost' iz " << size << " znach." << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
cout << "Vvedite b" << endl;
cin >> b;
qsort(arr, size, sizeof(int), comp1);
for (int i = 0; i < size; i++)
cout << arr[i] << " " << endl;

system("pause");
return 0;


csharp: Почему не используете удобнейшую библиотеку для работы с массивами - vector? Там не надо извращаться, можно сразу через arr.push_back(элемент_присущий_типу_массива)
PhyMAthematicssics: Эта библиотека мне ещё не ведома)))
csharp: Советую изучить ) Я так понимаю, Вам нужен ответ, основанный на Вашем коде?))
PhyMAthematicssics: Если сможете дать ответ, можно и не основанный на коде)

Ответы

Автор ответа: csharp
2
  • Прикреплено фото с кодом, тест и сам код
  • Файл открывать любым текстовым редактором
Приложения:

csharp: Так нужно или нет? Смотрите тест на 2 приложении.
PhyMAthematicssics: Всё отлично) Спасибо!
Похожие вопросы