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

Определить формат последовательности параметров функции и написать к ней вызов с фактическими параметрами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Error C2017: недопустимая escape-последовательность http://www.cyberforum.ru/cpp-beginners/thread148399.html
#include "stdafx.h" #include "conio.h" int _tmain(int argc, _TCHAR* argv) { int fahr; for(fahr=0;fahr<=300;fahr=fahr+20) printf("%4d %6.1f\n",fahr,(5.0\9.0)*(fahr-32.0)); - ошибки в этой строке _getch();
C++ Диалоговое окно, переполнение стека У меня создается диалоговое окно (через ресурсы и DialogBox). Я к нему леплю ф-ию обработки сообщений. Все норм. Но стоит дописать в конце свитча на мессаги "default: return DefDlgProc(...);" как прога начинает вылетать в run-time практически сразу после запуска (какие-то доли секунды, даже диалог не успевает показаться) Ошибка такакя:Необработанное исключение в "0x00414617" в "Viewer.exe":... http://www.cyberforum.ru/cpp-beginners/thread148392.html
Программа чтения HTML-доумента C++
Вот таким бло исходное задание: Термином является слово, выделенное «жирным» шрифтом (тег <b></b>). Программа находит термины в группе html-файлов, находящихся в заданном каталоге, и составляет таблицу ссылок на них, либо на абзацы, в которых они находятся. Прога вроде должна работать, но не работает( Если указываю путь с самого начала, где нет файла нужного расширения, то пишет, что файл не...
Цикл с++ C++
Вводится последовательность целых чисел, 0 – конец последователь- ности. Содержит последовательность хотя бы два числа, кратных 3,5 и 7? как это осуществить? желательно сначала натолкнуть на мысль
C++ нуна добить тупую прогу http://www.cyberforum.ru/cpp-beginners/thread148362.html
Дан бесконечный ряд заданный " e^(-1)= 1 - x + (x^2/2!)-(x^3/3!)+(x^4/4!)-..." |x|<1. Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной точностью e=0,001. Значение переменной x вводить с клавиатуры. Предусмотреть проверку (при необходимости) значения переменной x, в соответствии со своим вариантом задания. Программа должна быть выполнена с...
C++ Работа с символьным массивом Помогите пожалуйста.. Определить символьный массив размером строки.С клавиатуры ввести предложение(не менее 5 слов,которые разделены пробелами).Удалить из предложения слова,которые содержать две буквы "а". подробнее

Показать сообщение отдельно
DenSyntax
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 3
22.06.2010, 16:02     Определить формат последовательности параметров функции и написать к ней вызов с фактическими параметрами
Пример оформления тестового задания.

Определите формат последовательности параметров функции и напишите ее вызов с фактическими параметрами – константами.

C++
1
2
3
4
5
6
7
8
//----------------------------------------------------92-08.cpp
double F(int a1,...)                                  // Первый параметр - счетчик цикла
{ int i,n;
double s,*q=(double*)(&a1+1);                 // Указатель на второй и последующие
for (s=0, n=a1; n!=0; n--)             // параметры - типа double*
s += *q++;                                // Сумма параметров, начиная
return s;}                                               // со второго
void main() { printf("%lf\n",F(3,1.5,2.5,3.5)); }
Указатель q типа double* ссылается на второй параметр функции (первый из переменного списка) - &a1+1 – указатель на область памяти, «следующую за…». Первый параметр используется в качестве счетчика повторений цикла, цикл суммирует значения, последовательно извлекаемые из-под указателя q. Результат – функция суммирует вещественные переменные из списка, предваренного целым счетчиком.

Сами функции:
C++
1
2
3
4
5
6
//--------------------------------------------------------6
char *F6(char *p,...)
{ char **q; int i,n;
for (i=0, n=0, q = &p; q[i] !=NULL; i++)
     if (strlen(q[i]) > strlen(q[n])) n=i;
return q[n]; }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//--------------------------------------------------------8
union xx { int *pi; long *pl; double *pd; };
double F8(int p,...)
{ union xx ptr;
double dd=0;
for (ptr.pi = &p; *ptr.pi != 0; )
           {
        switch(*ptr.pi++) {
 case 1: dd+= *ptr.pi++; break;
 case 2: dd+= *ptr.pl++; break;
 case 3: dd+= *ptr.pd++; break;
        }}
return dd;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru