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

Объясните что не так с указателем в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как ввести в предикат условие с клавиатуры? Подробнее внутри http://www.cyberforum.ru/cpp-beginners/thread755112.html
Судари,есть вот такой кусок кода bool killer(Task a) { return a.pageNum>0;//Вот тут } int main() { ...
C++ Удалить строки двумерного массива должна удалять строку двумерного массива в которой нет четных элементов. у меня есть прога но она выдает ошибку, ошибка во время исполнения программы. помогите пожалуйста #include <cmath> #include <iostream> using namespace std; int**creat(int &n, int &m) { http://www.cyberforum.ru/cpp-beginners/thread755099.html
C++ Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: "текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый" в моём случае текстовый файл 1.txt переводиться в двоичный файл data.bin, а потом data.bin переводиться в text.txt.. только проблема в том, что текстовый файл и двоичный файл выглядят одинаково, если их открыть в блокноте:( что может быть не так? Заранее...
Сортировка слиянием C++
Здравствуйте, изучая сортировку, в интернете наткнулся на код сортировки слиянием. int a; void merge(int,int,int); void merge_sort(int low,int high) { int mid; if(low<high) { mid=(low+high)/2; merge_sort(low,mid);
C++ Вставляет заданное число у отсортированы массив определённое количество раз http://www.cyberforum.ru/cpp-beginners/thread755025.html
Ну есть набросок только оно там заполняет свободные ячейки массива бредом помогите долблюсь с заданием уже 3 часа И пожалуйста только не нужно сылки на статьи =) #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian");
C++ дано натуральное число n. вычислить s=sum от(к=1) до N (-1)^k+1/k*(k+1) помогите решить пожалуйста подробнее

Показать сообщение отдельно
Stanis
52 / 41 / 8
Регистрация: 16.12.2012
Сообщений: 144
07.01.2013, 20:11     Объясните что не так с указателем в программе
Функция defStart возвращает указатель на int . В main другой указатель присваивает значение(адрес) возвращенного указателя. Затем в цикле вывожу значения используя нотацию массива
C++
1
 cout<<result[i]<<" ";
И Вместо
1 0 0 0 в консоль выводит 1 9083459837 9083409587340 0983459839487 . Зато если я вывожу вот так
C++
1
cout<<*result<<" ";
, то получаю ожидаемый результат 1 0 0 0 . Объясните почему так ? Ведь я не
инкрементирую указатель при выводе вторым способом и почему при нотации массива получается какая то билиберда .

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>
using namespace std;
 
int * defStart(int x,int y)
   {
       int vector[4]={0,0,0,0};
       if(x==0)
       {vector[3]=1;}//направление вниз
       else if(x==11)
       {vector[2]=1;}//направление вверх
       if(y==0)
       {vector[0]=1;}//направление вправо
       else if(y==11)
       {vector[1]=1;}//направление влево
 
       return vector;
   }
 
int main()
{
    int *result=defStart(2,0);
    for(int i=0;i<=3;i++)
       {
           cout<<*result<<" ";
       }
    cout<<endl;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru