Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
3 / 3 / 2
Регистрация: 10.03.2013
Сообщений: 80

Дана матрица размера M × N. Поменять местами столбец с номером 1 и последний из столбцов, содержащих только положительные элементы. Если требуемых

13.06.2013, 20:46. Показов 4318. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу найти ошибку((
Дана матрица размера M × N. Поменять местами столбец с номером 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
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
 
            int[,] a = new int[5, 5];
            Random rn = new Random();
            for (int i = 0; i < a.GetLength(0); i++)
                for (int j = 0; j < a.GetLength(1); j++)
                    a[i, j] = rn.Next(-9, 9);
            {
                Console.WriteLine("Исходный массив: ");
            }
 
            {
                for (int i = 0; i < a.GetLength(0); i++)
                {
                    for (int j = 0; j < a.GetLength(1); j++)
                        Console.Write(" " + a[i, j]);
                    Console.WriteLine();
                }
                Console.WriteLine("---------");
            }
 
            int k = a[0, 4];
          for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                    
                    {
                        k = a[0,i];
                        a[0,i] = a[4,i];
                       a[4,i] = k;
                    }
            }
                Console.WriteLine();
                Console.WriteLine("Полученный массив");
                for (int i = 0; i < a.GetLength(0); i++)
                {
                    for (int j = 0; j < a.GetLength(1); j++)
 
                        Console.Write(" " + k);
                    Console.WriteLine();
                }
 
                Console.Read();
            }
        }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2013, 20:46
Ответы с готовыми решениями:

Дана матрица размера М×N. Удалить её последний столбец
Помогите пожалуйста исправить ошибки ещё в одной задачи ну или заново написать её! 4. Дана матрица размера М×N. Удалить её...

Дана матрица размера N×M. Поменять местами столбцы
Есть такая вот задачка. На мой взгляд, должна работать.Компилятор выдает исключение(индекс за границы), да и сама прога работает...

Дана матрица размера N×M. Поменять местами столбцы матрицы с min и max суммой положительных элементов
Здравствуйте задали написать код, и я не понимаю как сделать, всё что смог написал, но дальше я не понимаю. Нужно поменять местами...

3
54 / 54 / 23
Регистрация: 02.09.2009
Сообщений: 285
13.06.2013, 21:41
не вижу где у вас проверка на то, что все элементы столбца неотрицательны
0
3 / 3 / 2
Регистрация: 10.03.2013
Сообщений: 80
13.06.2013, 21:54  [ТС]
Цитата Сообщение от freeelijah Посмотреть сообщение
не вижу где у вас проверка на то, что все элементы столбца неотрицательны
действительно нет. но мне хотя бы просто сделать, чтобы менял первый и последний. просто понять алгоритм
0
 Аватар для memphis
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 564
13.06.2013, 23:09
Проверяйте:
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
75
using System;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void PrintArr(int[,] a)
        {
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                    Console.Write("{0}\t", a[i, j]);
 
                Console.WriteLine();
            }
        }
 
        static void ExchangeColumn(int[,]a, int c1, int c2)
        {
            int tmp;
 
            for (int i = 0; i < a.GetLength(0); i++)
            {
                tmp = a[i, c1];
                a[i, c1] = a[i, c2];
                a[i, c2] = tmp;
            }
        }
 
        static void Main()
        {
            int i = 5;
            int j = 7;
            int[,] arr = new int[i, j];
 
            Random rn = new Random();
 
            for (i = 0; i < arr.GetLength(0); i++)
                for (j = 0; j < arr.GetLength(1); j++)
                    arr[i, j] = rn.Next(-2, 10);
            
            Console.WriteLine("Исходный массив: ");
            PrintArr(arr);
            Console.WriteLine();
 
            // Ищем последний столбец по заданию.
            bool isPos;
            for (j = arr.GetLength(1) - 1; j > 0; --j)
            {
                isPos = true;
                for (i = 0; i < arr.GetLength(0); i++)
                {
                    if (arr[i, j] < 0)
                    {
                        isPos = false;
                        break;
                    }
                }
 
                if (isPos)
                    break;
            }
 
            if (j == 0)
                Console.WriteLine("Требуемых столбцов не нашлось.");
            else
                ExchangeColumn(arr, 0, j);
            
            Console.WriteLine("Полученный массив");
            PrintArr(arr);
 
            Console.Read();
        }
    }
}
Добавлено через 1 час 5 минут
Ошибочка. Строка 54 должна быть: if (arr[i, j] < 1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.06.2013, 23:09
Помогаю со студенческими работами здесь

Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы
Дана матрица размера M × N (M и N — четные числа). Поменять местами левую верхнюю и правую нижнюю четверти матрицы. Сегодня уже пишу...

Поменять местами первый и последний столбцы матрицы, содержащие только положительные элементы
Здравствуйте! Пишу код using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace...

В матрице поменять местами столбец с номером N с тем, который содержит только отрицательные элементы
Вот эта не понятная. Есть решение у кого? Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов,...

Дана матрица размера M × N. Поменять местами столбец с номером 1 и последний из столбцов, содержащих только положительные элементы.
Matrix53°. Дана матрица размера M × N. Поменять местами столбец с номером 1 и последний из столбцов, содержащих только положительные...

Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы.
Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо: Дана матрица размера MxN. Поменять местами...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru