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

Зеркальное отображение массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.67
al072
14 / 14 / 0
Регистрация: 03.02.2010
Сообщений: 132
14.03.2010, 10:18     Зеркальное отображение массива #1
Всем привет!не могу сообразить как переписать старый массив в новый, отобразить значения массива в обратном порядке у меня получилось,а вот сохранить порядок значений в новом массиве не могу придумать как это сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    int mass[]={1,2,3,4,5,6,7,8,9,10};
    for(int i=0;i<10;i++)
    {
        cout<<setw(6)<<mass[i];
    }
    cout<<endl;
    for(int i=9;i>-1;i--)
    {
        cout<<setw(6)<<mass[i];
 
    }
    cout<<endl;
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
14.03.2010, 10: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
void revers(int * a, int size) // зеркальный переворот массива
{
    for(int i = 0, t = 0; i < size/2; ++i)
    {   
        t = a[i];
        a[i] = a[size - i - 1];
        a[size - i - 1] = t;
    }
}
 
int main()
{
    int a[5] = { 1, 2, 3, 4, 5 };
    for(int i = 0; i < 5; ++i)
        cout << a[i] << ' ';
    cout << endl;
    
    revers(a, 5);
    
    for(int i = 0; i < 5; ++i)
        cout << a[i] << ' ';
    cout << endl;
}
al072
14 / 14 / 0
Регистрация: 03.02.2010
Сообщений: 132
14.03.2010, 11:10  [ТС]     Зеркальное отображение массива #3
Спасибо! все работает.., пробовал написать подобную функцию, но в функции вместо например void change(int* a,int size), писал void change(int* a[],int size). если не сложно обьяснить, то почему во втором случае пример работать не будет? И чем отличаеться операция ++i от i++ ?
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
14.03.2010, 11:26     Зеркальное отображение массива #4
В первом случае ты передаешь указатель, указатель это адрес, по которому располагается переменная, во втором случае написано просто что-то страшное ))..
Цитата Сообщение от al072 Посмотреть сообщение
И чем отличаеться операция ++i от i++ ?
++i префиксная операция, увеличение на еденицу происходит перед непосредственным выполнением этой строки.
i++ постфиксная, увеличение производится после выполнения.
для данного случая разницы никакой, но попробуй вот этот код, поймешь разницу
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    int i = 0, j = 5;
    while(j--)
        cout << ++i << ' ';
    cout << endl;
    
    i = 0, j = 5;
    while(j--)  
        cout << i++ << ' ';
    cout << endl;
}
al072
14 / 14 / 0
Регистрация: 03.02.2010
Сообщений: 132
14.03.2010, 11:38  [ТС]     Зеркальное отображение массива #5
Все предельно ясно..
Yandex
Объявления
14.03.2010, 11:38     Зеркальное отображение массива
Ответ Создать тему
Опции темы

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