Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dionisius
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 149
1

Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная

08.01.2014, 21:56. Просмотров 376. Ответов 4
Метки нет (Все метки)

1.В функцию передаются границы числового интревала. Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная.
2. Считать строку и вывести на экран только предложения, не содержащих запятых.

Добавлено через 1 час 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
#include <stdio.h>
#include <conio.h>
#include <math.h>
bool ProstoeChislo(int n)
{
  for(int i = 2; i * i <= n; ++i)
    if(n % i == 0)
      return false;
 
  return true;
}
int main()
{
  int n = 0;
  int a,b,m;
  printf("Vvedite nachalo i konec intervala \n");
  scanf("%d\n%d", a,b);
 
....
 
  getch();
  return 0;
}
помогите, что должно быть на месте многоточия?

Добавлено через 54 минуты
я смотрел как делать 2 задание но не робит
Считать текст из файла и вывести на экран только предложения, не содержащие запятых
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 21:56
Ответы с готовыми решениями:

Среди простых чисел найти найти такое, в двоичной записи которого максимальное число единиц.
Помогите пожалуйста! Среди простых чисел, не превосходящих n, найти такое, в...

Среди простых чисел, не превосходящих N, найти такое, в десятичной записи которого максимальное число единиц
Пожалуйста, помогите кто может очень срочно нужно((((

Среди чисел от 1 до Н определить то, сумма цифр которого большая
Дано число Н, Среди чисел от 1 до Н определить то, сумма цифр которого большая....

Найти число на отрезке, сумма пятеричных цифр которого минимальна
Всем привет! Вот такую задачу задали. Я программу написал, но вот отчего - то...

Найти двузначное число, сумма кубов цифр которого равна N
Найти двузначное число, сумма кубов цифр которого равна N Вот есть такой код:...

4
__General__
24 / 24 / 12
Регистрация: 04.01.2014
Сообщений: 91
Завершенные тесты: 2
09.01.2014, 03:32 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
38
39
40
41
42
43
44
45
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int SumFigures(int num)
{
    int retval = 0;
    while (num) {
        retval += num%10;
        num /= 10;
    }
 
    return retval;
}
 
bool ProstoeChislo(int n)
{
  for(int i = 2; i * i <= n; ++i)
    if(n % i == 0)
      return false;
 
  return true;
}
int main()
{
  int a,b;
  printf("Vvedite nachalo i konec intervala \n");
  scanf("%d %d", &a, &b);
 
  int retval, max_sum_fig = 0, cur_sum_fig, i;
  for (i = a+1; i < b; i++) {
      if (ProstoeChislo(i)) {
        cur_sum_fig = SumFigures(i);
        if (cur_sum_fig > max_sum_fig) {
            max_sum_fig = cur_sum_fig;
            retval = i;
        }
      }
  }
 
  printf ("Result: %d", retval);
 
  getch();
  return 0;
}
Обращаю внимание на вашу ошибку: параметры в scanf нужно передавать по указателю, а не по значению.

Добавлено через 14 минут
Код ко второй задачке писать слегка влом, но по большому счету она тоже не сложная.
1. Пишем функцию, bool function (char*) или bool function(string), в которую передается предложение, и она возвращает true, если запятых нет и false, если они есть. Собственно, функция состоит из одного цикла - прохода по строке.
2. Считываем строку (функцией getline(...)).
3. Заводим две переменные типа int - индексы начала и конца текущего предложения; в цикле идем от начала до конца строки. Единственный чуть-чуть тонкий момент - определять начало определять по символу (символам) конец предложения и начало следующего (предложение может закончиться: ".", "?", "!", "..."
(с многоточием например возникает такая фича: встретив точку, мы не можем сразу сказать, что следующий символ - начало предложения, а должны посмотреть, точку мы встретили или многоточие).
Короче, вызываем для каждого предложения наш function, и если вернулось true, то распечатываем предложение.
1
bradobrei
Продам уран 238U
120 / 120 / 126
Регистрация: 22.01.2013
Сообщений: 298
09.01.2014, 13:46 3
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main(){
    char str[] = "dhk, e,we,we,r,q,r,qw,iqwi q,qwnwk,reww,w r";
    for(int i = 0; str[i]; i++){
        if(str[i] != ',')
            cout<<str[i];
    }
return 0;
}
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5117 / 1555 / 950
Регистрация: 23.01.2011
Сообщений: 3,185
Завершенные тесты: 1
09.01.2014, 13:58 4
Цитата Сообщение от Dionisius Посмотреть сообщение
Считать строку и вывести на экран только предложения, не содержащих запятых
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 <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    const std::string sentenceEnd("!?.");
 
    std::string userString;
    std::cout << "Input the string: " << std::endl;
    std::getline(std::cin, userString);
 
    char *buffer(nullptr);
    char *currentSentence(strtok_s(const_cast <char *> (userString.c_str()), sentenceEnd.c_str(), &buffer));
    std::cout << "Result: " << std::endl;
    while (currentSentence) {
        std::string sentence(currentSentence);
        if (!std::count(sentence.begin(), sentence.end(), ','))
            std::cout << sentence << std::endl;
        currentSentence = strtok_s(0, sentenceEnd.c_str(), &buffer);
    }
 
    std::system("pause");
    return 0;
}
1
Dionisius
2 / 2 / 0
Регистрация: 19.10.2013
Сообщений: 149
09.01.2014, 20:34  [ТС] 5
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
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 <algorithm>
#include <iostream>
#include <string>
 
int main()
{
    const std::string sentenceEnd("!?.");
 
    std::string userString;
    std::cout << "Input the string: " << std::endl;
    std::getline(std::cin, userString);
 
    char *buffer(nullptr);
    char *currentSentence(strtok_s(const_cast <char *> (userString.c_str()), sentenceEnd.c_str(), &buffer));
    std::cout << "Result: " << std::endl;
    while (currentSentence) {
        std::string sentence(currentSentence);
        if (!std::count(sentence.begin(), sentence.end(), ','))
            std::cout << sentence << std::endl;
        currentSentence = strtok_s(0, sentenceEnd.c_str(), &buffer);
    }
 
    std::system("pause");
    return 0;
}
а у нас не поймут задачи с cout и cin
у нас scanf и printf

Добавлено через 4 часа 50 минут
Цитата Сообщение от bradobrei Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main(){
    char str[] = "dhk, e,we,we,r,q,r,qw,iqwi q,qwnwk,reww,w r";
    for(int i = 0; str[i]; i++){
        if(str[i] != ',')
            cout<<str[i];
    }
return 0;
}
программа эта у меня не робит
0
09.01.2014, 20:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2014, 20:34

Найти n первых простых чисел, сумма цифр у которых меньше заданного числа
Помогите написать программу! Условие: найти n первых простых чисел, сумма цифр...

Найти количество простых чисел, сумма цифр которых равна натуральному числу
В одномерном массиве, состоящем из N натуральных чисел найти количество простых...

Среди чисел от 1 до N включительно найти те, чья сумма цифр делится на К
You are given two numbers N и K.Find total amount of numbers between 1 and N...


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

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

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