Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87

Алгоритмы и языки и МЫ

07.03.2023, 01:00. Показов 4547. Ответов 33

Студворк — интернет-сервис помощи студентам
Алгоритмы и языки и МЫ

В данной теме размещаем простые алгоритмы на 8 языках
например:

c++ _ C# _ python _ javascript _ qb64 _ VB _ java _ php

или хотя бы минимум на 3-х языках одновременно
и сразу желательно проверяемые в онлайн компиляторе Rextester.com

Плюс важно сообщать какие алгоритмы показывает пример
например:
изучаются циклы случайные сортировка печать сравнение вывод в файл

Отличие от Rosettacode.org: здесь алгоритмы очень краткие

Добавлено через 4 минуты
Программа Функция функций включает:
корень степень экспонента логарифмы
тригонометрия и радианы из градусов
на 3-х языках python c# c++

Контрольный пример при x=90 y=1322 примерно


Python
https://rextester.com/EGXCM83414

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import math # funp.py
def funp(x): # rextester.com/EGXCM83414
    rad = x * math.pi / 180
    a = x ** (1 / 4)
    b = x**(1/2) #; print (b)
    c = math.cos(rad); print(c)
    d = math.log10(x) #; print (d)
    e = math.exp(b)
    f = math.log(x,math.exp(1))    
    return a + b + c + d + e + f
 
x = 90
y = funp(x) 
print(x, y)


C++
https://rextester.com/EKC21250

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> // func.cpp
#include <cmath> // rextester.com/EKC21250
using namespace std; 
 
double func(double x)
{ double rad,a,b,c,d,e,f,func;
    rad = x * M_PI / 180;
    a = pow(x, 1/4);
    b = sqrt(x);  // cout << b << endl;
    c = cos(rad);    cout << c << endl;
    d = log10(x); // cout << d << endl;
    e = exp(b);
    f = log10(b) * log(e);
    func = a + b + c + d + e + f;
    return func;
}
 
int main()    
{ double x = 90.; 
    cout << x << "     " << func(x) << endl;
    system("pause");
}


C#
https://rextester.com/PYG11940

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System; // funx.cs
namespace funx1 { class funx2 
{ static void Main(string[] args)
{ double x = 90; // rextester.com/PYG11940
    Console.WriteLine("{0}  {1}", x, funx(x));
    Console.ReadKey();
}
 
public static double funx(double x)
  { double rad,a,b,c,d,e,f,funx;
    rad = x * Math.PI / 180;
    a = Math.Pow (x,1/4);
    b = Math.Sqrt(x);  // Console.WriteLine(b);
    c = Math.Cos(rad);    Console.WriteLine(c);
    d = Math.Log10(x); // Console.WriteLine(d);
    e = Math.Exp(b);
    f = Math.Log10(b) * Math.Log(e);
 
    return funx = a + b + c + d + e + f;
  }
}}
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.03.2023, 01:00
Ответы с готовыми решениями:

Какие языки знают все школьники и языки, которые знает хотя бы один из школьников
Каждый из N школьников некоторой школы знает Mᵢ языков. Создайте приложение, которое будет определять, какие языки знают все школьники и...

Определите, какие языки знают все школьники и языки, которые знает хотя бы один из школьников
Здравствуйте. Помогите пожалуйста решить задачу: Каждый из N школьников некоторой школы знает Mi языков. Определите, какие языки знают...

Интерпретируемые языки VS Компилируемые языки
Я лично не смог вспомнить чем хоть один из них, лучше другого :) Хотя возможно скоростью

33
WH
1588 / 816 / 192
Регистрация: 10.09.2013
Сообщений: 3,261
Записей в блоге: 3
07.05.2023, 11:48
Студворк — интернет-сервис помощи студентам
Простая дихотомия?

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program test
implicit none
integer :: a, b, c, x, i=0
real    :: f
 
 call random_number(f); x = int(f * 1.0e+9)
 a = 0; b = 1000000000; c = (a + b) / 2
 
    do while (c /= x)
        if (c > x) then         
            b = c; c = (a + b) / 2
        else 
            a = c; c = (a + b) / 2
        end if  
    i = i + 1
    end do
 
