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

С использованием текстовых файлов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка текста и вывод в отдельный файл http://www.cyberforum.ru/cpp-beginners/thread76662.html
Добрый день! Есть задание: В текстовом файле имеется словарь (каждое слово на отдельной строке). Найти в нем слова, которые могут быть полностью составлены из двух и более других слов. Найденные...
C++ Новичок - наименее близкое к значению K. Очень большая просьба помогите решить задачу, что бы получить зачет. Реализовать функцию поиска целого числа, среди переданных в качестве параметров, наименее близкого к значению K, которое... http://www.cyberforum.ru/cpp-beginners/thread76660.html
Интерфейс программы C++
можно ли написать код чтобы у программы написанной наС++ не было интерфейса?
Максимальный нечетный элемент массива C++
ребят помогите написать программу на сишке, которая после введения массива определяет его максимальное четное число.заранее спасибо
C++ Освобождение указателей двумерного массив. http://www.cyberforum.ru/cpp-beginners/thread76590.html
Возникает ошибка времени выполнения при освобождении. Что не так? #include "stdafx.h" #include <iostream> using namespace std; typedef int* pArray; typedef pArray* p2Array; int main( ) {
C++ Количество цифр в строке Написал программу, которая вычисляет количество цифр в строке. Но программа не работает. Что не правильно? #include <iostream> #include <ctype.h> подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
19.12.2009, 19:10
Если особо не заморачиваться, то вот так:
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 <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
/* возвращает количество установленных бит */
size_t setBitsCount(int a){
    size_t count, i;
    static const int len = CHAR_BIT * sizeof(int);
    
    for ( count = 0, i = 0; i < len; ++i )
        if ( a & ( 1 << i ) )
            ++count;
    return count;
}
 
/* необходивое количество установленных бит */
#define K 4
 
/* читает из файла числа, сравнивает количество установленных бит, если совпадает с К, прибавляет их к sum. Печатает sum */
 
#define FIN_NAME "numbers.txt"
 
int main(void){
    FILE *fin;
    int num;
    long sum;
    
    if ( ( fin = fopen(FIN_NAME, "r") ) == NULL ){
        fprintf(stderr, "%Can't open input file %s\n", FIN_NAME);
        exit(1);
    }
    
    sum = 0;
    while ( fscanf(fin, "%d", &num) == 1 )
        if ( setBitsCount(num) == K )
            sum += (long)num;
            
    fclose(fin);
    printf("Sum = %ld\n", sum);
    exit(0);
}
numbers.txt
Код
4561
12
312
4566
232
655
56
659
6565
255
46
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru