С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
#1

Несложная программа - C++

04.11.2009, 16:05. Просмотров 1459. Ответов 22
Метки нет (Все метки)

Здравствуйте, мне нужно написать не сложную программу, но так как мои знания в области с++ на данный момент нулевые, хотел бы попросить у вас помощи. Программа такого типа: "Дано множество чисел, найти среди них число, имеющее максимальное количество делителей".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2009, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несложная программа (C++):

Задачка несложная - C++
http://5.firepic.org/5/images/2013-11/04/8hpfr4qkym6l.png

Несложная задача,условие на фото - C++
Все на картинке

Программа , которая выводит время, за которое программа работает - C++
Вообщем, нужно что бы считалось время от начала работы программы, и выводилось на экран.

Первая программа. Код не компилируется и не запускается программа. - C++
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

несложная программа - Free Pascal
Разобрать и отладить код программы, в которой: 1) с помощью типизированной константы вводятся значения элементов целочисленной матрицы M,...

Несложная программа - C (СИ)
Задано целое n>0 и последовательность с n действительных чисел. Найти сумму положительных и сумму отрицательных чисел этой...

22
denver
1610 / 279 / 3
Регистрация: 19.09.2009
Сообщений: 701
04.11.2009, 16:46 #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
#include <iostream>
 
using std::cout;
using std::cin;
    int main()
    {
        int N, Sum_Max, Sum, Ch;
        cout << "Vvedite chislo N: "; 
        cin >> N;
        Sum_Max = 1; /*Максимальная сумма делителей*/
        Ch = 1; /*Число с максимальной суммой делителей*/
        for( int i = 2; i<= N; i++) /*Это цикл по количеству чисел*/        
        {
            Sum = 0;
            for (int k= 1; k<= i/2 + 1; k++) /*В этом цикле находим сумму делителей*/
                if(i % k == 0) /*Если i нацело делится на k, то k - делитель i*/
                    Sum += k;
            Sum += i;
            if (Sum > Sum_Max) 
            {
                Sum_Max = Sum; 
                Ch = i; 
            }
        }
        cout << "Max summu delitelei " << Sum_Max << " imeet chislo " << Ch;
    system ("pause");
    return 0;
    }
0
sheka
Босс
161 / 127 / 7
Регистрация: 03.06.2009
Сообщений: 750
04.11.2009, 16:47 #3
Цитата Сообщение от VLAD1M1R Посмотреть сообщение
мне нужно ..., хотел бы попросить у вас помощи
)))
думаю, здесь множество - имеется ввиду массив.
проверка делителей - простой перебор до корня квадратного.
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
04.11.2009, 16:56  [ТС] #4
извиняюсь, но я ошибся в описании задания... Я имел ввиду, что дается определенное количество чисел, записанных в .txt и среди них нужно найти число, имеющее наибольшее кол-во делителей...
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
04.11.2009, 21:15 #5
VLAD1M1R,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
int main()
{
    const int n = 5 ; 
    int a[n];
    size_t i = 0,k;
    std::ifstream in("d:\\ww.txt");
    while (in>>k)
    {
        a[i]=k;
        i++;
    }
    for (size_t i = 0 ; i < n ; i++)
        std::cout<<a[i]<<' ';
    return 0;
}
как пример в файле пять чисел записываешь их в массив делаешь потом тоже что тебе и предложили
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
04.11.2009, 23:24  [ТС] #6
большое спасибо! выручили =)
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
19.11.2009, 21:15  [ТС] #7
Цитата Сообщение от Андрейка Посмотреть сообщение
VLAD1M1R,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <fstream>
int main()
{
    const int n = 5 ; 
    int a[n];
    size_t i = 0,k;
    std::ifstream in("d:\\ww.txt");
    while (in>>k)
    {
        a[i]=k;
        i++;
    }
    for (size_t i = 0 ; i < n ; i++)
        std::cout<<a[i]<<' ';
    return 0;
}
как пример в файле пять чисел записываешь их в массив делаешь потом тоже что тебе и предложили
Я не совсем понял, как будет выглядеть программа в итоге... Я прописал, то что ты мне посоветовал, но она тупо выводит на экран эти 5 чисел введенные в txt. Объясните что в общем нужно прописать, чтобы программа находила число с макс. кол-вом делителей... Я просто не догоняю чутка))
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 21:22 #8
VLAD1M1R, в общем у нас же числа в файле? вот мой код их считывает в массив то есть мы считали все числа из файла и загнали их в массив a, ну а выше тебе код писали неопсредственно по твоей задаче
0
Sasha_Smirnov
5435 / 1280 / 139
Регистрация: 08.02.2009
Сообщений: 3,980
Записей в блоге: 29
19.11.2009, 21:28 #9
Андрейка, не мог бы ты пристегнуть сюда исполняемый файл?