print*, i, c, x
end program test
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
09.05.2023, 12:12  [ТС]
Milliard Fortran https://jdoodle.com/a/6cWF
онлайн компилятор для записи: вход через гугл
там повторена строка выводящая промежуточные результаты

Программа Python Миллиард https://jdoodle.com/a/6bRC
угадывающая 1 из 1'000'OOO'ooo https://rextester.com/GWJFOO4393
или Quadrillion угадывает квадриллион

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import random # milliardp.py
h1=0; h2=10**16;t=0; f=0
c = random.randrange(0,h2) #comp
h = random.randrange(0,h2) #human
while f<1:
    print(t,c,h)
    if h<c:
        print('MORE')
        a=h
        h=int((h+h2)/2)
        h1=a
    elif h>c:
        print('less')
        a=h
        h=int((h1+h)/2)
        h2=a
    else:
        print('win by', t, 'steps')
        f=1
    t+=1
Онлайн Питон Python встраивается на некоторые сайты:

https://trinket.io/embed/python/adae4501bd
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
16.05.2023, 15:14
Цитата Сообщение от DAV78 Посмотреть сообщение
Программа Python
Чуть поправил (зачем флаги? зачем временные переменные? в Python можно и без них сделать
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random
h1, h2 = 0, 10 ** 16
t = 0
c = random.randrange(h1, h2)
h = (h1 + h2) // 2
while h != c:
    print(f'Step {t}, c = {c}, h = {h}')
    if h < c:
        #print('MORE')
        h, h1 = (h + h2) // 2, h
    elif h > c:
        #print('less')
        h, h2 = (h1 + h) // 2, h
    t += 1
print(f'c = {h}, win by {t} steps')
Добавлено через 1 час 12 минут
А лучше так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random
low, high = 0, 10 ** 16
steps = 0
c = random.randrange(low, high + 1)
while low <= high:
    mid = (low + high) // 2
    steps += 1    
    print(f'Step {steps}: c = {c}, low = {low}, mid = {mid}, high = {high}')
    if mid < c:
        low = mid + 1
    elif mid > c:
        high = mid - 1
    else:
        print(f'c = {mid}, win by {steps} steps')
        break
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
23.05.2023, 11:11  [ТС]
Предыдущий вариант онлайн https://rextester.com/LKKJ31409

Сегодня Milliard JavaScript

HTML5
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
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Milliard JavaScript</title> </head> <body> <noscript>Vkluch JS</noscript>
 
https://rextester.com/PYYQS76244
 
<script>
 
h2=1000000000, h1=0, f=0, t=0, a=0 // Milliard.js
comp = Math.floor(Math.random() * h2)
human = Math.floor(Math.random() * h2)
while (f<1) 
{ document.write("<br/>" + t + " " + comp + " " + human)
if(comp < human)
    { document.write(" MORE") 
      a=comp; comp = Math.floor((comp+h2)/2); h1=a}
else if(comp > human)
    { document.write(" less") 
      a=comp; comp = Math.floor((h1+comp)/2); h2=a}
else { document.write(" win by " + t + " steps "); f=1}
t++}
 
</script>
 
</body> </html>
https://rextester.com/PYYQS76244

https://jdoodle.com/h/2Ul
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
30.05.2023, 19:19  [ТС]
Milliard C# угадывает 1 из 1'234'567'890
за количество шагов логарифмическое
N = LOG(10^9;2) = 30 и 10^3 = 2^10

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System; // milliardx.cs
namespace DANILIN { class Program
{ static void Main(string[] args)
{ Random rand = new Random();int t=0;
int h2=1234567890; int h1=0; int f=0; int a;
int comp = rand.Next(h2);
int human = rand.Next(h2);
while (f<1)
{ Console.WriteLine(); 
Console.Write("{0} {1} {2}", t, comp, human); 
if(comp < human)
{ Console.Write(" MORE");
a=comp; comp=(comp+h2)/2; h1=a; }
else if(comp > human)
{ Console.Write(" less");
a=comp; comp=(h1+comp)/2; h2=a;}
else {Console.Write(" win by {0} steps", t);f=1;}
t++; }
Console.ReadKey();
}}}

https://jdoodle.com/a/6bSk

https://rextester.com/DYVZM84267
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
13.09.2025, 22:44  [ТС]
Краткое содержание предыдущих сообщений:

На языках Python C++ C# JavaScript JS qbasic qb64
рассмотрены алгоритмы:

Функции
Простые числа
Угадывает число из миллиарда 10^9

Всякий раз проверяемо онлайн

Если некоторые онлайн компиляторы недоступны
добавлены ссылки на дополнительный компилятор
1-й в списках


Функции

Функции Python
https://ideone.com/Fu3VNn
https://rextester.com/EGXCM83414

Функции C++
https://ideone.com/iAIYrD
https://rextester.com/EKC21250

Функции C#
https://ideone.com/Nid1Fm
https://rextester.com/PYG11940

Функции JavaScript JS
https://ideone.com/FkB4wR
https://jdoodle.com/h/2Uj
https://rextester.com/HIQL79958

Функции qb64


Простые числа случайные распознаёт
либо вычисляет множители

Простые C++
https://ideone.com/oJ3EaL
https://ideone.com/Pi46x9
https://jdoodle.com/a/61FC
https://rextester.com/YDXE69472

Простые JavaScript JS
https://ideone.com/7gRbg8
https://ideone.com/Uv7iiX
https://jdoodle.com/h/2UZ
https://jdoodle.com/h/2V1

Простые C#
https://ideone.com/UDJI6Q
https://ideone.com/EIVcdL
https://rextester.com/VBXFL2777

Простые Python
https://ideone.com/3jRpTC
https://ideone.com/K2AsfH
https://rextester.com/QFZD94890
https://rextester.com/AAOHQ6342

Простые qbasic
https://jdoodle.com/a/696G

Простые Eratosfen Fortran
https://jdoodle.com/a/68X8


Угадывает число из миллиарда 10^9
за ходы логарифмические =log(10^9;2)=30

Миллиард C++
https://ideone.com/laXtmK
https://ideone.com/Gg7YS8
https://jdoodle.com/a/6bQN
https://rextester.com/QZEGM92902

Миллиард Fortran
https://jdoodle.com/a/6cWF

Миллиард Python
https://ideone.com/PKmrGV
https://jdoodle.com/a/6bRC
https://rextester.com/GWJFOO4393
https://trinket.io/embed/python/adae4501bd

Миллиард JavaScript JS
https://ideone.com/zTym9X
https://ideone.com/oeeXau
https://jdoodle.com/h/2Ul
https://rextester.com/PYYQS76244

Миллиард C#
https://ideone.com/zer1oF
https://ideone.com/E8pOqh
https://jdoodle.com/a/6bSk
https://rextester.com/DYVZM84267


Далее можем рассмотреть Универсальный алгоритм
Universal изучающий:

вывод на экран
ввод с клавиатуры
размер массива
массив 1-мерный
массив 2-мерный
случайные
сортировка
математика
цикл for
условие
цикл while
вывод в файл
считать из файла
таймер

Другие алгоритмы:

Сортировка 2-мерных массивов
Фибо Fibo
Рюкзак KnapSack
Ребус букв Криптарифма Альфаметик

Всякий раз проверяемо онлайн
0
Модератор
Эксперт функциональных языков программирования
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
15.09.2025, 14:23
Цитата Сообщение от DAV78 Посмотреть сообщение
Milliard C# угадывает 1 из 1'234'567'890
за количество шагов логарифмическое
Не угадывает (не всегда угадывает).
Миниатюры
Алгоритмы и языки и МЫ  
0
WH
1588 / 816 / 192
Регистрация: 10.09.2013
Сообщений: 3,261
Записей в блоге: 3
15.09.2025, 15:45
Цитата Сообщение от DAV78 Посмотреть сообщение
сортировка
Быстрая сортировка от А. Маркуса, язык фортран. Работает очень быстро, рекомендую попробовать. Но в онлайн компиляторе это работать не будет, нужен как минимум gfortran на своем компе.

Fortran
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
! qsort_reals.f90 --
!
!     Example belonging to "Modern Fortran in Practice" by Arjen Markus
!
!     This work is licensed under the Creative Commons Attribution 3.0 Unported License.
!     To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
!     or send a letter to:
!     Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
!
!     Compact implementation of the QuickSort algorithm
!
!     Note:
!     Because the function uses Fortran 90 features, its interface should be made
!     explicit when using it in an actual program. This is easiest via a module.
!
module qsort_functions
implicit none
 contains
recursive function qsort_reals( data ) result( sorted )
    real, dimension(:), intent(in) :: data
    real, dimension(1:size(data))  :: sorted
 
    if ( size(data) > 1 ) then
        sorted = &
            (/ qsort_reals( pack( data(2:), data(2:) > data(1) ) ), &
               data(1),                                             &
               qsort_reals( pack( data(2:), data(2:) <= data(1) ) ) /)
    else
        sorted = data
    endif
end function qsort_reals
end module qsort_functions
 
 
!Тестирующая программа
program sort
use qsort_functions
implicit none
real, dimension (10000000) :: a
 
    call random_number(a)
    a = qsort_reals(a)
 
end program sort
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
16.09.2025, 05:15  [ТС]
Зная на чём споткнулся ИИ число именно 1048773993
легко проверить в другие компиляторы онлайн
и заодно проверить за секунды простое ли 1048773993
https://ideone.com/ZzVYxO

Онлайн Фортран Qsort https://ideone.com/u6NN5D
Оформить бы как в теме Сортировка половинами

Русская сортировка половинами (в простонародье сортировка Таноса)
там см. результаты

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

Вообще сортировка имелась в виду пузырьковая
дабы сортировать мелочь типа матрицы внутри программ

Поэтому сегодня программа сортирующая матрицу по строкам и столбцам


Матрица сортировка C#

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; // matrixsortx.cs
namespace matrixsort
{ class matrixsort
{ static void Main(string[] args)
 
{ Random rand = new Random(); int i,j,k,t; int n=3, m=5; 
  int[,] a = new int[n,m]; int[,] b = new int[n,m];
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++)
    { a[i,j] = rand.Next(9); b[i,j]=a[i,j];
        Console.Write(a[i,j]+" ");       
    } Console.WriteLine();
  }
Console.WriteLine();
 
for (i=0; i<n; i++)
  for (j=0; j<m-1; j++)
    for (k=j+1; k<m; k++)
      if (a[i,j]>a[i,k]) { t=a[i,j]; a[i,j]=a[i,k]; a[i,k]=t;}
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++) Console.Write(a[i,j]+" ");
        Console.WriteLine();
  }
