Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 13:31   #1
Eddi_Brown
Пользователь
 
Регистрация: 20.12.2013
Сообщений: 19
По умолчанию Указатели в С++

Нужно написать программу, которая передаст массив I[5] в первую чать массива J[10] в обратной последовательности. Я написал вот так:
Код:
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()
{
    int I[5];
    for (int i=0; i<5; i++)
    I[i]=rand()%10;
    for (int i=0; i<5; i++)
    printf (" %d", I[i]);
    int J[10];
    int *a;
    for (int i=5; i>0; i++)
    a=&I[i];
    for (int i=0; i<5; i++)
    J[i]=*a;
    for (int i=5; i<10; i++)
    J[i]=rand()%10;
    for (int i=0; i<10; i++)
    printf ("%d", J[i]);
}
Но у меня не выводится второй массив. Ткните меня, где ошибка.
Eddi_Brown вне форума Ответить с цитированием
Старый 26.12.2013, 13:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Думаю так:
Код:
    int *a=&J[0];
    for (int i=4; i>0; i--)
    *a++=I[i];
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 14:04   #3
Eddi_Brown
Пользователь
 
Регистрация: 20.12.2013
Сообщений: 19
По умолчанию

Вот что получается со вторым массивом:
Безымянный.png
Eddi_Brown вне форума Ответить с цитированием
Старый 26.12.2013, 14:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так не удивительно )
Ты же всюду наошибал в коде.
Еще раз перечитай в книге про указатели и не спеша с нуля реши задачу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2013, 18:21   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,372
По умолчанию

Индексация массивов с 0, так что надо крутить от 4 до 0 а не до 1
waleri вне форума Ответить с цитированием
Старый 26.12.2013, 18:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно )
Я забыл )))
Это профпривычка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели. Leshii Паскаль, Turbo Pascal, PascalABC.NET 6 03.12.2011 17:37
C++(указатели) yaya60 Помощь студентам 0 10.11.2011 20:54
Указатели vrtp Общие вопросы C/C++ 6 08.11.2011 01:33
Указатели sid Помощь студентам 2 02.01.2010 23:23
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39