Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 2

Вычисления в прямоугольной матрице

16.04.2017, 17:04. Показов 577. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер уважаемые форумчане !Нужна ваша помощь!

Дана целочисленная прямоугольная матрица. Вычислить:
1)минимальный по модулю элемент массива;
2)сумму модулей элементов , расположенных после первого элемента ,равному нулю.
3)Преобразовать массив таким образом , чтобы в первой его половине распологались элементы , стоявшее в четных позициях , а во второй половине - элементы , стоявшее в нечетных позициях.

похожая тема есть здесь:
но там нужно вычислить в одномерном массиве состоявшим из n целочисленных элементов, а у меня в прямоугольной матрице
Помогите пожалуйста понять разницу
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2017, 17:04
Ответы с готовыми решениями:

В прямоугольной матрице найти сумму и количество элементво по условию
Срочно гляньте кто сможет... Выполнение на Visual Basic: В прямоугольной матрице, размерностью n*m, заполненной случайным...

Если в прямоугольной матрице
Нужна помощь с таким заданием: Если в прямоугольной матрице А (m*n) меньше половины столбцов содержит отрицательные элементы, то все...

Задание по прямоугольной матрице
По заданию нужно Дана целочисленная прямоугольная матрица. Определить - количество строк, не содержащих ни одного нулевого элемента ...

9
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
16.04.2017, 19:33
Разницы никакой. Начните делать.

Девять лет назад люди ещё соблюдали падежи (!):
Цитата Сообщение от Гость Посмотреть сообщение
после первого элемента равного нулю
2
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 2
16.04.2017, 19:58  [ТС]
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
#include<iostream>
#include<iomanip>
#include<cmath>
#include<ctime>
using namespace std;
void RandInt ( int range_min, int range_max, int *u,  int nf)
{
    srand ((unsigned int) time(NULL));
for(int i=0;i<nf;i++)
{
    u[i]= rand()%(range_max-range_min)+range_min;
}
cout<<endl;
return;
}
void Vivod (int *u , int nf)
{
cout <<endl<<"Массив u" <<endl;
cout<<endl;
for(int i=0;i<nf;i++)
{
    cout<<"u["<<setw(2)<<i<<"]: ";
    cout <<setw(8)<<u[i]<<endl;
}
cout<<endl;
return ;
}
void Novaya ( int *u , int nf, int sum)
{
for(int i=0;i<nf;i++)
{
mabs=abs(u[i]);
 if(mabs<min) 
min=u[i];
if(u[i]==0) 
{sum+=mabs}
}
return;
}
Мне нужно на Visual Basic for Application, а это на C++
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
16.04.2017, 20:09
Stavr1992, это и по вашей ссылке было ясно.
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
В решении подобных задач, например, у sco43 38 строк; у mc-black’а 35; у ikki (царство небесное) 9; у Апострофф’а (свободу попугаям!) 1 (!) — а у меня…
…строк 40 может быть. Но пока не готов! — работаю над своей работой.
3
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
17.04.2017, 07:35
Sasha_Smirnov
Тут ТС упомянул Первый элемент равный нулю.
Вопрос
А что в матрице является первым элементом?
Откуда идет счет? И куда? И как? По строкам?
По столбцам? По спирали? Или еще как?
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
17.04.2017, 08:56
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
попробуйте запустить код в моём проекте
Там перебор идёт по строкам слева направо, а сами строки — сверху вниз. Цикл один.

Если сработает, то можно скрестить с универсальным* (не под Excel) и сделать этот.
______________
*
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
будет над чем подумать
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
17.04.2017, 20:39
Девять лет назад люди ещё соблюдали падежи

Не по теме:

Ага! И пробелы с нужной стороны от запятой ставили!

после первого элемента ,равному нулю.



Добавлено через 2 минуты
Да и представление имели на каком ЯП кодят!
for(int i=0;i<nf;i++)
{
1
Заблокирован
18.04.2017, 01:19
Цитата Сообщение от Stavr1992 Посмотреть сообщение
Дана целочисленная прямоугольная матрица. Вычислить:
1)минимальный по модулю элемент массива;
2)сумму модулей элементов , расположенных после первого элемента ,равному нулю.
3)Преобразовать массив таким образом , чтобы в первой его половине распологались элементы , стоявшее в четных позициях , а во второй половине - элементы , стоявшее в нечетных позициях.
Stavr1992, пока сделал первые два задания. Третье будет позже.
Смотрите код и картинку. Всё в Эксель (VBA).
Visual Basic
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
Sub Stavr1992()
Dim i%, j%, N%, M%, Min%, A()
Dim K%, R%, Sum%, D%
Cells.Clear
N = Int(InputBox("Введите количество строк", "Ввод данных", 6))
M = Int(InputBox("Введите количество столцов", "Ввод данных", 5))
ReDim A(1 To N, 1 To M)
For i = 1 To N
  For j = 1 To M
   Cells(i, j) = Int((20 * Rnd) + (-10))
  Next j
Next i
 
