11 / 11 / 8
Регистрация: 18.09.2012
Сообщений: 514
1

Определить, есть ли в некотором столбце массива хотя бы один элемент, кратный заданному числу

07.02.2018, 20:48. Показов 1586. Ответов 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
static void Main(string[] args)
        {
            int [,] array = new int [6,6];
            Random rnd = new Random();
            Console.WriteLine("Вывод массива.");
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    array[i, j] = rnd.Next(15);
                    Console.Write("{0}\t",array[i,j]);
                }
                Console.WriteLine("\n");
            }
            Console.WriteLine("Введите число для проверки кратности.");
            int x = Convert.ToInt32(Console.ReadLine());
            int d = 0;
            int d1 = 0;
            int f = 1;
                int f1 = 0;
            while (d < 6 && d1 == 0)
            {
                
                while (f < 6 && d1 == 0)
                
                    if (array[f, d] % x == 0)
                        d1 = 1;
                    else
                        d = d + 1;
                    if (f1 != 0)
                        d1 = 1;
                    else
                        d = d + 1;
                
            }
            if (d1 == 0)
                Console.WriteLine("Чисел кратных {0} нет в столбцах матрицы.", x);
            else
                Console.WriteLine("Число кратное {0} находится в ячейке a[{1},{2}]",x,f1,d1);
 
            Console.ReadLine();
 
        }
но элемент находит не правильно. Подскажите как исправить алгоритм чтобы он правильно кратное число находил?

Добавлено через 2 минуты
Пример взял отсюда
Определить, есть ли в некоторой строке массива хотя бы один элемент, равный заданному числу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2018, 20:48
Ответы с готовыми решениями:

Есть ли в некотором столбце массива хотя бы один элемент, равный нулю.
Дан двухмерный массив целых чисел. Составить программу, которая определяет, есть ли в некотором...

Определить, есть ли в некоторой строке массива хотя бы один элемент, равный заданному числу
Дан двумерный массив целых чисел. Составить программу: а)которая определяет, есть ли в некоторой...

Необходимо определить, есть ли в указанной строке хотя бы один элемент, равный заданному числу
Дан двумерный массив n×m элементов, заполненный целыми числами. Также заданы число a и номер строки...

Определить номера строк массива, хотя бы один элемент которых равен заданному числу Х
Задан двумерный массив чисел(таблица) размерности (NxМ). Определить номера строк массива, хотя бы...

2
Эксперт .NET
5865 / 4742 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
07.02.2018, 21:31 2
Цитата Сообщение от pirat2k Посмотреть сообщение
есть ли в некотором столбце массива хотя бы один элемент, кратный заданному числу
как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Console.WriteLine("Введите индекс столбца (0...5).");
int col = int.Parse(Console.ReadLine());
Console.WriteLine("Введите число для проверки кратности.");
int x = Convert.ToInt32(Console.ReadLine());
bool have = false;
for (int i = 0; i < array.GetLength(0); i++)
{
    if (array[i, col] % x == 0)
    {
        have = true;
        break;
    }
}
if (have)
    Console.WriteLine("Число, кратное {0}, есть в столбце {1} матрицы.", x, col);
else
    Console.WriteLine("Числа, кратного {0}, нет в столбце {1} матрицы.", x, col);
1
4 / 4 / 3
Регистрация: 01.12.2015
Сообщений: 14
08.02.2018, 10:22 3
или по всем столбцам:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Console.WriteLine("Введите число для проверки кратности.");
int x = Convert.ToInt32(Console.ReadLine());
bool have = false;
int ResultColumn = 0;
for (int col=0; col < array.GetLength(1); col++)
{
    for (int i = 0; i < array.GetLength(0); i++)
    {
       if (array[i, col] % x == 0)
       {
           have = true;
           ResultColumn = col;
           break;
       }
     }
    if (have) break;
}
if (have)
    Console.WriteLine("Число, кратное {0}, есть в столбце {1} матрицы.", x, ResultColumn );
else
    Console.WriteLine("Числа, кратного {0}, нет в столбце {1} матрицы.", x, ResultColumn );
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2018, 10:22
Помогаю со студенческими работами здесь

Определить номера строк массива, хотя бы один элемент которых равен заданному числу Х.
1. Задан прямоугольный массив А целых чисел(таблица). Определить четный наибольший элемент массива...

Составить программу, которая определяет, есть ли в некоторой строке массива хотя бы один элемент, равный заданному числу;
1. Дан двухмерный массив целых чисел. Составить программу, которая определяет, есть ли в некоторой...

Определить, есть ли хотя бы 1 элемент, равный заданному числу на главной диагонали квадратного массива
Составить программу, которая определяет, есть ли хотя бы один элемент, равный заданному числу на...

Определить, если ли в одномерном целочисленном массиве хотя бы один элемент, кратный а и кратный b
Заданы два натуральных числа a и b. Переменной w присвоить значение истина, если в одномерном...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru