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

Сформировать массив, в котором элементы следуют в обратном порядке - C++

Восстановить пароль Регистрация
 
metalist1925
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 134
22.09.2012, 13:09     Сформировать массив, в котором элементы следуют в обратном порядке #1
Сгенерировать массив из N чисел.
Сформировать второй массив, в котором элементы следуют в обратном порядке по отношению к элементам исходного массива.
Результаты выдать на экран и записать в текстовый файл.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2012, 13:09     Сформировать массив, в котором элементы следуют в обратном порядке
Посмотрите здесь:

Массив: Вывести отрицательные элементы на экран в обратном порядке. C++
Заменить 0 элементы массива на 1 и вывести массив в обратном порядке C++
C++ переписать элементы массива X[N] в массив Y[N] в обратном порядке
C++ Массив. Положительные элементы массива а, записанные в том же порядке + отрицательные элементы массива b, записанные в обратном порядке
C++ Переписать элементы массива вещественных чисел X в обратном порядке в массив Y.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
22.09.2012, 14:28     Сформировать массив, в котором элементы следуют в обратном порядке #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
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <fstream>
#include <time.h>
#include <Windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    srand(time(0));
    
    cout<<"Введите размер массива: ";
    int N;
    while (!(cin>>N) || N<0)
    {
        cin.clear();
        cin.sync();
        cout<<"Ошибка, попробуйте снова: ";
    }
    int* arr = new int[N];
    for (int i = 0; i<N; i++)
        arr[i] = rand()%50;
 
    cout<<"Наш массив:\n";
    for (int i = 0; i<N; i++)
        cout<<arr[i]<<" ";
    cout<<endl;
 
    int* revers = new int[N];
    for (int i = N-1, j = 0; i>=0; i--, j++)
        revers[i] = arr[j];
 
    fstream file;                    
    file.open("file.txt", ios::out);//создаём и открываем для записи.
    if (!file) //если не удалось.
    {
        cerr << "Не удалось создать файл!\n";
        system("pause");
        return 1;
    }
    cout<<"Массив в обратном порядке:\n";
    for (int i = 0; i<N; i++)
    {
        cout<<revers[i]<<" ";
        file<<revers[i]<<" ";
    }
    cout<<endl;
 
    system("pause");
    return 0;
}
Рыжий Лис
Просто Лис
 Аватар для Рыжий Лис
209 / 164 / 44
Регистрация: 17.05.2012
Сообщений: 611
Записей в блоге: 4
22.09.2012, 14:33     Сформировать массив, в котором элементы следуют в обратном порядке #3
генератор чисел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <stdlib.h>  // для доступа к srand
#include <time.h>
using namespace std;
 
int main(void)
{ int a[100]; //подставишь N
  int i;         // счетчик циклов
  time_t t;     // текущее время
srand((unsigned) time(&t)); // инициализация генератора случайных чисел
for (i = 0; i <100; i++)  
{ a[i] = rand()%10;     // число от 0 до 9
  cout <<a[i] << " " ;
}
  cout <<endl;
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
22.09.2012, 14:44     Сформировать массив, в котором элементы следуют в обратном порядке #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
#include <iostream>
#include <iterator>
#include <fstream>
#include <algorithm>
#include <vector>
#include <time.h>
#include <Windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    srand(time(0));
    cout<<"Введите размер массива: ";
    int N;
    while (!(cin>>N) || N<0)
    {
        cin.clear();
        cin.sync();
        cout<<"Ошибка, попробуйте снова: ";
    }
    vector<int> v;
    generate_n(back_inserter(v), N, [] {return rand()%50;});
    
    cout<<"Наш массив:\n";
    copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
    cout<<endl;
 
    cout<<"Наш массив в обратном порякде:\n";
    copy(v.rbegin(), v.rend(), ostream_iterator<int>(cout, " "));
    cout<<endl;
 
    fstream file;                    
    file.open("file.txt", ios::out);//создаём и открываем для записи.
    if (!file) //если не удалось.
    {
        cerr << "Не удалось создать файл!\n";
        system("pause");
        return 1;
    }
 
    copy(v.rbegin(), v.rend(), ostream_iterator<int>(file, " "));
    cout<<"Готово\n";
 
    system("pause");
    return 0;
}
Yandex
Объявления
22.09.2012, 14:44     Сформировать массив, в котором элементы следуют в обратном порядке
Ответ Создать тему
Опции темы

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