Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2015, 21:34   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию проверка на количество вхождений цифры 7

Ребят, как сделать запись в текстовый файл четырех значных чисел, в которых число 7 встречается не менее 7 раз? Интересует само условие. Думаю цикл такой:

For (int i=1000;i<10000;i++)
If (i%7==0) вывод.

Но это проверка на кратность ведь, а как проверить на вхождения
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 20.05.2015, 21:41   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А, хотя что если каждое число в цикле переводить число в строку типа char, затем во втором цикле от 0 до 3 смотреть на присутствие символа 7; если Count>2, то записать эту строку в файл. Но как проверить каждый символ строки типа char?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 20.05.2015, 22:19   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
#include <QCoreApplication>
#include <string.h>
#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);


    ofstream outFile("tempStream.txt");
    if(!outFile)
        cout<<"impossible to open file";
    else
    {

        char A[3];


        for(int i=999;i<10000;i++)
        {
            int count=0;
            itoa(i,A,10);


            for (int j=0;j<=3;j++)
                if (A[j]=='7') count++;


            if( count>=3)
            {
                outFile<<A;
                outFile<<"\n";
            }
        }

        outFile.close();

        cout<<"Done!";
        return a.exec();
    }
}
сам написал, а возможно упростить?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 20.05.2015, 22:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
четырех значных чисел, в которых число 7 встречается не менее 7 раз?
во-первых, мне сдаётся, что Вы путаете понятия "цифра" и "число"

во-вторых, как это, в 4-х значном числе цифра можете встретиться 7(СЕМЬ) раз?!! Приведите в пример хотя бы одно такое число!



Добавлено
судя по
Цитата:
если Count>2
в исходном сообщении опечатка, правильный текст задания
"четырехзначных чисел, в которых цифра 7 встречается не менее 2 раз?"

Последний раз редактировалось Serge_Bliznykov; 20.05.2015 в 22:23.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.05.2015, 22:25   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

нет-нет)) там числа

от 1000 до 10000, из них в файл записать только те, у которых символ 7 встречается больше 3-х раз, т.е.:

7771
7772
....
7777
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 20.05.2015, 22:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

можно что-то вроде
Код:
for(int i=1000;i<10000;i++)
        {
            int count=0;
            int a =  i;
            while(a!=0) {
                if(a%10 == 7) count++;
                a=a/10;
            }
            if(count>2) {
             // тут запись числа i в файл
            }
       }
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.05.2015, 22:28   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

вроде правильно работает))

А вот еще вопрос, сформировать текстовый файл из нескольких строк, затем выписать во второй файл первые слова из строк первого файла, какими методами можно строку типа CHAR обрезать до первого пробела?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
с++Подсчитать количество вхождений в текст заданного слова archil Помощь студентам 7 02.06.2014 21:23
Проверка вхождений UKRtortik JavaScript, Ajax 3 24.04.2014 17:08
Как посчитать количество вхождений элемента в массив/список VladOsq C# (си шарп) 1 24.05.2012 12:06
Задана последовательность чисел в формате:сначала количество цифр в числе, потом - цифры числа. Подсчитать количество. Arn1 Помощь студентам 4 03.10.2011 20:03
Определить количество вхождений строки S1 в строку S2 Berckyt Microsoft Office Word 5 16.03.2009 00:27