Console.WriteLine();
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++) Console.Write(b[i,j]+" ");
        Console.WriteLine();
  }
Console.WriteLine();
 
for (j=0; j<m; j++)
  for (i=0; i<n-1; i++)
    for (k=i+1; k<n; k++)
      if (b[i,j]>b[k,j]) { t=b[i,j]; b[i,j]=b[k,j]; b[k,j]=t;}
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++) Console.Write(b[i,j]+" ");
        Console.WriteLine();
  }
Console.WriteLine();
Console.ReadKey();
}}}

https://rextester.com/JSYB65969
https://ideone.com/4i9BlO

Заодно видим: листинг включает название для сохранения

Результаты вида:

Code
1
2
3
4
5
6
7
    0 8 2 6 8   0 2 6 8 8 
    8 1 5 0 1   0 1 1 5 8 
    7 2 8 2 1   1 2 2 7 8 
    
    0 8 2 6 8   0 1 2 0 1 
    8 1 5 0 1   7 2 5 2 1 
    7 2 8 2 1   8 8 8 6 8
Хотелось бы увидеть встроенную qsort
тогда программа должна быть короче
0
 Аватар для abit
867 / 526 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
01.10.2025, 01:25
Матрица сортировка C#
Rust
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
76
77
78
79
80
81
82
use std::time::{SystemTime, UNIX_EPOCH};
 
