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

Вывод массива строкой - C++

Восстановить пароль Регистрация
 
Nefilim14
0 / 0 / 0
Регистрация: 17.04.2014
Сообщений: 23
16.06.2014, 00:02     Вывод массива строкой #1
Всем привет. Столкнулся с такой проблемой. у меня есть готовый код сортировки в оба направления. как сделать так чтобы массивы которые выводятся, вывести как строки через return?

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
#include <iostream>
using namespace std;
int main ()
{
    int a[10],i,j,tmp;
    setlocale(LC_ALL,"Russian");
           // ввод размерности массива
    for (int i=0;i<10;i++)    // ввод самого массива
         cin >> a[i];
 
    for (i=0; i < 10; i++)    // Сортировка обменом
         for (j=i+1; j<10; j++)
                if (a[i] < a[j])  // если галку направить в другую сторону,
                  {                //  сортировка будет по возрастанию
                     tmp=a[i];
                     a[i]=a[j];
                     a[j]=tmp;
                   }           
 
     // Вывод отсортированного массива
     cout << " Сортировка по убыванию " << endl;
     for (i=0; i<10; i++) cout << a[i] << " ";
     cout<< endl;
     cout<< endl;
 
     for (i=0; i < 10; i++)    // Сортировка обменом
         for (j=i+1; j<10; j++)
                if (a[i] > a[j])  // если галку направить в другую сторону,
                  {                //  сортировка будет по убыванию
                     tmp=a[i];
                     a[i]=a[j];
                     a[j]=tmp;
                   }           
 
     // Вывод отсортированного массива
      cout<< " Сортировка по возрастанию "<< endl;
     for (i=0; i<10; i++) cout << a[i] << " ";
     cout<< endl;
 
     return 0;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.06.2014, 00:19     Вывод массива строкой #2
Цитата Сообщение от Nefilim14 Посмотреть сообщение
вывести как строки через return?
Откуда return?
Nefilim14
0 / 0 / 0
Регистрация: 17.04.2014
Сообщений: 23
16.06.2014, 00:48  [ТС]     Вывод массива строкой #3
ну мне по заданию надо что бы получившиеся сортировки выводились через return, т.е надо изменить код,а я незнаю как сюда привязать строки для вывода.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.06.2014, 01:01     Вывод массива строкой #4
В функции для сортировки передавайте массив, тогда, для вывода отсортированного, ничего возвращать не нужно будет.
Renji
1535 / 983 / 240
Регистрация: 05.06.2014
Сообщений: 2,963
16.06.2014, 02:17     Вывод массива строкой #5
ну мне по заданию надо что бы получившиеся сортировки выводились через return, т.е надо изменить код,а я незнаю как сюда привязать строки для вывода.
Запихайте результат в переменную типа std::string, ее в return и возвращайте.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.06.2014, 03:16     Вывод массива строкой #6
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
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
#include <vector>
#include <list>
 
template <class InputIterator>
std::string string_it(InputIterator head, InputIterator tail, const std::string& separator = " ") {
    std::ostringstream ost;
    for ( ; head != tail; ++head )
        ost << *head << separator;
    return ost.str();
}
 
int main() {
    int arr[5] = { 11, 12, 13, 14, 15 };
    std::cout << string_it(arr, arr + 5) << std::endl;
    
    std::vector<int> vec;
    for ( int i = 21; i < 26; ++i )
        vec.push_back(i);
    std::cout << string_it(vec.begin(), vec.end()) << std::endl;
    
    std::list<double> list;
    list.push_back(3.1);
    list.push_back(3.2);
    list.push_back(3.3);
    list.push_back(3.4);
    list.push_back(3.5);
    std::cout << string_it(list.begin(), list.end()) << std::endl;
    
    return 0;
}

Не по теме:

А делать мне нечего

Yandex
Объявления
16.06.2014, 03:16     Вывод массива строкой
Ответ Создать тему
Опции темы

Текущее время: 23:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru