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

массив через указатели - C++

Восстановить пароль Регистрация
 
Iater
5 / 5 / 0
Регистрация: 13.12.2009
Сообщений: 182
07.03.2010, 16:15     массив через указатели #1
в общем проблемы начинаются с самого начала...

нужен массив с Конкретными числами: -6.3, 0.8, 12, -4, 13, 2.5, 7, 8, -9, 10

в лучшем случае их должен набрать юзер сам... в худшем можно и в коде просто их прописать...
на этом этапе у меня уже ничего не получается - выводит не эти цифры, а какие сердечки, пики и т.д.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int _tmain(int argc, _TCHAR* argv[])
{
 
char *p;
char arr[10]={-6.3, 0.8, 12, -4, 13, 2.5, 7, 8, -9, 10}; 
int k=1;
for (char *p=arr; p<arr+10; ++p)
{
*p=k++;
cout <<*p<<endl;
}
_getch();
    return 0;
}
на C++, Visual Studio 2008
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
smithy69
17 / 16 / 1
Регистрация: 06.11.2009
Сообщений: 167
07.03.2010, 16:29     массив через указатели #2
у тебя программа интерпретирует выводимые тобой цифры, как ASCII код соответсвующих символов(сердечки, пики). попробуй конвертировать в число и вывести.

и вообще как то ты странно с указателями работаешь
*p - разименование, то есть ты получаешь значение хранящиеся по адрессу записанному в p.
если ты хочешь сместиться в памяти, то тебе надо p++.
Iater
5 / 5 / 0
Регистрация: 13.12.2009
Сообщений: 182
07.03.2010, 17:22  [ТС]     массив через указатели #3
Цитата Сообщение от smithy69 Посмотреть сообщение
у тебя программа интерпретирует выводимые тобой цифры, как ASCII код соответсвующих символов(сердечки, пики). попробуй конвертировать в число и вывести.

и вообще как то ты странно с указателями работаешь
*p - разименование, то есть ты получаешь значение хранящиеся по адрессу записанному в p.
если ты хочешь сместиться в памяти, то тебе надо p++.
и как же конвертировать?

как в общем это все реализовать?
al072
14 / 14 / 0
Регистрация: 03.02.2010
Сообщений: 132
07.03.2010, 17:24     массив через указатели #4
Вот тебе рабочая программа со списком значений массива введенным заранее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
using namespace std;
 
int main(void)
{
    double mass[]={-6.3, 0.8, 12, -4, 13, 2.5, 7, 8, -9, 10};
    int len= ((sizeof mass)/(sizeof mass[0]));
    double* pmass=0;
    pmass=mass;
    
    for(int i=0;i<len;i++)
    {
        cout<<setw(6)<<*(pmass+i);
    }
    cout<<endl<<endl;
    return 0;
}
если необходимо чтобы пользователь сперва сам ввел значения массива и затем они отобразились в указатели, то используй бесконечный цикл для ввода значений в массив. и создай переменную для выхода из цикла в проверочном условии. если не разберешься пиши помогу
Yandex
Объявления
07.03.2010, 17:24     массив через указатели
Ответ Создать тему
Опции темы

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