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

Изменение значения указателя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсивная функция, выводящая на экран все целые числа от N до K, N<K http://www.cyberforum.ru/cpp-beginners/thread1201108.html
рекурсивная функция, выводящая на экран все целые числа от N до K, N<K
C++ Написать рекурсивную функцию, выводящую на экран все целые числа в определенном интервале рекурсивная функция, выводящая на экран все целые числа от N до K, N<K http://www.cyberforum.ru/cpp-beginners/thread1201100.html
C++ Можно ли обратиться к 3 элементу массива ?
Если у нас есть int *x, y = { 1,2,3,4,5 }, можно ли обратиться к 3 элементу массива вот так? x=y; *(x+2) Думаю, что нет, так как не взят адрес x=&y А что вобще произойдет при таком условии? x=y
C++ Перед указанным элементом массива вставить новый элемент
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элемен- том массива с порядковым номером K вставить новый элемент с нулевым значением.
C++ Переписать программу с использованием функции http://www.cyberforum.ru/cpp-beginners/thread1201035.html
#include <stdio.h> #include <conio.h> #include<iostream> using namespace std; int main() { int a; int i,j,n,k,per,pos;
C++ Мониторинг конфигурации ПК Доброго времени суток! Подскажите, как можно реализовать следующее: мониторинг конфигурации ПК (т.е. не отслеживания состояния компонентов, а отслеживание их наличия). Программа нужна для защиты предприятия от замены железа на более старое. На предприятии ПК стоят в "свободном" доступе и нет возможности постоянно следить за ними. В основе лежит база данных на фоксе. А подпрограмма будет... подробнее

Показать сообщение отдельно
EvilGrif
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 2
06.06.2014, 14:37     Изменение значения указателя
Здравствуйте
В коде приведена функция, которая при помощи указателей считывает размер массива и его элементы из файла блокнота. Почему значение, хранящееся в массиве после выполнения цикла самопроизвольно меняется?

функция мэйн

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
#include <iostream>
#include <stdlib.h>
#include <windows.h>
 
using namespace std;
 
void notePadIn (int* nArray, int* nLength);
void arrayIn (int nArray[], int nLength);
void algorithm (int nArray[], int nLength);
 
 
main ()
{
    int nArrayLength = 0;
    int nArrayDate [nArrayLength];
    int* pArrayLength = &nArrayLength;
    int* pArrayDate = &nArrayDate[0];
//  cout << "Vvedite razmer massiva: ";
//  cin >> nArrayLength;
//  arrayIn (nArrayDate, nArrayLength);
    notePadIn (pArrayDate, pArrayLength);
    cout << "MAIN" <<"\n";
    cout << nArrayLength << "\n";
    for (int i = 0; i<nArrayLength; i++)
    {
        cout << nArrayDate [i] <<" ";
    }
 
//  algorithm (nArrayDate, nArrayLength);
проблемная функция

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
void notePadIn (int* pArray, int* pLength)
{
    freopen ("input.txt","r",stdin);
//  freopen ("output.txt","w",stdout);
    cin >> *pLength;
    
    COORD position;                                     //позаимствовал код. ставим курсор на вторую строку
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    position.X = 1;
    position.Y = 2;
    SetConsoleCursorPosition(hConsole, position);
    
    cout <<"Do cikla" <<"\n";
    cout <<"Adres razmera massiva: "<< pLength <<"\n"; 
    cout <<"Razmer massiva: "<< *pLength <<"\n";       //здесь значение равно 10, как надо
    cout <<"\n";
 
    for (int i = 0; i<*pLength; i++, pArray++)
    {
        cin >> *pArray;
        cout << "i: "<< i << "\n";
        cout <<"element: " <<*pArray <<"\n";
    }
    cout <<"\n";
    cout <<"Posle cikla" <<"\n";
    cout <<"Adres razmera massiva: "<< pLength <<"\n";
    cout <<"Razmer massiva: "<< *pLength <<"\n";    //здесь значение уже 6
    cout <<"\n";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru