Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
*Оля*
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 48
1

Упорядочить целые числа в строке по убыванию

10.12.2010, 10:34. Просмотров 1160. Ответов 7
Метки нет (Все метки)

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

подскажите пожалуйста как вводить числа и как определить целое число или нет?
спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2010, 10:34
Ответы с готовыми решениями:

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

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

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

Упорядочить в строке слова по убыванию их длины.
Дана строка символов, состоящий из отдельных слов, разделенных пробелом....

Упорядочить столбцы матрицы по убыванию элементов в k строке
Дана матрица А(n,m). Упорядочить столбцы матрицы по убыванию элементов в k...

7
easybudda
Модератор
Эксперт CЭксперт С++
10115 / 6023 / 1510
Регистрация: 25.07.2009
Сообщений: 11,418
10.12.2010, 10:51 2
Цитата Сообщение от *Оля* Посмотреть сообщение
как вводить числа
C++
1
2
3
4
#include <iostream>
...
double val;
std::cin >> val;
C
1
2
3
4
#include <stdio.h>
...
double val;
scanf("%lf", &val);
Цитата Сообщение от *Оля* Посмотреть сообщение
как определить целое число или нет?
C++
1
2
3
4
#include <cmath>
...
if ( val == floor(val) )
  // целое число
1
*Оля*
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 48
10.12.2010, 10:56  [ТС] 3
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
...
 
...
double val;
scanf("%lf", &val);[/C]
 
 
  // целое число

а так же вроде введется только одно число, а не строка с числами?
0
easybudda
Модератор
Эксперт CЭксперт С++
10115 / 6023 / 1510
Регистрация: 25.07.2009
Сообщений: 11,418
10.12.2010, 11:01 4
Цитата Сообщение от *Оля* Посмотреть сообщение
введется только одно число
ну да
Цитата Сообщение от *Оля* Посмотреть сообщение
а не строка с числами?
а "строка с числами" - это текстовая строка, или всё-таки одномерный массив?
0
*Оля*
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 48
10.12.2010, 11:06  [ТС] 5
Цитата Сообщение от easybudda Посмотреть сообщение
ну да

а "строка с числами" - это текстовая строка, или всё-таки одномерный массив?

текстовая строка, нужно использовать функцию преобразования строки в вещественное число.
только вводится по условию не одно число, поэтому я не понимаю как это сделать
0
easybudda
Модератор
Эксперт CЭксперт С++
10115 / 6023 / 1510
Регистрация: 25.07.2009
Сообщений: 11,418
10.12.2010, 11:10 6
на всякий случай...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
//...
std::string str;
std::cout << "String: ";
std::getline(std::cin, str);
std::istringstream ist(str);
double val;
std::vector<double> vec;
while ( ist >> val )
  vec.push_back(val);
// vec - массив введённых чисел
1
*Оля*
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 48
16.12.2010, 23:34  [ТС] 7
все равно не могу никак понять. ну вот если вводим вот так:
C
1
2
3
4
5
6
7
8
9
{char str[6];
float a[20];
int i=0;
    while(1) {
    printf("vvedite cislo"); gets(str);
    if (str[0]==0) break;
    float c;
    sscanf(str,"%lf",&c);
     if ... и здесь должно быть условие, что число целое
а дальше что делать? создавать массив с этими числами и там сортировать или как? что-то я совсем запуталась в этой задаче.

видела почти такую же тему, но решение не поняла(
0
easybudda
Модератор
Эксперт CЭксперт С++
10115 / 6023 / 1510
Регистрация: 25.07.2009
Сообщений: 11,418
17.12.2010, 00:52 8
Цитата Сообщение от *Оля* Посмотреть сообщение
Задана строка, содержащая вещественные числа (максимум 20 чисел).
Упорядочить целые числа в строке по убыванию.
Это в смысле - те числа, у которых дробная часть нулевая, между собой устаканить, всё остальное точно на своих местах оставить? Замороченно получится... Вы задание уточните. А пока вот: читает числа типа double из строки, сортирует, выводит...
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
 
int desc_cmp(const void * a, const void * b ){
    double delta = *(double*)b - *(double*)a;
    return ( delta < 0.0 ) ? -1 : ( delta > 0.0 ) ? 1 : 0;
}
 
#define MAX_NUMBERS 20
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p, * tail;
    double arr[MAX_NUMBERS];
    int cnt, i;
    
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        perror("fgets");
        exit(1);
    }
    
    for ( cnt = 0, p = strtok(buf, DELIM); ( cnt < MAX_NUMBERS ) && ( p != NULL ); ++cnt, p = strtok(NULL, DELIM) ){
        errno = 0;
        arr[cnt] = strtod(p, &tail);
        if ( errno || *tail ){
            fprintf(stderr, "Wrong string format!\n");
            exit(1);
        }
    }
    
    if ( ! cnt ){
        fprintf(stderr, "Empty array!\n");
        exit(1);
    }
    
    qsort(arr, cnt, sizeof(double), desc_cmp);
    
    printf("Result: ");
    for ( i = 0; i < cnt; ++i )
        printf("%.2f ", arr[i]);
    printf("\n");
    
    exit(0);
}
1
17.12.2010, 00:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 00:52

В массиве A(n) удалить все отрицательные числа ,затем массив упорядочить по убыванию
В массиве A(n) удалить все отрицательные числа ,затем массив упорядочить по...

Упорядочить по убыванию элементы целочисленного массива, расположенные после минимального простого числа
Задание 2. Упорядочить по убыванию элементы целочисленного массива,...

Упорядочить массив вещественных чисел по убыванию модулей элементов и найти два числа по условию
Программа была написана для другой похожей задачи, помогите подстроить под...


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

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

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