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

Проверьте пожалуйста указатели , размерность ответа не влазит что изменить - C++

Восстановить пароль Регистрация
 
Gotmor
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 25
14.11.2012, 12:27     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить #1
Содержание работы:

1. Разработать Си - программу содержащую 6 переменных одного типа
и 2 указателя на любые эти переменные.

2. Вывести на екран:

Размер (количество байтов) выделенных под переменные и указатели
Значения переменных
Значения указателей
Адреса в ОП всех переменных
Адреса в ОП всех указателей
Результат вычитания указателей

3. Над указателями провести операции
Сложение указателей с целым числом
Вычитание из указателя целого числа
Декремента
Инкремента
Операции отношения: ==, <= ,< ,> ,>= ,!=
Результаты операций вывести на экран

4.Создать указатель на указатель и вывести на экран

Адрес в ОП этого указателя
Значение этого указателя


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
#include "stdafx.h"
#include <stdlib.h>
#include <locale.h>
 
void main()
{
setlocale(LC_ALL,"Russian");
unsigned int y=2,x=3,i=1;
unsigned int *xp=&x, *yp=&y;
 
printf("Размер x, *xp, y, *yp *yp:\n%i %i %i %i\n\n", sizeof(x),sizeof(*xp), sizeof(y),sizeof(*yp)); //кол-во байт под переменную и указатель
printf("Значения x, *xp, y, *yp:\n%f %f %f %f\n\n", x, *xp, y, *yp); //значения переменных и указателей
printf("Адреса x, *xp, y, *yp:\n%p %p %p %p\n\n", &x, &xp, &y, &yp); //адреса переменных и указателей
printf("Результат вычитания указателей *xp-*yp:\n%f\n\n", *xp-*yp);
 
printf("Сложение указателей с целым числом (i=1) *xp+i, *yp+i:\n%f %f\n\n", *xp+i, *yp+i);
printf("Вычитание из указателей целого числа (i=1) *xp-i, *yp-i:\n%f %f\n\n", *xp-i, *yp-i);
printf("Декремент x, *xp, y, *yp:\n%f %f %f %f\n\n",--x, -*xp, -y, -*yp);
printf("Инкремент x, *xp, y, *yp:\n%f %f %f %f\n\n",++x, ++*xp, ++y, ++*yp);
 
printf("Отношения *xp==*yp, *xp<=*yp, *xp<*yp, *xp>*yp, *xp>=*yp, *xp!=*yp:\n%i %i %i %i %i %i\n\n",*xp==*yp, *xp<=*yp, *xp<*yp, *xp>*yp, *xp>=*yp, *xp!=*yp);
 
unsigned int *xpp=&*xp;
printf("Указатель *xpp на указатель *xp\nАдрес: %p:\nЗначение: %f\n\n",&xpp, *xpp);
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 12:27     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить
Посмотрите здесь:

C++ Проверьте пожалуйста программу
проверьте пожалуйста! C++
C++ Как изменить размерность матрицы
Изменить программу, чтобы размерность массива определялась динамически C++
Проверьте пожалуйста код (C++) C++
C++ Проверьте программу пожалуйста
Проверьте код пожалуйста C++
C++ проверьте пожалуйста!
C++ Проверьте правильность пожалуйста
C++ Проверьте код пожалуйста
C++ Проверьте пожалуйста, что не так?
C++ Проверьте пожалуйста задачи

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2718 / 1729 / 171
Регистрация: 13.01.2012
Сообщений: 6,478
14.11.2012, 13:06     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить #2
1 у вас не 6 переменных, а всего три.
2 размер указателя - это sizeof(xp). sizeof(*xp) - это размер переменной на которую он указывает.
3 значение указателя - это xp. *xp - это значение переменной на которую он указывает. не забудьте %p.
4 результат вычитания указателей это xp - yp. *xp - *yp - это результат вычитания значений переменных на которые указывают указатели.
5 операции сложения, вычитания, инкремента, декремента и отношений необходимо производить над указателями (xp), а не над значениями на которые они указывают (*xp). кроме того для инкремента и декремента у вас почему-то возникли x и y.
6 в качестве форматов часто указывается %f - откуда у нас берутся числа с плавающей точкой если в программе только int и указатели?
7 указатель на указатель определяется как
C++
1
int **xpp = &xp;
Gotmor
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 25
14.11.2012, 13:33  [ТС]     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить #3
Более менее понятно ) ! Покажите пожалуйста пример как вы считаете правильно ... За ранее спасибо
vxg
Модератор
 Аватар для vxg
2718 / 1729 / 171
Регистрация: 13.01.2012
Сообщений: 6,478
14.11.2012, 13:55     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить #4
как правильно я написал в самом начале каждого пункта. каждую буковку в вашей программе править извините не смогу
Yandex
Объявления
14.11.2012, 13:55     Проверьте пожалуйста указатели , размерность ответа не влазит что изменить
Ответ Создать тему
Опции темы

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