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

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

Войти
Регистрация
Восстановить пароль
 
Jezus
Сообщений: n/a
#1

распечатать по возрастанию - C++

26.10.2010, 21:39. Просмотров 501. Ответов 5
Метки нет (Все метки)

помогите написать прогу пожалуйста:
"Предложение состоит из записи символов цифр, например:
123434 53423 2344 6564.
Распечатать слова в порядке возрастания.
Реализуйте действия задания по вводу, преобразо-
ванию и распечатке результата в виде собственных функций. Использование
глобальных переменных запрещено. Все исходные данные функция должна по-
лучать в виде параметров. Каждая функция должна выполнять строго опреде-
ленное действие."
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2010, 21:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос распечатать по возрастанию (C++):

Распечатать массив по возрастанию модулей элементов - C++
Здравствуйте. У меня возникла некоторая проблема: задача: найти наибольший и наименьший элемент в трех массивах. Распечатать каждый массив...

Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой - C++
Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что...

Из двух отсортированных по возрастанию массивов сформировать третий, отсортированный также по возрастанию - C++
Нужно написать программу с тремя массивами :| Из двух отсортированных по возрастанию массивов сформировать третий, отсортированный также...

Получить массив С(К), упорядоченный по возрастанию, путем слияния массивов A(N) и B(M), упорядоченных по возрастанию (K = N + M) - C++
Ребята выручите пожалуйста! Получить массив С(К), упорядоченный по возрастанию, путем слияния массивов A(N) и B(M), упорядоченных по...

Получить массив С(К). упорядоченный по возрастанию, путем слияния массивов A(N) и В(М). упорядоченных по возрастанию (К = N + М). - C++
Получить массив С(К). упорядоченный по возрастанию, путем слияния массивов A(N) и В(М). упорядоченных по возрастанию (К = N + М). ...

Сортировка массива: сначала положительные по возрастанию, потом отрицательные по возрастанию - C++
Пользователь вводит массив чисел,нужно отсортировать его методом выбора,что бы сначала шли положительные числа,потом отрицательные...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
26.10.2010, 23:37 #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
33
34
35
36
37
38
39
#include "conio.h" 
using namespace std;
void Input(char strings[10][10]);
void Sort(char strings[10][10]);
void Output(char strings[10][10]);
 
int main()
{
    char strings[10][10]; 
     Input(strings);
Sort(strings);
Output( strings);
 
        getch();
}
 
void Output(char strings[10][10]) {
    for(int i = 0;i < 10;++i) cout << strings[i] << " ";
}
 
void Sort(char strings[10][10])
{int  num; int len;
char * pch;
for(int i = 0;i < 10;++i){
    len = strlen(strings[i]);
    pch = strings[i];
    std::sort(pch,pch+len);
}
}
 
void Input(char strings[10][10])
{
    cout << "strings : \n";
    for(int i = 0;i < 10;++i){
cout << ">   ";
gets(strings[i]);
 
    }
}
1
ridd[73rus]
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 17
27.10.2010, 11:31 #3
дополните пожалуйста код коментами
0
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
27.10.2010, 16:36 #4
дополните пожалуйста код коментами
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
#include <conio.h> // в этом заголовочном файле функция _getch(). Чтобы программа после выполнения
                   // не закрывалась сразу, а остановилась
#include<iostream>
#include<algorithm> // здесь функция sort()
using namespace std;
void Input(char strings[10][10]); // это прототипы функций.Они нужны чтобы программа знала о них т.к.
void Sort(char strings[10][10]);  // выполнение программы начинается с main() , а сами функции
void Output(char strings[10][10]); // расположены после main()
 
int main()
{
        char strings[10][10]; // Инициализируем двумерный массив. Первая [10] это кол-во слов
                              // Вторая [10] это максимальное кол-во букв в каждом слове.
                          // Теперь можно ввести 10 слов до 10 букв каждое.
         Input(strings); // Вызываем наши функции,передавая им в качестве аргумента массив strings
Sort(strings);
Output( strings);
 
        getch();
}
 
void Output(char strings[10][10]) {
        for(int i = 0;i < 10;++i) cout << strings[i] << " ";
}
 
