Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.10.2022
Сообщений: 10

В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных

09.11.2022, 02:03. Показов 1108. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в каждой строке двумерного массива поменять местами первый элемент и любой из максимальных
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2022, 02:03
Ответы с готовыми решениями:

В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных. В каждом столбце двумерного массива поменять местами после
В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных. В каждом столбце двумерного массива поменять...

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

В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных
С комментариями и объяснениями если не сложно, спасибо!

8
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
09.11.2022, 14:17
Python
1
2
3
4
5
6
import random
c = [[random.randint(0, 9) for _ in range(10)] for _ in range(10)]
print(c)
for l in c:
    l[l.index(max(l))], l[0] = l[0], l[l.index(max(l))]
print(c)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
10.11.2022, 09:26
Parramon, ну нехорошо же!! У тебя дважды вычисляется индекс максимума, а это дорогая операция! Сделал бы хоть так:

Python
1
2
3
4
for l in c:
    ima=l.index(max(l))
    l[ima], l[0] = l[0], l[ima]
print(c)
Переменные для того и придуманы...
4
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
10.11.2022, 09:31
Catstail, сорри, я в питоне недавно, поэтому такие вещи пока не замечаю. Просто в C# подобное делается немного по другому, поэтому там изначально один вызов max(). Учту на будущее, спасибо.
1
10.11.2022, 10:01

Не по теме:

Цитата Сообщение от Parramon Посмотреть сообщение
Просто в C# подобное делается немного по другому
- интересно, как это делается в C#? Я бы сделал так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  static void foo(int [,] arr)
  {
      int rows = arr.GetUpperBound(0);
      int cols = arr.GetUpperBound(1);
      int jma,t;  
      
      for (int i=0; i<rows; i++)
      {
          jma=0;
 
          for (int j=1; j<cols; j++)
              if (arr[i,j] > arr[i,jma]) jma=j;
 
          t=arr[i,0];
          arr[i,0]=arr[i,jma];
          arr[i,jma]=t;
 
      }
      
  }
Но допускаю, что linq позволяет найти позицию максимума одним вызовом. Так ее нужно запомнить в переменную, а потом использовать значение.

0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
10.11.2022, 10:06
Parramon, или можно так:
Python
1
2
3
4
5
6
import random
c = [[random.randint(0, 9) for _ in range(10)] for _ in range(10)]
print(c)
for l in c:
    l[i], l[0] = l[0], l[(i:=l.index(max(l)))]
print(c)
3
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
10.11.2022, 12:50
Catstail, я обычно делал через
C#
1
IList<T>.Reverse(index, 2)
0
 Аватар для VistaSV30
987 / 331 / 79
Регистрация: 10.04.2012
Сообщений: 1,241
Записей в блоге: 4
10.11.2022, 13:48
Вариант с NumPy
Python
1
2
3
4
5
6
7
8
9
10
import numpy as np
a = np.random.randint(1, 20, size=(5, 10))
print(a, '\n')
 
for i in range(a.shape[0]):
    x = a[i]
    x[[0, x.argmax()]] = x[[x.argmax(), 0]]
    a[i] = x
    
print(a)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
10.11.2022, 19:26
Цитата Сообщение от Parramon Посмотреть сообщение
Catstail, я обычно делал через
- ну да, что-то в этом роде я и имел в виду. Но сначала нужно найти индекс максимального элемента. И не искать его дважды.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2022, 19:26
Помогаю со студенческими работами здесь

В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных
Обработка исключительных ситуаций.Предусмотреть обработку ситуации,когда введены не числа в ячейки Stringgrid... &quot;В каждой...

В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных
Обработка исключительных ситуаций.Предусмотреть обработку ситуации,когда введены не числа в ячейки Stringgrid... &quot;В каждой строке...

В каждой строке двухмерного массива поменять местами первый элемент и любой из максимальных.
В каждой строке двухмерного массива поменять местами первый элемент и любой из максимальных.

В каждой строке двухмерного массива поменять местами первый элемент и любой из максимальных
В каждой строке двухмерного массива поменять местами первый элемент и любой из максимальных. как сделать в цикл ? чтоб проверял каждую...

Матрица. В каждой строке поменять местами первый элемент и любой из максимальных
В каждой строке двумерного массива поменять местами первый элемент и любой из максимальных! p.s. как я понял надо, найти в каждой строке...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru