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

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

Войти
Регистрация
Восстановить пароль
 
Dionisius
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 115
08.01.2014, 21:56     Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная #1
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 задание но не робит
Считать текст из файла и вывести на экран только предложения, не содержащие запятых
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 21:56     Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная
Посмотрите здесь:

C++ Найти среди всех трёхзначных целых чисел те, у которых сумма цифр равна N
C++ Натуральное число, в котором n цифр, если сумма цифр возведённая в nую степень равна числу то вы вывесте число на экран(интервал чисел от 1 до k)
Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей C++
C++ Среди простых чисел, не превосходящих N, найти такое, в десятичной записи которого максимальное число единиц
Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13 C++
C++ Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел
C++ Среди чисел от 1 до Н определить то, сумма цифр которого большая
C++ Удалить из массива число, у которого наибольшая сумма цифр и отсортировать оставшиеся элементы
C++ Найти натуральное число M такое, что M делится на N и сумма цифр M делится на N
C++ Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13
C++ Найти двузначное число, сумма кубов цифр которого равна N
Среди чисел от 1 до N включительно найти те, чья сумма цифр делится на К C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
__General__
24 / 24 / 3
Регистрация: 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, то распечатываем предложение.
bradobrei
Продам уран 238U
 Аватар для bradobrei
119 / 119 / 23
Регистрация: 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;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
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;
}
Dionisius
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 115
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;
}
программа эта у меня не робит
Yandex
Объявления
09.01.2014, 20:34     Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная
Ответ Создать тему
Опции темы

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