Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 17
1

Нахождение чисел делящихся на 7 в интервале

01.10.2014, 23:16. Просмотров 647. Ответов 7
Метки нет (Все метки)

Добрый вечер. Сразу прошу прощения, если не правильно оформил пост и/или написал не в том разделе.
Помогите, пожалуйста, написать код программы. программа - курсовая работа.
Нужно очень срочно. завтра идти на пересдачу. Кого из однокурсников не спрашивал никто не понимает как это реализовать (то, что желтым цветом в задании).

Заранее огромное спасибо!

Язык программирования: C
Компилятор: CodeBloks 13.12

Задание: (переведено с литовского языка)
Дано натуральное число n. Напишите программу которая считает какие числа в интервале [2n;3(n+1)] делятся на 7. Перевести их в троичную систему счисления. [ Высчитать в каких числах (в троичной системе счисления) четное количество 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    int n, a, b, *c, *d, f, g, i, j;
    long h, *e;
    printf("Sveiki.\n");
    printf("Sita programa yra kursinis darbas .\n");
    printf("\n");
    printf("Iveskite 'n' skaici:\n"); // Введите натуральное число n
    scanf("%d",&n);
    a=2*n;
    b=3*(n+1);
    printf("Intervale [2n;3(n+1)] yra sitie naturali skaiciai:\n"); // В интервале вот эти натуральные числа
    c=(int*) malloc(b*sizeof(int));
    d=(int*) malloc(b*sizeof(int));
    e=(int*) malloc(b*sizeof(int));
    for (i=0; i<=b; i++) {
        *(c+i)=a+i;
        printf("%d,", *(c+i));
    }
    printf("\n");
    printf("\n");
    printf("Intervale [2n;3(n+1)] yra sitie naturali skaiciai kurie dalinasi is 7:\n"); // В интервале вот эти натуральные числа делятся на 7
 
    for (i=0; i<=b; i++) {
        if (*(c+i)%7==0)
        {
            *(d+i)=*(c+i);
 
        }
    else {*(d+i)=0;}
 
 
        if (*(d+i)!= 0)
        {
            printf("%d,", *(d+i));
        }
 
    }
    printf("\n");
    printf("nanananananna \n");
    if (*(d+i)!= 0)
        {
            for(j=0;g > 0;j++)
     {
        f = *(d+i) % 3;
        g = (*(d+i)-f)/3;
        h = f * pow(10,j);
     *(e+j)= h;
     printf("\n");
     printf("%d", *(e+j) );
     }
        }
// какая-то ересь. перевод в троичную систему счисления не получился
    for(j=0;g > 0;j++)
     {
        f = *(d+i) % 3;
        g = (*(d+i)-f)/3;
        h = f * pow(10,j);
     *(e+j)= h;
     printf("\n");
   //  printf("%d", *(e+j) );
     }
 
 
    printf("\n");
    printf("\n");
    printf("\n");
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2014, 23:16
Ответы с готовыми решениями:

Найти натуральные числа делящихся нацело на заданные числа и находящихся в заданном интервале
Найти 20 первых натуральных чисел, делящихся нацело на 13 или на 17, и находящихся в интервале,...

В линейном списке целых чисел найти среднее арифметическое нечётных чисел, делящихся на 5
Требуется создать линейный список целых чисел, элементами которого являются случайные целые числа и...

Найти 15 первых натуральных чисел, делящихся на 19
Найти 15 первых натуральных чисел, делящихся на 19. Левая граница интервала поиска равна 141....

Найти 15 натуральных чисел, делящихся нацело на 19
Здравствуйте! Помогите написать программу на Си, чтобы она находила 15 натуральных числа, которые...

7
1462 / 1170 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
02.10.2014, 09:52 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
main ()
{
    unsigned n,i,i3;
    char *s,str[50]="";
 
    printf("n: ");
    scanf("%u",&n);
    for(i=2*n; i<=3*(n+1); i++)
    if(!(i%7))
    {
        s=str+49;
        for(i3=i; i3; i3/=3) *--s=48+i3%3;
        printf("i=%u 3-e=%s\n",i,s);
    }
}
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 17
02.10.2014, 14:20  [ТС] 3
Спасибо!) Но это что и с чем это едят

Добавлено через 1 час 55 минут
Разобрался) Вы меня не так поняли. что бы найти числа я уже написал код а вот как их перевести в троичную систему счисления до меня не доходит.
0
1462 / 1170 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
02.10.2014, 14:24 4
строки 11-12
s=str+49;
for(i3=i; i3; i3/=3) *--s=48+i3%3;
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 17
02.10.2014, 15:43  [ТС] 5
Что-то у меня не получается вставить в свой код. нужно чтоб он брал числа из массива и вкладывал в другой массив уже переведённые числа.
0
1462 / 1170 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
02.10.2014, 15:54 6
бред, просто для справки: все числа в компе - 2е, по адресу s - срока(набор символов) "переведенного" числа для монитора/принтера/плоттера/забора ....
1
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 17
02.10.2014, 16:10  [ТС] 7
Согласен. У меня препод с тараканами в голове. я до того как получил задание даже не знал что существует троичная система счисления. Помогите, пожалуйста, подогнать код перевода чисел под мой код с массивами. буду бесконечно благодарен.
0
1462 / 1170 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
02.10.2014, 16:21 8
i3 - десятичный аналог i, "переведенного" в 3-ю систему
C
1
2
3
4
5
6
7
8
9
10
11
12
13
main ()
{
    unsigned n,i,j,i3,m;
 
    printf("n: ");
    scanf("%u",&n);
    for(i=2*n; i<=3*(n+1); i++)
    if(!(i%7))
    {
        for(i3=0, m=1, j=i; j; j/=3, m*=10) i3+=j%3*m;
        printf("i=%u i3=%u \n",i,i3);
    }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2014, 16:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти сумму чисел, делящихся на 3 или на 7
доброго времени суток, Дана последовательность целых чисел {Aj} произвольной длины. Найти сумму...

найти кол-во натур. чисел в интервале от 1 до 241 делящихся на 13
найти кол-во натур. чисел в интервале от 1 до 241 делящихся на 13

Найдите сумму всех чисел, делящихся на 13 в интервале [1;1000]
Пожалуйста, Найдите сумму всех чисел, делящихся на 13 в интервале

найти количество чисел в интервале от 1 до N, делящихся на сумму своих цифр
дано число N. найти количество чисел в интервале от 1 до N, делящихся на сумму своих цифр.


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

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

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