Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
5 / 5 / 6
Регистрация: 05.11.2013
Сообщений: 91

НОД и НОК, двумерный массив

15.11.2014, 12:17. Показов 1342. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребзяяя, помогите, есть прога на нахождение наибольшего общего делимого(НОД) и наибольшего общего кратного(НОК). Но заданна как в двумерном массиве.
вот то что было
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите массив целых положительных чисел через пробел");
            String[] ss = Console.ReadLine().Split(' ');
            int[] arr = new int[ss.Length];
            for (int i = 0; i < arr.Length; i++) arr[i] = Int32.Parse(ss[i]);
 
            int nok = arr[0];
            int nod = nok;
 
            for (int i = 1; i < arr.Length; i++)
            {
                nod = getNOD(nod, arr[i]);
                nok = getNOK(nok, arr[i]); // функции getNOK и getNOD для двух чисел
            }
 
            Console.WriteLine("Для массива НОД = {0}, НОК = {1}", nod, nok);
            Console.ReadLine();
        }
 
        // Возвращает наибольший общий делитель двух целых положительных чисел
        static int getNOD(int a, int b) {
            for (int i = (int) Math.Sqrt(Math.Max(a, b)); i >= 2; i--) 
                 if (((a % i) == 0) & ((b % i) == 0)) {
                    return i;
                 }
            return 1;
        }
 
        // Возвращает наименьшее общее кратное двух целых положительных чисел
        static int getNOK(int a, int b)
        {
            return (int) a * b / getNOD(a, b);
        }
    }
}

и вот что я пытался исправить, но ошибкииии...
помогите кто сможет

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            const int m = 3, n = 3;
            int j = 0;
            int i = 0;
            int[,] a = new int[m, n] 
            {
            {2,4,6},
            {8,10,12},
            {14,16,18}
        };
            Console.WriteLine("Исходный массив");
 
            for (i = 0; i < m; i++)
            {
 
                for (j = 0; j < n; j++) ;
                Console.Write(" " + a[i, j]);
                Console.WriteLine();
 
            }
 
 
            {
                int nok = a[0, 0];
                int nod = nok;
                nod = getNOD(nod, a[i,j]);
                nok = getNOK(nok, a[i,j]);
 
            }
 
            /*Console.WriteLine("Для массива НОД = {0}, НОК = {1}", getNOK, getNOD);
            Console.ReadLine();*/
        }
 
 
 
        static int getNOD(int c, int b)
        {
            for (int i = (int)Math.Min(c, b); i > 1; i--)
                if (((c % i) == 0) & ((b % i) == 0))
                {
                    return i;
                }
            return 1;
        }
 
 
        static int getNOK(int c, int b)
        {
            return (int) c * b / getNOD(c, b);
        
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.11.2014, 12:17
Ответы с готовыми решениями:

Вычислить НОК, НОД
Доброго времени суток, Подскажите, как вычислить НОК и НОД для некоторых чисел в общем классе. Данные массива берутся из текстового файла.

Нахождение НОД И НОК
Необходимо создать отдельный класс, в котором рассчитывается НОД И НОК для чисел. В общем классе все сделать могу, а отдельным классом не...

НОД и НОК элементов массива
Всем доброго времени суток. Задача: Составить программу нахождения НОД (НОК) элементов массива Нахождение НОД и НОК двух чисел...

1
814 / 422 / 169
Регистрация: 08.02.2013
Сообщений: 711
15.11.2014, 12:31
stas14141, нужно вычислить единые нок и нод для всех чисел? Просто сделайте foreach
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static void Main()
{
    int[,] a = { { 2, 4, 6 }, { 8, 10, 12 }, { 14, 16, 18 } };
    int gcd = a[0, 0], lcm = 1;
    foreach (var x in a)
    {
        gcd = getNOD(gcd, x);
        lcm = getNOK(lcm, x);
    }
 
    Console.WriteLine("gcd = {0} lcm = {1}", gcd, lcm);
    Console.ReadLine();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2014, 12:31
Помогаю со студенческими работами здесь

Разработать 4 метода вычисления НОД и НОК
Разработать 4 метода вычисления наибольший общего делитель и наибольшее общее кратное двух заданных c клавиатуры натуральных чисел. Что...

Нахождение НОД и НОК в длинной арифметике
Всем привет. Дали задание написать программу для нахождения НОД и НОК двух чисел, но в длинной арифметике, т.е. чтобы НОД и НОК находились...

Составить программу для НОД и НОК
Приветствую друзья, помогите пожалуйста. Желательно с объяснениями. Составить программу для нахождения наибольшего общего делителя и...

НОД, НОК - программа выдает неверные результаты
помогите! почему программа не правильно работает? :) private static void ebob_ekob(int eded1,int eded2,int ebob,int ekob,int n,int m) ...

Найти НОД и НОК двух целых чисел
1.1. Циклические программы. Найти наибольший общий делитель и наименьшее общее кратное двух целых чисел.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru