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

Работа с указателями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать структуру с именем MARSH http://www.cyberforum.ru/cpp-beginners/thread613494.html
Прошу помощи в задании. Разработать структуру с именем MARSH, содержащую поля: • Название начального пункта маршрута; • Название конечного пункта маршрута; • Номер маршрута. Написать программу, выполняющую следующие действия: • Ввод с консоли данных в массив структур MARSH; • Вывод на консоль информации о маршрутах, которые начинаются или оканчиваются в пункте, название которого введено...
C++ Рекурсия - работает, нет результата Всем привет. У меня есть программа которая предназначена для Задан массив целых. Построить из них любую последовательность таким образом, чтобы последняя цифра предыдущего числа совпадала с первой цифрой следующего. Программа работает, но при определенных входных данных, она отказывается возвращать результат. Я потратил пол дня, пытаясь найти причину, прошу у вас помощи. КОД: #include... http://www.cyberforum.ru/cpp-beginners/thread613464.html
C++ Вывод переменной типа char
Переменная x типа char. x = 65; cout << x; Так выводиться "A". x = 64; cout << x+1;
Как определить существует ли файл? C++
Я использую if(FileExists(LoginReg)) { ofstream ofs(LoginReg); //ñîçäàòü ofs << account; ofs << PasswordReg << endl; ofs.close(); } ...
C++ Как подсчитать CRC! http://www.cyberforum.ru/cpp-beginners/thread613391.html
Уважаемые Форумчане! Как подсчитать CRC. Есть файл чтения EEProm. - :10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 :10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 :10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 :10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 :10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 :10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 :10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0...
C++ Создать динамический массив и вывести его на экран Напишите программу, в которой создается одномерный символьный динамический массив. Инициализируйте массив. Результат выведите на экран. подробнее

Показать сообщение отдельно
струна
4 / 4 / 1
Регистрация: 10.03.2011
Сообщений: 92
25.06.2012, 15:32  [ТС]     Работа с указателями
Цитата Сообщение от ForEveR Посмотреть сообщение
Подозреваю, что корректной возможности нету. Для чего это вам?
да не поверите, мой работодатель развлекается, это у него типа семинары такие, проверяет профпригодность, хотя не понимаю взаимосвязи между аналитикой и программированием (
Сейчас выложу полный текст задания, если честно сама не совсем понимаю что от меня хотят :

Семинар № 5 (для инженеров - аналитиков КрасДО)
Определите, используется ли указатель для доступа к отдельной переменной или к массиву. Напишите вызов функции с соответствующими фактическими параметрами адресамипеременных или именами массивов.
Пример оформления тестового задания:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//------------------------------------------------------26-11.cpp
 
//-------------------------------------------------------
 
void F(int *p, int *q, int n){
 
for (*q = 0; n > 0; n--)
 
     * q = *q + *p++; }
 
void main(){
 
     int x,A[5]={1,3,7,1,2};
 
F(A,&x,5); printf("x=%d\n",x); }                          // Выведет 13

Формальный параметр p используется в контексте *p++ , что означает работу с последовательностью переменных, то есть с массивом. Число повторений цикла определяется параметром n , соответствующим размерности массива. Указатель q используется для косвенного обращения через него к отдельной переменной. Поэтому при вызове функции фактическими параметрами являются : имя массива указатель на начало, адрес переменной указатель на нее и константа размерность массива, передаваемая по значению.

C++
1
2
3
4
5
6
7
//------------------------------------------------------- 2
 
void F2(int *p, int *q, int n){
 
for (*q = *p; n > 0; n--, p++)
 
     if (*p > *q) *q = *p; }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//------------------------------------------------------ 10
 
void F10(char *p)
 
{ char *q; int cm;
 
     for (q=p,cm=0; *p !='\0'; p++) {
 
          if (p[0]=='*' && p[1]=='/') { cm--, p++; continue; }
 
          if (p[0]=='/' && p[1]=='*') { cm++, p++; continue; }
 
     if (cm==0) *q++ = *p;
 
     }
 
*q=0; }
 
Текущее время: 06:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru