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

Пару задач на разные темы - C++

Восстановить пароль Регистрация
 
.Frost.
9 / 10 / 0
Регистрация: 14.06.2011
Сообщений: 85
14.06.2014, 20:30     Пару задач на разные темы #1
Я плохо знаю С++, поэтому прошу помочь разобраться с парой задач. Не изучал этих тем. Вот что получилось у меня..
1. Даны натуральные числа a, b (a<=b). В диапазоне [a,b] вывести все числа в записи которых имеется цифра 3 (с помощью функций).
Кликните здесь для просмотра всего текста
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include<conio.h>
#include <iostream>
 using namespace std;
 int ch(int n);
//---------------------------------------------------------------------------
int ch(int n)
{
    bool f=false;
    while ((n!=0)&&(f!=true))
    {
        if (n%10==3)  f=true;
        n=n/10;
 
    }
    return n;
}
#pragma argsused
int main(int argc, char* argv[])
{
    int a,b,n;
    cout << "a=";
    cin >> a;
    cout << "b=";
    cin >> b;
     cout <<ch(n)<<"  "<<endl;
     system("pause");
    }
//---------------------------------------------------------------------------


2. . Дана последовательность символов (строка). Найти самую длинную последовательность подряд идущих цифр.
Кликните здесь для просмотра всего текста

Ну здесь трудности..
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<stdio.h>
#include<conio.h>
#include <iostream>
#include <string.h>
 using namespace std;
int main(int argc, char* argv[])
{
char str[255];
int w, i=0;
int max=0;
int sum=0;
char rez;
 int x;
cout << "Enter string: ";
cin >> str;
for (i=1;i<strlen(str);i++)
{
        if (str>="0" && str<="9") sum=sum+1;
        else
        {
                if (sum>max)
                max=sum;
                sum=0;
        }
  x=strlen(str);
  if (strlen(str)==sum) cout<<"sum="<<sum<<endl;
  else
  if (str[x]>='0' && str[x]<='9') cout<<"sum= "<<sum<<endl;
  if (str[x]<'0' || str[x]>'9' ) cout<<"sum1= "<<max<<endl;
 
}
 system("pause");
    return 0;
}


3. . Программа должна обрабатывать данные о сотовых телефонах и выводить на экран всю информацию о телефонах в заданном ценовом диапазоне.
Кликните здесь для просмотра всего текста
В разработке...


И еще, такой вопрос. У меня в программе создается файл txt, в который вносится информация в виде чисел и слов (про поезда). После выполнения программы открываю файл, а там иероглифы. Подскажите, пожалуйста, почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
1791 / 1506 / 540
Регистрация: 24.04.2014
Сообщений: 4,234
14.06.2014, 21:14     Пару задач на разные темы #2
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
bool digit3(int n) {
    while (n) {
        if (n % 10 == 3) return true;
        n /= 10;
    }
    return false;
}
 
int main() {
    int a, b;
    cin >> a >> b;
    for (int k = a; k <= b; ++k) {
        if (digit3(k)) cout << k << endl;
    }
    system("pause");
}
Добавлено через 11 минут
2.
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
#include <iostream>
#include <string.h>
 
using namespace std;
 
bool isDigit(char c) {
    return c >= '0' && c <= '9';
}
 
int main() {
    char str[256];
    cin.getline(str, 255);
    int max = 0;
    int n = 0;
    for (int i = 0; i <= strlen(str); ++i) {
        if (isDigit(str[i])) ++n;
        else {
            max = n > max ? n : max;
            n = 0;
        }
    }
    cout << max << endl;
    system("pause");
}
rikimaru2013
C++ Game Dev
 Аватар для rikimaru2013
2137 / 970 / 223
Регистрация: 30.11.2013
Сообщений: 3,240
14.06.2014, 21:41     Пару задач на разные темы #3
Цитата Сообщение от .Frost. Посмотреть сообщение
И еще, такой вопрос. У меня в программе создается файл txt, в который вносится информация в виде чисел и слов (про поезда). После выполнения программы открываю файл, а там иероглифы. Подскажите, пожалуйста, почему?
Качай Notepad++, кодировка файла ANSII, текст англ.
.Frost.
9 / 10 / 0
Регистрация: 14.06.2011
Сообщений: 85
14.06.2014, 23:21  [ТС]     Пару задач на разные темы #4
Сделал сам последнюю задачу. Прошу закрыть тему.
Yandex
Объявления
14.06.2014, 23:21     Пару задач на разные темы
Ответ Создать тему
Опции темы

Текущее время: 21:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru