Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
dedarh
0 / 0 / 1
Регистрация: 10.07.2014
Сообщений: 20
1

Поменять в списке местами первый минимальный и последний максимальный элементы

10.07.2014, 09:42. Просмотров 1361. Ответов 17
Метки нет (Все метки)

односвязный список stl (c++)

На основе данных входного файла создать список. Поменять в списке местами первый минимальный и последний максимальный элементы.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2014, 09:42
Ответы с готовыми решениями:

Массивы. Поменять местами первый минимальный и последний максимальный элементы
Условие: Дана последовательность из n действительных чисел. Замечание:...

Поменять местами первый минимальный и последний максимальный элементы массива
"Дан одномерный целочисленный массив из N элементов, заданных случайными...

Поменять местами первый минимальный и последний максимальный элементы массива
В среде MS Visual C++ разработать программу, которая формирует одномерный...

Поменять в массиве местами первый максимальный и последний минимальный элементы
помогите пожалуйста

В каждой строке матрицы поменять местами максимальный и первый, минимальный и последний элементы
Найти в каждой строке матрицы максимальный и минимальный элементы и поместить...

17
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,803
Записей в блоге: 2
Завершенные тесты: 1
10.07.2014, 09:44 2
Цитата Сообщение от dedarh Посмотреть сообщение
односвязный список stl
в STL вроде нет односвязного списка
0
dedarh
0 / 0 / 1
Регистрация: 10.07.2014
Сообщений: 20
10.07.2014, 09:45  [ТС] 3
а List ?
0
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,803
Записей в блоге: 2
Завершенные тесты: 1
10.07.2014, 09:49 4
если только std::forward_list
0
CheshireCat
Эксперт С++
2913 / 1262 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
10.07.2014, 09:51 5
Цитата из доки по STL:
List containers are implemented as doubly-linked lists; ......
PS: да, Croessmah прав - std::forward_list подойдет, но в том только случае, если твой компилер поддерживает C++11.
0
dedarh
0 / 0 / 1
Регистрация: 10.07.2014
Сообщений: 20
10.07.2014, 09:57  [ТС] 6
Решение практических задач с использованием списков, стеков и очередей из библиотеки STL
1. На основе данных входного файла создать список. Поменять в списке местами первый минимальный и последний максимальный элементы. Листинг программы 03_list.cpp, выполняющей решение задачи, представить в приложении А.

Добавлено через 5 минут
CheshireCat, можете помочь ? с помощью библиотеке stl
0
CheshireCat
Эксперт С++
2913 / 1262 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
10.07.2014, 10:06 7
Чем именно "помочь"? Где твой код? Что конкретно у тебя не получается?

Если под "помочь" имеется в виду "сделай за меня", то огласи бюджет и сроки.
0
Croessmah
10.07.2014, 10:07
  #8

Не по теме:

Цитата Сообщение от CheshireCat Посмотреть сообщение
то огласи бюджет и сроки.
0$, через час жду результат :claim:

0
zss
10.07.2014, 10:11
  #9

Не по теме:

Дожили. И тут коррупция!

0
Croessmah
10.07.2014, 10:13
  #10

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
Дожили. И тут коррупция!
Щас еще бюрократы за справкой к преподу пошлют :D

0
dedarh
0 / 0 / 1
Регистрация: 10.07.2014
Сообщений: 20
10.07.2014, 10:51  [ТС] 11
нам дали задания, сказали использовать гугл и прочее разобраться в теме и сдать программу.
0
gray_fox
What a waste!
1554 / 1259 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
10.07.2014, 23:37 12
Цитата Сообщение от dedarh Посмотреть сообщение
На основе данных входного файла создать список. Поменять в списке местами первый минимальный и последний максимальный элементы.
примерно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
#include <iterator>
#include <algorithm>
#include <list>
 
 
int main() {
   std::ifstream istream("input");
   
   std::list<int> list(std::istream_iterator<int>{istream}, std::istream_iterator<int>{});
 
   auto const minmax = std::minmax_element(std::begin(list), std::end(list));
   std::iter_swap(minmax.first, minmax.second);
}
1
Croessmah
++Ͻ
14777 / 8453 / 1605
Регистрация: 27.09.2012
Сообщений: 20,803
Записей в блоге: 2
Завершенные тесты: 1
11.07.2014, 00:49 13
gray_fox, std::list не односвязный
0
gray_fox
What a waste!
1554 / 1259 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
11.07.2014, 00:51 14
Цитата Сообщение от Croessmah Посмотреть сообщение
gray_fox, std::list не односвязный
С std::forward_list то же самое будет.
0
Psilon
Master of Orion
Эксперт .NET
6013 / 4866 / 902
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
11.07.2014, 02:14 15
gray_fox, извращенцы. Даже не представляю, как он будет это объяснять
0
dedarh
0 / 0 / 1
Регистрация: 10.07.2014
Сообщений: 20
11.07.2014, 11:49  [ТС] 16
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <list>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    FILE *in = fopen("input.txt","r");
    FILE *out = fopen("output.txt", "w");
    int buf = 0;
    int counter = 0;
 
    list<int> iList;
 
    while(!feof(in))
    {
        fscanf(in,"%d",&buf);
        iList.push_back(buf);
    }
 
    for(auto it = iList.begin(); it != iList.end(); it++)
    
    {
        
    }
 
    
 
 
    // fprintf(out, "%d ", answer);
   // printf("%d", answer);
 
    fclose(in);
    fclose(out);
    return 0;
}
я начал писать, но как найти максимальный и минимальны йи как их поменять
0
Psilon
Master of Orion
Эксперт .NET
6013 / 4866 / 902
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
11.07.2014, 14:01 17
dedarh, введите переменные indexMin и indexMax. найдите для начала индекс максимального и минимального элементов.

gray_fox, кстати у вас он может неправильно сработать, потому что из двух максимальных скорее всего берется первый, а нужен последний.
0
gray_fox
What a waste!
1554 / 1259 / 166
Регистрация: 21.04.2012
Сообщений: 2,636
Завершенные тесты: 3
12.07.2014, 01:14 18
Цитата Сообщение от Psilon Посмотреть сообщение
кстати у вас он может неправильно сработать, потому что из двух максимальных скорее всего берется первый, а нужен последний.
Да вроде нет:
If several elements are equivalent to the smallest element, the iterator to the first such element is returned. If several elements are equivalent to the largest element, the iterator to the last such element is returned.
http://en.cppreference.com/w/cpp/algorithm/minmax_element
1
12.07.2014, 01:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 01:14

В массиве переставить местами первый и максимальный элементы, а также последний и минимальный
В массиве переставить местами первый и максимальный элементы, а также последний...

Поменять местами первый и минимальный (последний из минимальных) элементы массива
Дан массив aa из nn целых чисел. Требуется поменять местами первый и...

В заданом одномерном масиве целого типа поменять местами следующие два элемента: первый минимальный и последний максимальный
Помогите пожалуйста, нужен полный текст программы. Заранее благодарен.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru