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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Раздельная компиляция файлов в проекте. Межмодульное взаимодействие http://www.cyberforum.ru/cpp-beginners/thread363198.html
Задан проект-модель почтового сервера Созданы файлы: интерфейс сервера: server.h, интерфейс клиента-client.h, реализации сервера-server.cpp, клиента-client.cpp. Клиентская часть client.cpp компилируется, серверная часть server.cpp не компилируется. При компиляции файла server.cpp, компилятор ругается на строки list<client> servеd; и list<client> notservеd;. Компилятор gcc++, ide-geany. ...
C++ Поменять местами два числа, не используя дополнительные ячейки памяти Когда вводишь два числа нужно что бы они поменялись местами, не используя при это дополнительные ячейки то есть всего 2 ячейки #include <iostream> using namespace std; int main() { int a,b; cin>>a>>b; Дальше вот тут вывести какую-то формулу; cout<<a<<b<<endl; return 0; http://www.cyberforum.ru/cpp-beginners/thread363184.html
<graphics.h> C++
Всем привет. Допустим, у меня есть двумерный массив BOOL. Как мне графически отрисовать его при помощи graphics.h? То есть, если true — белый квадратик, если false — черный (или наоборот, не суть). Интересует сама методика отрисовки двумерного массива. Спасибо.
C++ Возврат функцией указателя на функцию
Всем привет! У меня возникла такая проблема: класс имеет поле-указатель на функцию. В методе, который осуществляет доступ к этуму полю, нужно возвращать его значение. Но как это синтаксически оформить? Вот само поле:void (*memUseControl)(int);, с этим проблем нет, вот так пробовал описать метод доступа:(void *)(int) getMemUseControl();, но не помогло, пробовал ещё разные варианты... Добавлено...
C++ Сильно ли отличается Visual C++ 2003 от Visual C++ 6 ? http://www.cyberforum.ru/cpp-beginners/thread363176.html
Начал читать книгу Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ - 2008 и ,как я понял из того,что написано в ведении,а именно ,что с книгой должен идти диск с Visual C++ 2003 Standard Edition,я подумал что с этой книгой лучше его и использовать.Но Visual C++ 2003 на торрентах я найти не смог...Сильны ли отличии между 2003 и 6 версией?
C++ Список сортировка Составить список учащихся с указанием фамилии ,даты рождения ,пола и отсортировать список по алфавиту подробнее

Показать сообщение отдельно
Tpyn_CTpayca
0 / 0 / 0
Регистрация: 31.08.2011
Сообщений: 3
05.11.2011, 14:19     написать программу подсчета нечетных чисел последовательности
Ну вот кстати я бы не сказал, что это абсурдно, но только тут нужно дополнительно знать в каком формате вводятся числа(например ели каждое число состоит железно из 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. кому не нравится [] могут объявлять через указатель и работать с адресной арифметикой.
 
Текущее время: 07:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru