#include <iostream>
#include <vector>
using namespace std;
int main()
{
int temp=0;
vector<int> data;
while(cin>>temp) data.push_back(temp);
int next=0;
for (int s=0; s<data.size()-1; ++s)
{
for(int current=0; current<data.size()-1; ++current)
{
next=current+1;
if(data[current]>data[next])
{
temp=data[current];
data[current]=data[next];
data[next]=temp;
}
}
}
return 0;
}
В векторе у меня 10 ячеек, соответственно, когда программа доходит до v[i(то есть 10)], она проверит, больше ли последняя ячейка следующей ячейки (v[i+1(то есть 11)], но беда в том, что ячейки 11 не существует.
Поэтому я добавил это условие, которое проверяет, так скажем, существует ли следующая ячейка, а если не существует, то проверить, больше ли предыдущее значение ячейки, чем последнее значение ячейки, и выполнить в случае необходимости их перестановку.
if(v[i]>v[i+1]) {
все равно выполнится. /******************************************************************************
Welcome to AbL Online.
AbL online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
C#, VB, Perl, Swift, Prolog, Javascript, Abstractlanguage, Pascal, HTML, CSS, JS
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
// O'k about abstract class in Abstractlanguage
Some_cool_library.al
TON of boillerplate code
some abstract class I_rotatable
virtual void rotate()=0
concrete class Square implements I_rotatable
void rotate()
// some matrix transformation code
concrete class Monkey_coder implements I_rotatable
void rotate()
// some kick on code
TON of boillerplate code
// I want to set up this library in my project
My_genius_project.al
include Some cool library.al
void rotator (I_rotatable& smth)
smth.rotate()
main
Square malevich_art
Monkey_coder Venkatanarasimharajuvaripeta
all pack in array I_rotatable& some_data
if something is happening foreach rotator(some_data)
// without abstract class
My_genius_project.al
include Some cool library.al
//void rotator (I_rotatable& smth)
//smth.rotate()
// because I can't do it
main
Square malevich_art
Monkey_coder Venkatanarasimharajuvaripeta
if something is happening
malevich_art.rotate()
Venkatanarasimharajuvaripeta.rotate()
// Add +100500 objects with different types. What happened?
main
Square malevich_art
Monkey_coder Venkatanarasimharajuvaripeta
if something is happening
malevich_art.rotate()
Venkatanarasimharajuvaripeta.rotate()
abc.rotate()
cba.rotate()
blabla.rotate()
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
aaaaaaaaaaaaaaahhhhhh
// With abstract class I can rotate all of them simple.
Что за "абстрактное мышление"?- очевидно когда вы понимаете для чего эти абстракции. Вон человек выше не понимает зачем интерфейс.
Абстракции вы и в процедурном стиле можете делатьможно, кто же спорит то?
SOLID, GRASP и шаблоны проектирования? - это вообще научная стезя изучающая опыт использования ООП,ему не нужно в научную стезю, ему нужно подсмотреть там хорошие практики. Не нужно прям как с азбукой с ними носится. Но понимать как делать надо, а как лучше не надо будет полезно. Чем набивать шишки самому, лучше посмотреть у других. Та же фабрика вот чуть ли ни в каждом проекте используется.
Я действительно считаю С++ неоправданно перегруженным censored
Вот https://www.onlinegdb.com/
Отладчик есть