struct SimpleRng {
    state: u64,
}
 
impl SimpleRng {
    fn new(seed: u64) -> Self {
        Self { state: seed }
    }
    
    fn next(&mut self) -> u32 {
        const A: u64 = 1664525;
        const C: u64 = 1013904223;
        const M: u64 = 1 << 31;
        
        self.state = (A.wrapping_mul(self.state).wrapping_add(C)) % M;
        (self.state % 10) as u32
    }
}
 
fn main() {
    let n = 3;
    let m = 5;
 
    let seed = SystemTime::now()
        .duration_since(UNIX_EPOCH)
        .unwrap()
        .as_nanos() as u64;
    let mut rng = SimpleRng::new(seed);
 
    let a: Vec<Vec<u32>> = (0..n)
        .map(|_| (0..m).map(|_| rng.next()).collect())
        .collect();
    
    let b = a.clone();
 
    println!("A:");
    a.iter().for_each(|row| {
        row.iter().for_each(|&val| print!("{} ", val));
        println!();
    });
    println!();
 
    let sorted_a: Vec<Vec<u32>> = a
        .iter()
        .map(|row| {
            let mut sorted_row = row.clone();
            sorted_row.sort();
            sorted_row
        })
        .collect();
 
    println!("сортировка по строкам A:");
    sorted_a.iter().for_each(|row| {
        row.iter().for_each(|&val| print!("{} ", val));
        println!();
    });
    println!();
 
    println!("B:");
    b.iter().for_each(|row| {
        row.iter().for_each(|&val| print!("{} ", val));
        println!();
    });
    println!();
 
    let mut sorted_b = b.clone();
    for j in 0..m {
        let mut column: Vec<u32> = (0..n).map(|i| b[i][j]).collect();
        column.sort();
        for (i, &val) in column.iter().enumerate() {
        sorted_b[i][j] = val;
        }
    }
 
    println!("сортировка по столбцам B:");
    sorted_b.iter().for_each(|row| {
        row.iter().for_each(|&val| print!("{} ", val));
        println!();
    });
}
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
07.10.2025, 04:01  [ТС]
Rust см. выше работает онлайн

https://ideone.com/U6cffV

Матрица сортировка JavaScript
включает в конце просто функцию sort

Копирую листинг и вставляю в блокнот
и копирую название из листинга MATRIXJ.htm
и сохраняю и стартует браузер

JavaScript
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
<!DOCTYPE html>
<title>MATRIXJ.htm sort js JavaScript</title> 
<html> <body> <noscript>JS!</noscript>
 
<script>
var i,j,k, a=[], b=[], c=[]; var n=3, m=5; 
document.write("<br><br>")
 
for (i=0; i<n; i++)
  { a[i]=[], b[i]=[] 
    for (j=0; j<m; j++)
    { a[i][j]=Math.floor(Math.random()*9)
      b[i][j]=a[i][j]; 
      document.write(a[i][j] + " ")
    } document.write("<br>")
  } document.write("<br>")
 
for (j=0; j<m; j++)
    { c[j]=[] 
      for (i=0; i<n; i++)
        c[j][i]=b[i][j]
    }
 
for (i=0; i<n; i++) a[i] = a[i].sort() 
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++)
    { document.write(a[i][j] + " ")
    } document.write("<br>")
  } document.write("<br>")
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++)
    { document.write(b[i][j] + " ")
    } document.write("<br>")
  } document.write("<br>")
 
for (j=0; j<m; j++) c[j] = c[j].sort((a, b) => b - a) 
 
for (i=0; i<n; i++)
    for (j=0; j<m; j++)
        b[i][j] = c[j][i]
 
for (i=0; i<n; i++)
  { for (j=0; j<m; j++)
    { document.write(b[i][j] + " ")
    } document.write("<br>")
  } document.write("<br>")
 