void Sort(char strings[10][10])
{ int len; // в этой переменной будем хранить длину каждого слова(сколько букв)
char * pch; // это указатель.Он будет указывать на отдельно взятое слово нашего массива
for(int i = 0;i < 10;++i){
        len = strlen(strings[i]); // стандартная функция strlen()(strlength - длина строки) возвращает длину
           // переданной ей в качестве аргумента строки
        // при первом прохождении цикла она возвращает длину первого слова массива(strings[0]) и далее
        // strings[1] (второе слово) - strings[9](последнее слово) т.к i увеличивается от 0 до 9
        pch = strings[i]; // указатель содержит в себе слово, на которое указывает
        std::sort(pch,pch+len); // функция sort() сортирует каждый символ слова по возрастанию.В качестве аргументов
} // здесь диапазон ,который надо сортировать - pch(первый символ): pch+len(последний символ слова)
} // каждый символ имеет свой цифровой код.Код символа '1' меньше чем код символа '9', таким образом
// они сортируются по возрастанию
 
void Input(char strings[10][10])
{
        cout << "strings : \n";
        for(int i = 0;i < 10;++i){ // этот цикл выполняется 10 раз.При каждом прохождении функция gets()из стандартной
cout << ">   "; // библиотеки принимает введенное с клавиатуры слово и вводит его в strings под соответствующим
               // индексом(strings[0] - strings[9]) - 10 слов
gets(strings[i]); // gets = get string(получи строку).Параметр strings[i] это массив ,в который надо поместить
        }  // символы, введеннык с клавиатуры
        }
1
Jezus
Сообщений: n/a
06.12.2010, 20:52 #5
числа задаются массивом?
в ф-ции
void Input(char strings[10][10])

в строке
cout << "> ";

выдает ошибку...как то возможно исправить? и что необходимо для того, чтобы вводить можно было лишь числа.?
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
06.12.2010, 22:36 #6
выдает ошибку...как то возможно исправить?
Возможно твой компиллятор требует включения
C++
1
#include<cstring>
если не поможет выкладывай сообщение об ошибке
что необходимо для того, чтобы вводить можно было лишь числа.?
Я тут подправил ф-цию Input() и теперь если в слове хоть один символ не является цифрой, то
это слово просто не вводится в массив. Проверяется это с помощью ф-ции isdigit() из файла cctype

А вообще я последний месяц С++ не занимаюсь, нужно другие вещи учить пока

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
#include <conio.h>
#include<algorithm>
#include<cctype>
#include <iostream>
using namespace std;
void Input(char strings[10][10]);
void Sort(char strings[10][10]);
void Output(char strings[10][10]);
 
int main()
{
        char strings[10][10]; 
         Input(strings);
Sort(strings);
Output( strings);
 
        _getch();
}
 
void Output(char strings[10][10]) {
        for(int i = 0;i < 10;++i) cout << strings[i] << " ";
}
 
void Sort(char strings[10][10])
{int  num; int len;
char * pch;
for(int i = 0;i < 10;++i){
        len = strlen(strings[i]);
        pch = strings[i];
        std::sort(pch,pch+len);
}
}
 
void Input(char strings[10][10])
{
        cout << "strings : \n";
        for(int i = 0;i < 10;++i){
cout << ">   ";
gets(strings[i]);
for(int j = 0; j < strlen(strings[i]);++j){
    if(!isdigit(strings[i][j])) {i--; break;}
}
                }
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 22:36
Привет! Вот еще темы с ответами:

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов - C++
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов строк (использовать...

Распечатать данные - C++
Ребята, помогите, плиз)) Сведения про услуги почты. Номер по порядку, вид перевода, размер оплаты за передачу наземным транспортом,...

Распечатать матрицу - C++
Задание на удивление простое: считать и вывести матрицу размером m x n !! Помогите, потому что я в это реальный чайник!! Завдання...

Распечатать матрицу - C++
Дана матрица целых чисел 3 на 4. Распечатать ее в виде матрицы Входные данные: матрица целых чисел 3 на 4 Выходные данные:...


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

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

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