Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
nadyush-princes
2 / 2 / 0
Регистрация: 08.10.2011
Сообщений: 73
#1

написать программу подсчета нечетных чисел последовательности - C++

08.10.2011, 19:49. Просмотров 1416. Ответов 17
Метки нет (Все метки)

нужно написать программу подсчета нечетных чисел последовательности, вводимой с клавиатуры, причем НЕ используя массив, а используя оператор sscanf

буду очень благодарна

 Комментарий модератора 
3.3 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 19:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос написать программу подсчета нечетных чисел последовательности (C++):

Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и нечетных чисел и выводит результат в консоль - C++
Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и нечетных чисел и выводит результат в...

Написать программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7 - C++
Здравствуйте, помогите пожалуйста с написанием кода. Напишите программу, которая в последовательности целых чисел определяет...

Написать программу вычисления суммы квадратов четных и кубов нечетных чисел от 1 до N - C++
Помогите пожалуйста с задачами: 1.Написать программу вычисления суммы квадратов четных и кубов нечетных чисел от 1 до N. ...

Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9. - C++
Помогите, пожалуйста, решить задачу в С++. Написать программу для вычисления суммы факториалов всех нечетных чисел от 1 до 9.

Макрос для подсчета четных и нечетных чисел - C++
Помогите с решением задачи: "Создайте макрос для подсчёта количества чётных и нечётных чисел в целочисленном одномерном...

Написать программу, которая выводит таблицу квадратов n первых целых положительных нечетных чисел - C++
Написать программу, которая выводит таблицу квадратов n первых целых положительных НЕЧЕТНЫХ чисел

17
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.10.2011, 20:28 #2
нужно написать
А вы пытались?
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
08.10.2011, 20:31 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void){
    int num, cnt = 0;
    
    while ( printf("> ") > 0 && scanf("%d", &num) == 1 )
        cnt += ( num & 1 );
    
    printf("%d odd numbers.\n", cnt);
    
    return 0;
}
1
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
08.10.2011, 23:06 #4
Вот такая, но без sscanf(я так подозреваю это cin)
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
#include <iostream>
using namespace std;
    
int main()
{
    setlocale(LC_ALL, "rus");
    cout << "Ââîäèòå Г·ГЁГ±Г«Г* через ïðîáåë(äëÿ Г§Г*ГўГҐГёГҐГ*ГЁГї ââåäèòå #):\n";
    
    int i=0;
    int num=0;
    
    while (cin>>num){ //ÏîêГ* ââîä âåðåГ*
          if(num%2)   //Öåëî ÷èñëåГ*Г*îå Г¤еëåГ*ГЁГҐ 1 åñëè Г*ГҐ Г·ГҐГІ
          i++;
          }
          
          if(num>0)   //Åñëè ГҐГ±ГІГј ââîä öèôðû
          cout << "\nГЌГҐ Г·ГҐГІГ*ûõ Г·ГЁГ±ГҐГ«: " << i;
          else        //ÂâåäèГ*Г* # Г±Г°Г*çó(Г*ГҐ îáÿçГ*òåëüГ*Г® # ëþáîé äðóãîé Г§Г*Г*ГЄ)
          cout << "\nGoodbye";
    
    cout << "\n\n\n";
    system("PAUSE");
    return 0;
}
1
Миниатюры
написать программу подсчета нечетных чисел последовательности  
nadyush-princes
2 / 2 / 0
Регистрация: 08.10.2011
Сообщений: 73
09.10.2011, 22:10  [ТС] #5
Цитата Сообщение от easybudda Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void){
    int num, cnt = 0;
    
    while ( printf("> ") > 0 && scanf("%d", &num) == 1 )
        cnt += ( num & 1 );
    
    printf("%d odd numbers.\n", cnt);
    
    return 0;
}
нужно использовать оператор SSCANF....

Добавлено через 1 минуту
забыла написать что нужно на Си

Добавлено через 1 минуту
Цитата Сообщение от soon Посмотреть сообщение
А вы пытались?
я пыталась, но дело в том, что я плохо понимаю чем отличается sscanf от scanf, и как его нужно использовать
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
09.10.2011, 22:17 #6
nadyush-princes, вам easybudda написал что вы просили. Про sscanf вы, наверное, погорячились, такая функция есть, но она читает данные из строки. Берите алгоритм из поста 3 и радуйтесь жизни. P.S. Чтобы ввод чисел прекратить, можете на очередной запрос символ, например, ввести
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
09.10.2011, 22:38 #7
C
1
2
3
4
5
6
7
8
#include <stdio.h>
int main() {
 char a[64];
 int n,c=0;
 while(printf("> ")&&gets(a)&&sscanf(a,"%d",&n)==1)c+=n&1;
 printf("%d odd numbers.\n",c);
 return 0;
}
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
09.10.2011, 22:43 #8
lazybiz, а если понадобится sprintf, то сначала в строку запишем, а потом строку выведем на экран
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
09.10.2011, 22:56 #9
Thinker, ты читал(а) условия задания?
0
nadyush-princes
2 / 2 / 0
Регистрация: 08.10.2011
Сообщений: 73
11.10.2011, 00:39  [ТС] #10
[QUOTE=Thinker;2055601]nadyush-princes, Про sscanf вы, наверное, погорячились,


скорее погорячился мой препод, а не я))))))
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
11.10.2011, 05:57 #11
Цитата Сообщение от nadyush-princes
нужно написать программу подсчета нечетных чисел последовательности, вводимой с клавиатуры, причем НЕ используя массив, а используя оператор sscanf
Цитата Сообщение от nadyush-princes
нужно использовать оператор SSCANF....
для sscanf() обязательно нужен массив

Цитата Сообщение от nadyush-princes
я плохо понимаю чем отличается sscanf от scanf
они ничем не отличаются, просто берут данные из разных источников
(у sscanf() есть ограничение на перекрытие)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2011, 09:29 #12
Цитата Сообщение от lazybiz Посмотреть сообщение
Thinker, ты читал(а) условия задания?

Не по теме:

А пытался(пыталась) понять абсурдность задания?

0
Tpyn_CTpayca
0 / 0 / 0
Регистрация: 31.08.2011
Сообщений: 3
05.11.2011, 14:19 #13
Ну вот кстати я бы не сказал, что это абсурдно, но только тут нужно дополнительно знать в каком формате вводятся числа(например ели каждое число состоит железно из 2/3/4/../n знаков то все замечательно можно организовать), если же все-таки требуется какое-то эзотерическое решение для задачи(главное чтобы по условию и никак по-другому), то можно конечно сделать так:

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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define MaxLen 1025
 
int OddSum(char s[]);
 
int main()
{
    char s[MaxLen];
    gets(s);
    long sum = OddSum(s);
    printf("%d",sum);
    return 0;
}
 
int OddSum(char str[])
{
    char s[MaxLen], buf[8];
    strcpy(s, str);
    int a = 0, buflen = 0, i = 0, j = 0;
    long sum = 0;
    int slen = strlen(s);
    while(i < slen)
    {
        sscanf(s, "%s", &buf);
        a = atoi(buf);
        sum += (a & 1) ? a : 0;
        for (j = i; j < strlen(buf) + i; ++j) s[j] = ' ';
        i = ++j;
    }
    return sum;
}
Собственно та еще бредятина))) с дичайшими издержками по времени исполнения и использованию памяти мне в универе преподы за такое голову бы снесли =) но зато со sscanf' ами)

Добавлено через 6 минут
А, стоп, там же не сумму а их число, ну тогда можно так:
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define MaxLen 1025
 
int OddNum(char s[]);
 
int main()
{
    char s[MaxLen];
    gets(s);
    long num = OddNum(s);
    printf("%d",num);
    return 0;
}
 
int OddNum(char str[])
{
    char s[MaxLen], buf[8];
    strcpy(s, str);
    int a = 0, buflen = 0, i = 0, j = 0;
    long num = 0;
    int slen = strlen(s);
    while(i < slen)
    {
        sscanf(s, "%s", &buf);
        a = atoi(buf);
        if (a & 1) ++num;
        for (j = i; j < strlen(buf) + i; ++j) s[j] = ' ';
        i = ++j;
    }
    return num;
}
только это выглядит еще абсурднее.
Кстати, Надя, а у тебя есть ася или хотя бы e-mail, с тобой можно познакомиться?

Добавлено через 29 минут
Цитата Сообщение от accept Посмотреть сообщение
для sscanf() обязательно нужен массив


они ничем не отличаются, просто берут данные из разных источников
(у sscanf() есть ограничение на перекрытие)
Я так думаю, что про массив имелось в виду, что нельзя парсить строку в массив стандартными срествами scanf/sscanf там кстати такое тоже есть. P.S. кому не нравится [] могут объявлять через указатель и работать с адресной арифметикой.
0
nadyush-princes
2 / 2 / 0
Регистрация: 08.10.2011
Сообщений: 73
05.11.2011, 14:26  [ТС] #14
Tpyn_CTpayca,
Tpyn_CTpayca, 555422511 5nadya_evd5@mail.ru
1
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
05.11.2011, 17:15 #15
Цитата Сообщение от Tpyn_CTpayca
Я так думаю, что про массив имелось в виду, что нельзя парсить строку в массив стандартными срествами scanf/sscanf там кстати такое тоже есть.
Цитата Сообщение от nadyush-princes
нужно написать программу подсчета нечетных чисел последовательности, вводимой с клавиатуры, причем НЕ используя массив
скорее всего, ограничение относится к последовательности
чтобы её не сохраняли перед обработкой
0
05.11.2011, 17:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2011, 17:15
Привет! Вот еще темы с ответами:

Написать программу, которая находит сумму всех целых нечетных чисел в заданном диапазоне - C++
Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователе. #include &lt;iostream&gt; using...

Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел. - C++
Буду очень признателен, если поможете безрукому... 4. Написать программу, которая выводит таблицу квадратов первых пяти целых...

Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователя. - C++
#include &lt;iostream&gt; using namespace std; void main(){ int a,b; cout&lt;&lt;&quot;OT &quot;; cin&gt;&gt;a; cout&lt;&lt;&quot;DO &quot;; cin&gt;&gt;b; ...

Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел - C++
Написать программу, которая выводит таблицу квадратов первых пяти целых положительных нечетных чисел. можно со скрином...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.