Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HoTHa
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 6
#1

Массивы. Только учусь. Выборка и сортировка - C++

07.12.2010, 21:28. Просмотров 486. Ответов 8
Метки нет (Все метки)

Задание такое.

Язык: C

Define использовать нельзя!!!
С клавиатуры вводятся слова разделенные пробелами.
На экран выводятся в порядке убывания все слова, состоящие только из арабских цифр.

Данные: N = 5
S = "ade5 543 3sa6 12 5796"

Результат: 5796 543 12

Заранее болшое СПАСИБООООО!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 21:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы. Только учусь. Выборка и сортировка (C++):

Вывести массивы номеров строк и столбцов, все элементы которых равны только 1 или только 0 - C++
Задан размер квадратной матрицы и значения ее элементов (0 или 1). Сформировать и вывести массив номеров строк и массив номеров столбцов,...

Динамические массивы и не только - C++
Помогите решить задачу такого плана Создать класс Матрица Члены класса: Размерность массива, элементы матрицы Методы:Конструктор,...

Учусь c ++ - C++
В общем читал статью в учебнике "Умные опеpатоpы". Дальше идет такая пpогpаммка. #include <iostream> #include<string> Using...

массивы сортировка - C++
простая сортировка обменами. напишите плиз..

Массивы, сортировка - C++
Люди помогите сделать єто задание: Лабораторна робота №2 Тема – алгоритмізація і програмування процесів обробки масивів. Мета –...

Учусь умножать - C++
Здравствуйте, дорогие обитатели CyberForum :) Есть небольшая просьба, прошу подтолкнуть меня к правильному решению задачи. Изначально...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
07.12.2010, 21:40 #2
не в обиду!
на твоем месте я бы ее решал сам!
много основ тут заложено без которых потом будет трудно.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
07.12.2010, 22:08 #3
HoTHa,
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
48
49
50
51
52
53
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
 
#define MAXSIZE 256
 
void _sort(int m[], int _cnt)
{
    for(int i = _cnt - 1; i >= 1; --i)
    {
        for(int j = 0; j < i; ++j)
        {
            if(m[j] < m[j + 1])
            {
                int temp = m[j];
                m[j] = m[j + 1];
                m[j + 1] = temp;
            }
        }
    }
}
 
int main()
{
    char str[MAXSIZE];
    int j = 0, m[MAXSIZE], cnt = 0, _cnt = 0;
    printf("Enter str: ");
    gets(str);
    for(char *p = strtok(str, " "); p ; p = strtok(NULL, " "))
    {
        char *_p;
        for(int i = 0; i < strlen(p); ++i)
            if(isdigit(p[i]))
                ++cnt;
 
        if(cnt == strlen(p))
        {
            m[j] = atoi(p);
            ++j;
            ++_cnt;
        }
        cnt = 0;
    }
 
    _sort(m, _cnt);
 
    printf("\nNumbers: ");
    for(int i = 0; i < _cnt; ++i)
        printf("%d ", m[i]);
 
    return 0;
}
HoTHa
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 6
07.12.2010, 23:53  [ТС] #4
Добавлено через 1 минуту
asics, Большое спасибо! Но почему то в этом ряду
C
1
for(int i = _cnt - 1; i >= 1; --i)
когда сохраняешь в C ошибка!
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
08.12.2010, 00:00 #5
HoTHa, у меня никакой ошыбки нет.Какой у тебя компилятор ?
HoTHa
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 6
08.12.2010, 00:11  [ТС] #6
asics, dev c++ 4.9.9.2
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
08.12.2010, 00:16 #7
HoTHa, Незнаю, компили на dev c++ 4.9.9.2 - никаких ошыбок нет.Можэт вы что-то добавляете?Просто скопируйте код в редактор и скомпилируйте.
HoTHa
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 6
08.12.2010, 00:32  [ТС] #8
asics, Я меняю некоторые вещи, например ++ ставлю после символа, еще вместо *p мы используем p[]. А ети элементы _cnt, cnt генерируются вначале произвольно, всмысле название?
strtok, atoi(p) для чего используется?

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
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <conio.h>
 
#define MAXSIZE 256
 
void _sort(int m[], int _cnt)
{
    for(int i = _cnt - 1; i >= 1; i--)
    {
        for(int j = 0; j < i; j++)
        {
            if(m[j] < m[j + 1])
            {
                int temp = m[j];
                m[j] = m[j + 1];
                m[j + 1] = temp;
            }
        }
    }
}
 
int main()
{
    char str[MAXSIZE];
    int j = 0, m[MAXSIZE], cnt = 0, _cnt = 0;
    printf("Sisesta tekstirida: ");
    gets(str);
    for(char p[] = strtok(str, " "); p ; p = strtok(NULL, " "))
    {
        char _p[];
        for(int i = 0; i < strlen(p); i++)
            if(isdigit(p[i]))
                cnt++;
 
        if(cnt == strlen(p))
        {
            m[j] = atoi(p);
            j++;
            _cnt++;
        }
        cnt = 0;
    }
 
    _sort(m, _cnt);
 
    printf("Araabia numbrid kahanevas jГ¤rjekorras: ");
    for(int i = 0; i < _cnt; i++)
        printf("%d ", m[i]);
 
    return 0;
    getch();
}
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
08.12.2010, 00:35 #9
strtok() - разбивает строку на лексемы.
atoi() - переобразовует строку в число.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 00:35
Привет! Вот еще темы с ответами:

Массивы,матрицы,сортировка. - C++
помогите пожалуста очень срочно надо скоро сессия а я не че не зделал а времени чтоб разобраться не хватает. 1.найти сумму чисел в...

двухмерные массивы, сортировка - C++
дана матрица. найти макс елемент на главной диагонале и отсортировать елемент строки матрицы, строку дает пользователь. Неполучается...

Гномья сортировка (массивы) - C++
Помогите написать программу &quot;гномьей сортировки&quot;.

Одномерные массивы. Сортировка - C++
Отсортируйте по невозрастанию методом простого выбора одномерный вещественный массив, заданный случайными числами на промежутке [0;50)....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2010, 00:35
Ответ Создать тему
Опции темы

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