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

Переделать индексное обращение к массиву в указательное - C++

Восстановить пароль Регистрация
 
dencil
10 / 10 / 12
Регистрация: 23.09.2013
Сообщений: 145
13.05.2014, 19:35     Переделать индексное обращение к массиву в указательное #1
В общем есть задача:

Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел (состоящего из 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
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{int A[6];
for(int i=0;i<6;i++)
{   
    cout<<"A["<<i+1<<"] = ";
    cin>>*(A+i);
}
    cout<<"\n";
for (int i=0;i<6;i++)
{
    cout<<"A["<<i+1<<"] = "<<*(A+i)<<"\n";
}
int min=*(A+0);
for(int i=0;i<6;i++)
{   
    if (min>*(A+i))
    {   
        min=*(A+i); 
    }
}
cout<<"min = "<<min<<"\n";
    return 0;
}
Не могли бы вы сделать обращение к элементам массива просто через указатель?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 19:35     Переделать индексное обращение к массиву в указательное
Посмотрите здесь:

C++ обращение к динамич массиву
Адресное обращение к массиву структур C++
Движение по массиву C++
C++ Поиск по массиву
C++ Вопрос по массиву.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
13.05.2014, 19:42     Переделать индексное обращение к массиву в указательное #2
Сделай указатель на начало массива int *p = A; Затем в цикле просто увеличивай его p++; и обращайся *p.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
13.05.2014, 19:44     Переделать индексное обращение к массиву в указательное #3
Примерно так
C++
1
2
3
4
5
6
7
int *pa=A;
int min=*pa;
for(;pa<A+6;pa++)
{   
    if (min>*pa)
        min=*pa; 
}
dencil
10 / 10 / 12
Регистрация: 23.09.2013
Сообщений: 145
13.05.2014, 19:55  [ТС]     Переделать индексное обращение к массиву в указательное #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
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{int A[6];
    int *p = A;
for(int p=0;p<6;p++)
{   
    cout<<"A["<<p+1<<"] = ";
    cin>>A[p];
}
    cout<<"\n";
for (int p=0;p<6;p++)
{
    cout<<"A["<<p+1<<"] = "<<A[p]<<"\n";
}
int min=A[*p];
for(int p=0;p<6;p++)
{   
    if (min>A[p])
    {   
        min=A[p];   
    }
}
cout<<"min = "<<min<<"\n";
    return 0;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
13.05.2014, 22:11     Переделать индексное обращение к массиву в указательное #5
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
#include <iostream>
using namespace std;
int main()
{
    int A[6];
    int *p = A;
    for(int i=0;i<6;p++,i++)
    {   
        cout<<"A["<<i<<"] = ";
        cin>>*p;
    }
    cout<<"\n";
    for (p=A;p<A+6;p++)
    {
          cout<<*p<<"\n";
    }
    pa=A;
    int min=*pa;
    for(;pa<A+6;pa++)
    {   
        if (min>*pa)
            min=*pa; 
    }
    cout<<"min = "<<min<<"\n";
    return 0;
}
Yandex
Объявления
13.05.2014, 22:11     Переделать индексное обращение к массиву в указательное
Ответ Создать тему
Опции темы

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