Очень хочу испытать, на скорость (в зависимости от чисел), и сравнить затем со своей прогой.
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
19.11.2009, 22:26  [ТС] #10
Андрейка, как я понял, сначала нужно прописать код, который ты скинул, а затем уже тот что выше, да?
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
20.11.2009, 11:16  [ТС] #11
Был бы благодарен, если б написали программу целиком.. не могу догнать что там к чему =)
0
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
20.11.2009, 15:01 #12
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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
 
main()
{
      srand(time(NULL));
      int i,n,j,k=0,maxi=0,max=0;
      printf("Vvedite kol-vo elementov massiva\n");
      scanf("%d",&n);
      int a[n];
      for(i=0;i<n;i++) {
                       a[i]=rand()%100;
                       printf("%d ",a[i]);
                       for (j=2;j<a[i];j++) if(a[i]%j==0) k+=1;//edenica i samo 4islo za deliteli ne s4iteyutsya
                       if (k>max) {max=k; maxi=i;}
                       k=0;
                       
                       }
      printf("\n");
      printf("Maksimalnoe kol-vo delitelei u %d elementa massiva ravnogo %d\n4islo delitelei ravno %d\n",maxi+1,a[maxi],max);
      
    system("PAUSE");
    
    
    
}
это на си. и без маллока.

Добавлено через 2 минуты
если 1 и само число тоже нужно считать делителями, то 15 строку программы надо переписать так
C
1
for (j=1;j<=a[i];j++) if(a[i]%j==0) k+=1;
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
27.11.2009, 12:43  [ТС] #13
Мне дано множество чисел (записанные в txt) и СРЕДИ НИХ нужно найти такое число, которое имеет максимальное кол-во делителей. То что вы мне предложили мне не подходит.. Андрей показал как ввести числа в массив, а вот что дальше делать я не пойму.. Помогите полностью дописать программу...
0
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.11.2009, 13:00 #14
VLAD1M1R, Уточните на примере:
Вот два числа : 16 и 6
16=2*2*2*2
6=2*3
У какого числа больше делителей в этом примере?
0
VLAD1M1R
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 55
27.11.2009, 13:05  [ТС] #15
у числа 16
0
27.11.2009, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2009, 13:05
Привет! Вот еще темы с ответами:

несложная программа - C#
Помогите написать программу: Создать меню с командами Input, Work, Exit. При выборе команды Exit приложение завершает работу. При...

Несложная программа - Visual C++
Нужно 10 точек вывести на экран.Вроде несложная задачка но не получается.Помогите пжл.Условие на фото.

Несложная программа. Заплачу. - Delphi
Доброго времени суток. Очень нужна Ваша помощь. Времени в обрез, а сдавать работу надо. Вот тут лежит описание программы:...

несложная программа по удалению символа - Visual C++
Запрограммировать процесс очистки текстовой строки от ненужного символа. Для этого на форме предусмотреть текстовое поле для исходной...


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

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

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