Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45

Разъясните как чайничку :)

14.12.2009, 22:36. Показов 996. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, кому не трудно, объясните недолекому человеку, как и с чем едят "механизм передачи неопределенного числа параметров". Вот хоть убей, не доходит как это реализовать(именно как правильно синтаксис писать) в данной задачи:

Реализовать функцию, формирующую из слов переданных в качестве параметров
предложение, упорядочив слова по убыванию их длины. Функция возвращает строку,
содержащую полученное значение.При реализации функции использовать механизм передачи неопределенного числа параметров. В главной функции main реализовать демонстрацию работы разработанной функции с различным числом параметров.

Я в растерянности, подскажите, пожалуйста, на примере, без разницы каком, а то в книгах как-то коротко и без примеров

Спасибо заранее
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2009, 22:36
Ответы с готовыми решениями:

Разъясните, пожалуйста, как работает this
Здравствуйте! Есть небольшой примерчик программы которая подсчитывает количество определенных символов private void...

Разъясните подробно, как работают Try-catch
Добрый вечер, форумчане! Такая просьба - разъясните нубасу(то бишь мне) подробно как работает try catch throw или киньте ссылки, где это...

разъясните,пожалуйста, как это сделать?
Дано целое число N (> 0). Найти значение выражения 1.1 – 1.2 + 1.3 – … (N слагаемых, знаки чередуются). Условный оператор не...

4
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
14.12.2009, 22:41
вот:

void zzz(...) {}

можешь передавать туда шо хошь.

например так:

zzz(20);

или так:

zzz(100, -376.12);

или даже так:

zzz("Ой, мама...", std:: pair<int, int>(), std::cout, &zzz, new std::string());
1
 Аватар для Aye Aye
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
20.12.2009, 00:39
вот те мальенький пример по реализации функции неопределенного оличества аргументов, если не справишься будем думать
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<iostream>
#include<conio.h>
#include<cstdarg>//çàãîëîâî÷íûé ôàéë ñ ôóíêöèÿìè äîñòóïà ê ñïèñêó íå ôîðìàëüíûõ àðãóìåíòîâ.
using namespace std;
 
void printint(int i ...) // ïîñëå ôîðàëüíîãî àðóìåíòà int i ñëåäóþò íå ôîðìàëüíûå int.
{
     va_list L; //èíèöèàëèçàöèÿ ñïèñêà íåôîðìàëüíûõ àðãóìåíòîâ.
     va_start(L,i); //  --//--, ïîñëå êàêîãî àðãóìåíòà çàïîëíÿòü ñïèñîê, ïîñëå ïîñëåäíåãî ôîðìàëüíîãî i.
     cout << "entered numbers: ";
     for (;;)
     {
         int *ptr=va_arg(L,int*); // çäåñü ïîî÷åðåäè èìååì äîñòïóï ê íåô.àðãóìåíòàì. va_arg(_,int*<-ýòî è åñòü èõ òèï)
         if (ptr==0)break; // êîíåö ââîäà íåôîðìàëüíûõ àðãóìåíòîâ.
         //îáðàáîòêà î÷åðåäíîãî âõîäíîãî çíà÷åíèÿ
         cout << " " << ptr << " ";
         //óêàçàòåëü íà òåêóùèé àðãóìíò ptr âûõîäèò èç ñâîåé îáëàñòè âèäèìîñòè è èñ÷åçàåò.
     }
     va_end(L);     // çàâåðøåíèå, <- òàêèå êîìàíäû âñ¸ ÌÀÊÐÎÑÛ.
     
     cout << endl;
}
 
void printIS(int i,double x ...)
{
     va_list L;
     va_start(L,x);//ïîñëå êàêîãî àðãóìåíòà çàïîëíÿòü ñïèñîê, ïîñëå ïîñëåäíåãî ôîðìàëüíîãî x.
     cout << "i= " << i << " x= " << x << " else: ";
     for(int n=1;;n++)
     {
            char *p=va_arg(L,char*);// ìàêðîñ äëÿ ïîñëåäîâàòåëüíîãî èçâëå÷åíèÿ íåèìåíîâàííûõ àðãóìåíòîâ.
            if (p==0)break; // âûõîä èç öèêëà äîñòóïà, åñëè.
            cout << " " << n << "-string is " << p;
     }
     cout << '\n';
     va_end(L); // va_end óñòðàíÿåò íåæåëàòåëüíûå ìîäèôèêàöèè ñòåêà ìàêðîñîì va_start.
}
 
int main()
{
     printint(1,5,2,7,2,0);// íîëü èñïîëüçóåòñÿ â êà÷åñòâå "òåðìèíàëüíîãî" àðãóìåíòà.
     printIS(394,523.4234,"Unix","Intel","IBM","MAC",0);
     getch();
}
вместо того что бы использовать ноль - как терминальный аргумент, прото передавай первым аргументом число слов, и считывай столько же строк из спиака нефомальных аргументов.
реализуй функцию сортировки, для выходной строки.
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
20.12.2009, 03:30
Цитата Сообщение от pelele
Реализовать функцию, формирующую из слов переданных в качестве параметров
предложение, упорядочив слова по убыванию их длины. Функция возвращает строку,
содержащую полученное значение.
почти то же самое
Передача неопределённого числа параметров в функцию
1
7 / 2 / 1
Регистрация: 08.10.2009
Сообщений: 45
27.12.2009, 21:50  [ТС]
Ребят, спасибо большое)) А пример задачи с разъяснениями вообще шик!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.12.2009, 21:50
Помогаю со студенческими работами здесь

Разъясните что и как в системе типов CLI
Всем привет имеется следующий код: using System; // Противоречие между системой типов CLI и системой типов C#. //...

Разъясните гуру как такое может быть!
Купил Навигатор с регистратором. На андроиде. Но андроид какой-то порезаный.нет маркета. нет вообще ничего. только то что установлено....

Разъясните как установить Castle Game Engine
Скачал Castle Game Engine. Думал, что я его легко установлю. Но все оказалось сложнее. Подскажите как установить этот пакет, кто сам с ним...

Разъясните пожалуйста как хранятся символы в видео памяти
Дело во в чем. Надо написать программу по выводу того что на экране, снова на экран. Вроде все ок, вроде все понятно. Написал: CSEG...

Разъясните пожалуйста как работает эта часть кода
K = 0 ' (ПОЯСНИТЕ ВОТ ЭТО ПОЧЕМУ 0) For i = 1 To 4 ' (Это Я знаю наверное цикл, который выполняется на строке??) For j = 1 To 4 ' (Это...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru