Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13

Аргументы функции main()

23.01.2012, 22:01. Показов 2251. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу для определения, чередуются ли в данной последовательности символы ‘+’ и ‘-‘, и сколько раз каждый из этих символов входит в эту последовательность. Собственно определение оформить как функцию.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2012, 22:01
Ответы с готовыми решениями:

аргументы функции main
помогите разобраться создаю файл c.cpp #include <iostream> using namespace std; int main(int argc, char *argv) { ...

Аргументы функции main
Здравствуйте, программисты! Написать программу для определения, есть ли среди символов этой последовательности символы, образующие слово...

Аргументы функции main
Здравствуйте! Очень нужна Ваша помощь... Дано натуральное n. Для n, вводимого с клавиатуры получите действительную квадратную матрицу...

11
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
24.01.2012, 11:10
У тебя есть куча вариантов
1) Подавать последовательность как аргументы командной строки
Получишь как argc, argv из main()

2) Запросить у пользователя строку
Прочитать с помощью функции fgets()

Добавлено через 7 минут
Не очень понял что именно тебе нужно
Если данные для анализа уже получены
то можно сделать такую функцию

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus );
 
 
int main( void ) {
 
char buf[100];
int is_chered;
int cnt_plus, cnt_minus;
 
 
strcpy( buf, "++--z++1++2--4--aaatttt" );
do_calc( buf, &is_chered, &cnt_plus, &cnt_minus );
printf( "cheredovanie: %s, kol-vo plusov: %d, kol-vo minusov: %d\n",
    (is_chered)? "EST" : "NET",
    cnt_plus,
    cnt_minus
);
return 0;
 
} /* main() */
 
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus ) {
 
*is_chered= 0;
*cnt_plus= 6;
*cnt_minus= 6;
 
} /* do_calc() */
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
24.01.2012, 11:19
Цитата Сообщение от qwerty2010 Посмотреть сообщение
аргументы функции main()
Цитата Сообщение от qwerty2010 Посмотреть сообщение
Написать программу для определения, чередуются ли в данной последовательности символы ‘+’ и ‘-‘, и сколько раз каждый из этих символов входит в эту последовательность. Собственно определение оформить как функцию.
- причём тут аргументы main - ???Вы последовательность через командную строку передавать будете???
Какой язык С/С++???Уточняйте - напишем
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13
24.01.2012, 12:41  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- причём тут аргументы main - ???Вы последовательность через командную строку передавать будете???
Какой язык С/С++???Уточняйте - напишем
такое задание)) и язык именно с++, только начал его изучать)

Добавлено через 37 минут
Цитата Сообщение от odip Посмотреть сообщение
У тебя есть куча вариантов
1) Подавать последовательность как аргументы командной строки
Получишь как argc, argv из main()

2) Запросить у пользователя строку
Прочитать с помощью функции fgets()

Добавлено через 7 минут
Не очень понял что именно тебе нужно
Если данные для анализа уже получены
то можно сделать такую функцию

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus );
 
 
int main( void ) {
 
char buf[100];
int is_chered;
int cnt_plus, cnt_minus;
 
 
strcpy( buf, "++--z++1++2--4--aaatttt" );
do_calc( buf, &is_chered, &cnt_plus, &cnt_minus );
printf( "cheredovanie: %s, kol-vo plusov: %d, kol-vo minusov: %d\n",
    (is_chered)? "EST" : "NET",
    cnt_plus,
    cnt_minus
);
return 0;
 
} /* main() */
 
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus ) {
 
*is_chered= 0;
*cnt_plus= 6;
*cnt_minus= 6;
 
} /* do_calc() */
если не трудно напишите код попроще, а то я только начинающий, и некоторые коды не понимаю
заранее спасибо
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
24.01.2012, 13:20
qwerty2010, тебе нужен ввод либо через командную строку либо если аргументов не передали то необходимо осуществить пользовательский ввод...Ща сделаем
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
24.01.2012, 13:54
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ввод либо через командную строку либо если аргументов не передали то необходимо осуществить пользовательский ввод
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
#include <iostream>
#include <string>
using namespace std;
 
int main(int argc, char * argv[])
{
    int i;
    string input;
    cout<<"Your input is from : ";
    if(1 < argc)//Ââîäæ ÷åðå êîììàíäíóþ ñòðîêó
    {
        cout<<"command line\n";
        for(i = 1; i < argc; i++)
            input += argv[i];//Ïðîñòî ñëåïëèâàþ âñå àðãóìåíòû â ñòðîêó
    }
    else//Åñëè ïàðàìåòðîâ íå ïåðåäàëè ââîäèì âðó÷íóþ
    {
        cout<<"handle\n";
        cout<<"Enter string : ";
        getline(cin,input);
    }
    cout<<"Input string : "<<input.c_str()<<endl;
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input.length(); i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        cout<<"Input string not contain '+'\n";
    else
    if(nMinus < 1)
        cout<<"Input string not contain '-'\n";
    else
        cout<<" + is "<<(nPlus < nMinus ? " more " : " less ")<<"than - \n";
    system("pause");
    return 0;
}
Миниатюры
Аргументы функции main()   Аргументы функции main()  
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13
24.01.2012, 14:29  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
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
#include <iostream>
#include <string>
using namespace std;
 
int main(int argc, char * argv[])
{
    int i;
    string input;
    cout<<"Your input is from : ";
    if(1 < argc)//Ââîäæ ÷åðå êîììàíäíóþ ñòðîêó
    {
        cout<<"command line\n";
        for(i = 1; i < argc; i++)
            input += argv[i];//Ïðîñòî ñëåïëèâàþ âñå àðãóìåíòû â ñòðîêó
    }
    else//Åñëè ïàðàìåòðîâ íå ïåðåäàëè ââîäèì âðó÷íóþ
    {
        cout<<"handle\n";
        cout<<"Enter string : ";
        getline(cin,input);
    }
    cout<<"Input string : "<<input.c_str()<<endl;
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input.length(); i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        cout<<"Input string not contain '+'\n";
    else
    if(nMinus < 1)
        cout<<"Input string not contain '-'\n";
    else
        cout<<" + is "<<(nPlus < nMinus ? " more " : " less ")<<"than - \n";
    system("pause");
    return 0;
}
оо, мой компилятор выдал на эту программу аж целых 11 ошибок)
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
24.01.2012, 14:36
Цитата Сообщение от qwerty2010 Посмотреть сообщение
оо, мой компилятор выдал на эту программу аж целых 11 ошибок)
Действительно ооо -в чём пишем???

Не по теме:

PS:Всегда можно удалить отвратный компилятор и поставить нормальный...;)



Добавлено через 1 минуту
qwerty2010, предположу что Билдер используете???Тогда да код надо преобразовать.
Пишем пишем иначе помогать не буду...
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
24.01.2012, 14:39
-=ЮрА=-, а ведь вопрос был " чередуются ли в данной последовательности символы ‘+’ и ‘-‘" ?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
24.01.2012, 14:41
Вот это думаю свободно пойдёт в Билдере
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
#include <stdio.h>
#include <string.h>
 
int main(int argc, char * argv[])
{
    int i;
    char input[2048] = {0};
    printf("Your input is from : ");
    if(1 < argc)//Ââîä ÷åðåç êîììàíäíóþ ñòðîêó
    {
        printf("command line\n");
        for(i = 1; i < argc; i++)
            strcat(input,argv[i]);//Ïðîñòî ñëåïëèâàþ âñå àðãóìåíòû â ñòðîêó
    }
    else//Åñëè ïàðàìåòðîâ íå ïåðåäàëè ââîäèì âðó÷íóþ
    {
        printf("handle\n");
        printf("Enter string : ");
        scanf("%[^\n]",input);
    }
    printf("Input string : %s\n",input);
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input[i] != '\0'; i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        printf("Input string not contain '+'\n");
    else
    if(nMinus < 1)
        printf("Input string not contain '-'\n");
    else
        printf(" + is %s than - \n",(nPlus < nMinus ? " more " : " less "));
    getchar();
    return 0;
}
Добавлено через 55 секунд
Цитата Сообщение от MrCold Посмотреть сообщение
-=ЮрА=-, а ведь вопрос был " чередуются ли в данной последовательности символы ‘+’ и ‘-‘" ?
тогда прочти задание

Цитата Сообщение от qwerty2010 Посмотреть сообщение
и сколько раз каждый из этих символов входит в эту последовательность.
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
24.01.2012, 14:47
-=ЮрА=-, спорить не собираюсь, но по моему это уже 2-я часть задания :
"и сколько раз каждый из этих символов входит в эту последовательность".
0
24.01.2012, 15:07

Не по теме:

MrCold, можешь подсказать смысл твоих постов???
Я с тобой и не собирался спорить если бы мне не написал вообще пропустил бы твой пост...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.01.2012, 15:07
Помогаю со студенческими работами здесь

Аргументы функции main
что значит определение оформить как функцию и сортировку оформить как функцию??

Шифрование. Аргументы функции MAIN
Привет всем:) Нужна помощь... С++... Аргументы функции MAIN. Фраза шифруется следующим образом: после первых двух символов...

Аргументы для функции main()
Я совершенно не понял, каким образом работает, допустим вот такой фрагмент программы: int main(int argc, char **argv) { if...

Обработать аргументы функции main
Всем привет. В main() передается строка и число. Как их можно обработать? На это выскакивает ошибка char* str= new char; ...

Аргументы командной строки в функции main
Вопрос собственно говоря банальный в домашнем задании требуеться: параметр пронраммы передаеться через командную строку.Пример: ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru