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

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.

23.02.2011, 21:45. Просмотров 1357. Ответов 7
Метки нет (Все метки)

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить
целые числа в строке по убыванию.
должно выглядеть что то типо такого
13 23 34 65 12 ( enter )
65
34
23
13
12
press eny key to con .....
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2011, 21:45
Ответы с готовыми решениями:

Упорядочить целые числа в строке по убыванию
Задана строка, содержащая вещественные числа (максимум 20 чисел). Упорядочить целые числа в строке...

Дана строка, содержащая целые числа. Вывести на экран только чётные числа
я накидала код...но что-то тут не ладное((( #include <iostream> #include <cstring> #include...

Упорядочить целые числа в строке по возрастанию.
Помогите пожалуйста с задачей на СИ: Задана строка, содержащая целые числа (максимум 15 чисел)....

Дана последовательность, элементы которой есть целые двузначные числа. Упорядочить последовательность по убыванию произведений цифр
Здравствуйте. На форуме есть код подобный, но по возрастанию сумм элементов. Как мне подправить...

Матрица B, содержащая целые числа, вводится с клавиатуры
Матрица B, содержащая целые числа, вводится с клавиатуры. Найти максимальный и минимальный...

7
asics
Freelance
Эксперт С++
2864 / 1799 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
23.02.2011, 22:26 2
C++
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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <sstream>
 
#include <windows.h>
 
int str_to_int(std::string &str_num){
  int num = 0;
  std::for_each(str_num.begin(), str_num.end(), [&num](char a_){
    num = num * 10 + (a_ - '0');
  });
  return num;
}
 
int main(){
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  std::string str;
  std::cout << "\n\nВведите строку: ";
  getline(std::cin, str);
  std::vector<int> vec;
  std::istringstream ist(str);
  while(ist >> str)
    vec.push_back(str_to_int(str));
  std::sort(vec.begin(), vec.end(), [](int a, int b) -> bool{return a > b;});
  std::cout << "\n\nРезультат: \n";
  std::for_each(vec.begin(), vec.end(), [](int a_){std::cout << a_ << '\n';});
  return 0;
}
0
pasha-1-08
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 27
23.02.2011, 22:40  [ТС] 3
нужно в компиляторе PEllic C он не знает iostream исправте плиз!
0
asics
Freelance
Эксперт С++
2864 / 1799 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
23.02.2011, 22:43 4
Цитата Сообщение от pasha-1-08 Посмотреть сообщение
нужно в компиляторе PEllic C
Увы, я такого даже компилятора и не знаю.
0
23.02.2011, 22:43
Ma3a
Эксперт С++
620 / 464 / 57
Регистрация: 28.01.2011
Сообщений: 605
23.02.2011, 22:45 5
быть может, Pelles C?
0
pasha-1-08
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 27
23.02.2011, 22:49  [ТС] 6
да!он самый
0
igorrr37
2036 / 1601 / 799
Регистрация: 21.12.2010
Сообщений: 2,751
Записей в блоге: 10
23.02.2011, 23:32 7
http://www.cyberforum.ru/cpp-beginners/thread247110.html
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10535 / 6237 / 1567
Регистрация: 25.07.2009
Сообщений: 11,866
24.02.2011, 00:46 8
pasha-1-08, не дублируйте темы - это нарушает правила форума.
C
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int cmp(const void * a, const void * b){ return *(int*)b - *(int*)a; }
 
#define MAX_NUMBERS 15
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    int arr[MAX_NUMBERS], cnt, i;
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
        cnt = 0;
        for ( p = strtok(buf, DELIM); p && cnt < MAX_NUMBERS; p = strtok(NULL, DELIM) )
            arr[cnt++] = atoi(p);
        if ( ! cnt ){
            fprintf(stderr, "Wrong input!\n");
            continue;
        }
        qsort(arr, cnt, sizeof(int), cmp);
        printf("Result: ");
        for ( i = 0; i < cnt; ++i )
            printf("%d ", arr[i]);
        printf("\n\n");
    }
    
    exit(0);
}
Добавлено через 13 минут
asics, вот ещё вариант, правда, инклудов больше получилось, чем сама программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <set>
#include <algorithm>
#include <functional>
#include <string>
#include <sstream>
#include <iterator>
    
int main(){
    std::string buf;
    
    while ( std::cout << "String: " && std::getline(std::cin, buf) && ! buf.empty() ){
        std::istringstream ist(buf);
        std::set<int, std::greater<int> > set;
        std::copy(std::istream_iterator<int>(ist), std::istream_iterator<int>(), std::inserter(set, set.begin()));
        std::cout << "Result: ";
        std::copy(set.begin(), set.end(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    }
    
    return 0;
}
2
24.02.2011, 00:46
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2011, 00:46

Задана строка, содержащая буквы и числа
Задана строка, содержащая буквы и числа. Найти произведение всех чисел, заданных в строке. ...

Дана матрица размерностью nxn, содержащая целые числа. Отсортировать:
Дана матрица размерностью nxn, содержащая целые числа. Отсортировать: каждую строчку матрицы по...

Задана строка, содержащая символы и числа. Найти произведение всех чисел заданной строки.
Напишите пожалуйста программу!СПАСИБО! Задана строка, содержащая символы и числа. Найти...


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

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

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