</script></body> </html>
Онлайн:
https://ideone.com/JITEJd
https://jdoodle.com/h/2UB

И стартует браузер ?

У меня в браузере...
Фильтр мата или слов для Firefox
0
 Аватар для DAV78
5 / 5 / 0
Регистрация: 01.09.2018
Сообщений: 87
14.10.2025, 07:07  [ТС]
Матрица сортировка Python

Python
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
import random # matrixsortp.py
n=3; m=5; a=[1,1]; b=[1,1]
a=[[random.randrange(0,9) for i in range (m)] for j in range (n)]
b=[[1 for i in range (m)] for j in range (n)]
 
for i in range (n):
    for j in range (m):
        print ("%2d" % a[i][j], end=' ')
        b[i][j]=a[i][j]
    print()
print()
 
for i in range (n):
    for j in range (m-1):
        for k in range (j+1,m):
           if (a[i][j]>a[i][k]):
               t=a[i][j]; a[i][j]=a[i][k]; a[i][k]=t;
 
for i in range (n):
    for j in range (m):
        print ("%2d" % a[i][j], end=' ')
    print()
print()
 
for i in range (n):
    for j in range (m):
        print ("%2d" % b[i][j], end=' ')
    print()
print()
 
for j in range (m):
    for i in range (n-1):
        for k in range (i+1,n):
            if (b[i][j]>b[k][j]):
               t=b[i][j]; b[i][j]=b[k][j]; b[k][j]=t;
 
for i in range (n):
    for j in range (m):
        print ("%2d" % b[i][j], end=' ')
    print()
https://rextester.com/LVIB34467
https://trinket.io/python/6edfcab6012a
https://ideone.com/mSCqdg

Домашнее задание: в последн... в конечной сортировке
заменить вложенные циклы на функцию обратной сортировки
вида

Python
1
d.sort(reverse=True)
Или невозможно? Домашнее задание...

0
 Аватар для abit
867 / 526 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
15.10.2025, 23:47
DAV78,
Python
1
2
3
4
for j in range(m):
    sorted_column = sorted([b[i][j] for i in range(n)])
    for i in range(n):
        b[i][j] = sorted_column[i]
на Rust итак всё нормально за O(m*n*log(n)), не вижу смысла трогать
0
WH
1588 / 816 / 192
Регистрация: 10.09.2013
Сообщений: 3,261
Записей в блоге: 3
16.10.2025, 14:40
Цитата Сообщение от DAV78 Посмотреть сообщение
Вообще сортировка имелась в виду пузырьковая
дабы сортировать мелочь типа матрицы внутри программ

В современном фортране можно работать с сечениями массивов. Например, нужно отсортировать строки матрицы. Для этого, имея любую функцию сортировки, можно написать такой код. Причем цикл, опцией concurrent, можно задать параллельным.

Fortran
1
2
3
    do concurrent (i = 1:n) !параллельный цикл
        a(i,:) = qsort(a(i,:))
    end do
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2025, 14:40
Помогаю со студенческими работами здесь

Реализовать алгоритмы построения прямой: простой пошаговый алгоритм и алгоритмы Брезенхема
1. Написать на языке PASCAL программу, реализующую алгоритмы построения прямой: простой пошаговый алгоритм и алгоритмы Брезенхема для...

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

Линейные алгоритмы, разветвленные алгоритмы, простые циклы
Помогите сделать простые (для вас, но не для меня :-() лабораторные, скоро сессия, а разобраться совершенно не могу. 1. Дан радиус...

Циклические алгоритмы. Алгоритмы обработки последовательностей чисел
Помогите пожалуйста program Lab_3_1; const x1=1; xn=3; dx=0.2; a=3.9; b=2.3; var x,y,z:real; ...

Циклические алгоритмы. Алгоритмы обработки последовательностей чисел
Помогите пожалуйста... Преподаватель говорит что: 1. Программа считает правильно (за исключением того, что по условию диапазон...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru