Size: a a a

2021 February 20

FS

First name Second na... in supapro.cxx
First name Second name
Ребята, не подскажите как выполнить эту задачку:                                                                                                  Дан набор из 10 целых чисел.Создать список.Выполнить циклический сдвиг списка так, чтобы на первом месте стоял первый максимальный элемент. (Например, список - 2 7 5 8 3  даст ответ  8 3 2 7 5).
Ну, а это мой код


cout << "Initial vector: ";
list<int>myList;
int n = 10;
for (int i = 0; i < n; i++) {  //генерируем числа в список
 myList.push_back(rand() % 10);
}
for (auto i = myList.begin(); i != myList.end(); i++) {
 cout << *i << " ";
}
int max = *max_element(myList.begin(), myList.end());  //находим максимальный элемент

for (int i = n - 1; i >= max; i--) {  //переставляем с конца в начало по максимальный элемент
 myList.push_front(i);
 myList.pop_back();
}
cout << endl << "Changed vector: ";
for (auto i = myList.begin(); i != myList.end(); i++) {  //вывод изменненого
 cout << *i << " ";
}
источник

C

CodeDetector in supapro.cxx
First name Second name
Ну, а это мой код


cout << "Initial vector: ";
list<int>myList;
int n = 10;
for (int i = 0; i < n; i++) {  //генерируем числа в список
 myList.push_back(rand() % 10);
}
for (auto i = myList.begin(); i != myList.end(); i++) {
 cout << *i << " ";
}
int max = *max_element(myList.begin(), myList.end());  //находим максимальный элемент

for (int i = n - 1; i >= max; i--) {  //переставляем с конца в начало по максимальный элемент
 myList.push_front(i);
 myList.pop_back();
}
cout << endl << "Changed vector: ";
for (auto i = myList.begin(); i != myList.end(); i++) {  //вывод изменненого
 cout << *i << " ";
}
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

MK

Mikhail Kornaukhov in supapro.cxx
First name Second name
Ребята, не подскажите как выполнить эту задачку:                                                                                                  Дан набор из 10 целых чисел.Создать список.Выполнить циклический сдвиг списка так, чтобы на первом месте стоял первый максимальный элемент. (Например, список - 2 7 5 8 3  даст ответ  8 3 2 7 5).
а можно использовать стандартную библиотеку?
источник

FS

First name Second na... in supapro.cxx
Mikhail Kornaukhov
а можно использовать стандартную библиотеку?
Нет, нужно через list сделать
источник

/

/dev/desider in supapro.cxx
First name Second name
Нет, нужно через list сделать
У вас забыли продлить лицензию на STL?
источник

MK

Mikhail Kornaukhov in supapro.cxx
First name Second name
Нет, нужно через list сделать
https://en.cppreference.com/w/cpp/algorithm/rotate
если можно использвать algorithm
источник

FS

First name Second na... in supapro.cxx
/dev/desider
У вас забыли продлить лицензию на STL?
Да
источник

MK

Mikhail Kornaukhov in supapro.cxx
First name Second name
Ну, а это мой код


cout << "Initial vector: ";
list<int>myList;
int n = 10;
for (int i = 0; i < n; i++) {  //генерируем числа в список
 myList.push_back(rand() % 10);
}
for (auto i = myList.begin(); i != myList.end(); i++) {
 cout << *i << " ";
}
int max = *max_element(myList.begin(), myList.end());  //находим максимальный элемент

for (int i = n - 1; i >= max; i--) {  //переставляем с конца в начало по максимальный элемент
 myList.push_front(i);
 myList.pop_back();
}
cout << endl << "Changed vector: ";
for (auto i = myList.begin(); i != myList.end(); i++) {  //вывод изменненого
 cout << *i << " ";
}
У тебя очень странная логика. Почему ты сравниваешь наибольший элемент с индексом?
источник

FS

First name Second na... in supapro.cxx
Mikhail Kornaukhov
У тебя очень странная логика. Почему ты сравниваешь наибольший элемент с индексом?
А, ну, да, точно
Вы правы
источник

MK

Mikhail Kornaukhov in supapro.cxx
First name Second name
А, ну, да, точно
Вы правы
Кажется, тебе нужна функция std::distance, чтобы найти индекс наибольшего элемента в списке
источник

MK

Mikhail Kalugin in supapro.cxx
Mikhail Kornaukhov
Кажется, тебе нужна функция std::distance, чтобы найти индекс наибольшего элемента в списке
от begin() до найденного в первом шаге итератора?
источник

MK

Mikhail Kornaukhov in supapro.cxx
Mikhail Kalugin
от begin() до найденного в первом шаге итератора?
ну да
источник

FS

First name Second na... in supapro.cxx
Mikhail Kalugin
от begin() до найденного в первом шаге итератора?
До max
источник

MK

Mikhail Kalugin in supapro.cxx
First name Second name
До max
Да, до итератора с ним.
источник

MK

Mikhail Kalugin in supapro.cxx
эта штука работает только с итераторами.
источник

S

Skarn in supapro.cxx
Blue Heart
Можно фигачить на 98 плюсах, выделять память через new и не подозревать, что ты делаешь что-то не то до поры до времени)
Ну можно и таким образом вменяемый код написать
источник

MK

Mikhail Kalugin in supapro.cxx
Skarn
Ну можно и таким образом вменяемый код написать
Вполне, если понимаешь, что именно делаешь.
источник

K

Kirill in supapro.cxx
А что занимает больше памяти - map или unordered_map, при одинаковом наполнении?
источник

ВШ

Виталий Шанин... in supapro.cxx
Подскажите, где ошибка? Как правильно присвоить дату рождения?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//Compiler version gcc  6.3.0

struct date
 {
   int day;
   int month;
   int year;
 };
 
struct pers
{
 char name;
 struct date bd;
 };
 
int main(void)
{
 int i;
 struct pers p;
 p.bd = {8,9,1000};
 printf("%d %d %d",p.bd.day, p.bd.month, p.bd.year);

 return 0;
}
источник

BH

Blue Heart in supapro.cxx
Skarn
Ну можно и таким образом вменяемый код написать
Можно. А можно забыть к одному new написать delete и искать, где потекло)
источник