Min = Abs(Cells(1, 1))
For i = 1 To N
  For j = 1 To M
   If Abs(Cells(i, j)) <= Min And Abs(Cells(i, j)) <> 0 Then
      Min = Abs(Cells(i, j))
      End If
  Next j
Next i
Cells(N + 2, 5) = Min
Cells(N + 2, 1) = "   Минимальн. по модулю эл-т: Min = "
 
K = 0: R = 0: Sum = i + j
For i = 1 To N
  For j = 1 To M
   If Cells(i, j) = 0 And Cells(i, j) < Sum Then
      K = i
      R = j
      End If
  Next j
Next i
Cells(N + 3, 5) = K
Cells(N + 3, 1) = "   Минимальн. по Sum эл-т: i = "
Cells(N + 4, 5) = R
Cells(N + 4, 1) = "   Минимальн. по Sum эл-т: j = "
 
D = 0
For i = K To UBound(A)
  For j = R To M
   If Cells(i, j) <> 0 Then
      D = D + Cells(i, j)
      End If
  Next j
Next i
Cells(N + 5, 5) = D
Cells(N + 5, 1) = "   Сумма после 1-го нуля: D = "
End Sub
Миниатюры
Вычисления в прямоугольной матрице  
0
Заблокирован
18.04.2017, 02:41
Цитата Сообщение от MyExcel_17 Посмотреть сообщение
Третье будет позже
Сделал самую быструю сортировку.
Возможно ошибаюсь, ребята подскажите пожалуйста: как будет верно?
Visual Basic
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
Sub Stavr1992()
Dim i%, j%, N%, M%, Min%, A()
Dim K%, R%, Sum%, D%, E%, t%
Cells.Clear
N = Int(InputBox("Введите количество строк", "Ввод данных", 6))
M = Int(InputBox("Введите количество столцов", "Ввод данных", 5))
ReDim A(1 To N, 1 To M)
For i = 1 To N
  For j = 1 To M
   Cells(i, j) = Int((20 * Rnd) + (-10))
  Next j
Next i
 
Min = Abs(Cells(1, 1))
For i = 1 To N
  For j = 1 To M
   If Abs(Cells(i, j)) <= Min And Abs(Cells(i, j)) <> 0 Then
      Min = Abs(Cells(i, j))
      End If
  Next j
Next i
Cells(N + 2, 5) = Min
Cells(N + 2, 1) = "   Минимальн. по модулю эл-т: Min = "
 
K = 0: R = 0: Sum = i + j
For i = 1 To N
  For j = 1 To M
   If Cells(i, j) = 0 And Cells(i, j) < Sum Then
      K = i
      R = j
      End If
  Next j
Next i
Cells(N + 3, 5) = K
Cells(N + 3, 1) = "   Минимальн. по Sum эл-т: i = "
Cells(N + 4, 5) = R
Cells(N + 4, 1) = "   Минимальн. по Sum эл-т: j = "
 
D = 0
For i = K To UBound(A)
  For j = R To M
   If Cells(i, j) <> 0 Then
      D = D + Cells(i, j)
      End If
  Next j
Next i
Cells(N + 5, 5) = D
Cells(N + 5, 1) = "   Сумма после 1-го нуля: D = "
 
'сделал самую быструю сортировку
'возможно ошибаюсь, ребята подскажите: как верно?
E = Cells((i + j) \ 2)
Do
  While Cells(i) < E: i = i + 1: Wend
  While Cells(j) < E: j = j - 1: Wend
  If i <= j Then
  t = Cells(i): Cells(i) = Cells(j): Cells(j) = t
  i = i + 1: j = j - 1
  End If
Loop While i <= j
 
End Sub
0
Заблокирован
23.04.2017, 15:25
Цитата Сообщение от Stavr1992 Посмотреть сообщение
3)Преобразовать массив таким образом , чтобы в первой его половине распологались элементы , стоявшее в четных позициях , а во второй половине - элементы , стоявшее в нечетных позициях.
Цитата Сообщение от MyExcel_17 Посмотреть сообщение
'сделал самую быструю сортировку 'возможно ошибаюсь, ребята подскажите: как верно? E = Cells((i + j) \ 2)
Вот за такой ответ мне стало самому стыдно. Каюсь.
По этому вопросу для себя открыл несколько тем. Пока ясности нет.

Подскажите, пожалуйста, правильный код по заданию № 3.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2017, 15:25
Помогаю со студенческими работами здесь

Задача о прямоугольной матрице
Помогите пожалуйста Дана целочисленная прямоугольная матрица. Определить: • количество строк, не содержащих ни одного нулевого...

В прямоугольной матрице размером M*K
В прямоугольной матрице размером M*K, имеющее имя MAM содержаться целые числа. M-число строк,К-число столбоцов. Ввести элементы матрицы с...

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

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

Перевести программу с Си++ на C#. Поиск в прямоугольной матрице
Помогите пожалуйста!!! условие: написать и протестировать ФУНКЦИЮ для нахождения в прямоугольной матрице номера строки, имеющей...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru