Форум программистов, компьютерный форум 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++ Создать динамический массив и вывести его на экран Напишите программу, в которой создается одномерный символьный динамический массив. Инициализируйте массив. Результат выведите на экран. подробнее

Показать сообщение отдельно
LittleGirl
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 5
25.06.2012, 23:16     Работа с указателями
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 F2(double *p[])
 
{ int i,k;
 
     do {
 
     k=0;
 
     for (i=1; p[i]!=NULL; i++)
 
          if (*p[i-1] > *p[i])
 
          { double *dd;
 
          dd=p[i]; p[i]=p[i-1]; p[i-1]=dd; k++;
 
          }
 
     } while (k);}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double a1=1, a2=9, a3=7, a4=3;
    double *p[]={&a1, &a2, &a3, &a4,NULL};
    F2(p);
    for(int i=0;i<sizeof(p)/sizeof(p[0])-1;i++) printf("%f  ",*p[i] ); // выведет 1 3 7 9
    return 0;
}
Функция F2 выполняет сортировку по возрастанию значений, на которые указывают элементы массива указателей p. В цикле for последовательно между собой сравниваются числа, на которые указывает p[i-1] и p[i]. Если число, на которое указывает p[i-1] больше,чем число, на которое указывает p[i], то мы меняем числа местами (то есть по адресу p[i-1] будет лежать теперь меньшее число), и увеличиваем значение k. Цикл while будет выполняться до тех пор, пока k не останется равным нулю после очередного прохода по массиву. Это будет означать что числа, на которые указывают элементы массива p, отсортированы.
 
Текущее время: 13:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru