Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21

Выделить в матрице строку, содержащую наименьший отрицательный элемент или сам этот элемент

29.08.2018, 14:21. Показов 3410. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста. Не понимаю как можно выделить в матрице строку или элемент
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
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int s, i, j, r;
    float m = -0.1;
    srand(time(0));
 
    cout << "Введите размер: ";
    cin >> s;
 
    float array[s][s];
 
    for (i = 0; i <= s - 1; i++)
    {
        for (j = 0; j <= s - 1; j++)
        {
            array[i][j] = (float)(rand()%20001)/100.0 - 100.0;
 
            if (array[i][j] < m) // Ищем наименьший отрицательный элемент матрицы
            {
                m = array[i][j];
                r = i;
            }
 
            cout << array[i][j] << "\t";
        }
        cout << endl;
    }
 
    for (j = 0; j <= s - 1; j++) // Меняем местами последнюю строку со строкой, содержащей наименьший отрицательный элемент
    {
        float t = array[r][j];
        array[r][j] = array[s - 1][j];
        array[s - 1][j] = t;
    }
 
    cout << "Новая матрица: " << endl;
    for (i = 0; i <= s - 1; i++)
    {
        for (j = 0; j <= s - 1; j++)
        {
            cout << array[i][j] << "\t";
        }
        cout << endl;
    }
 
    cin.get();
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2018, 14:21
Ответы с готовыми решениями:

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

В матрице из действительных чисел поменять местами первую строку и строку, содержащую наименьший элемент матрицы
Помогите сделать пожалуйста)

В матрице поменять местами строку, содержащую наибольший элемент, со строкой, содержащей наименьший
Задание: В данной действительной матрице размера mn поменять местами строку, содержащую элемент с наибольшим значением, со строкой,...

31
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 18:58  [ТС]
Студворк — интернет-сервис помощи студентам
По сути да, наименьший элемент матрицы. Отрицательные есть, ведь интервал задаю от -40 до 100. И пока ни разу у меня наименьший не повторялся, по-моему, вообще не повторяются числа
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.08.2018, 19:00
забыл сказать: если массив статический, его размер должен быть известен заранее (как у Вас не по стандарту) -
используйте динамический массив
0
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 19:02  [ТС]
Оу, да. Появилась еще проблема, скрины в этом чертовом VS не делаются
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
29.08.2018, 19:04
leytian, жмете Print Screen на клавиатуре (Prt Scr), открываете Paint и вставляете туда, сохраняете файл.
0
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 19:06  [ТС]
Yetty, а то, что задаю размер массива с клавиатуры не подходит? >.<
0
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 19:08  [ТС]
За что так сложно т.т
Миниатюры
Выделить в матрице строку, содержащую наименьший отрицательный элемент или сам этот элемент  
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.08.2018, 19:38
Лучший ответ Сообщение было отмечено leytian как решение

Решение

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

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

Добавлено через 10 минут
заметил ошибку в своём варианте (сбили Вы меня с отрицательными - применял для них k и не убрал его). исправил:
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
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int n, m, imin=0, jmin=0;
    cout <<"n="; cin >>n;
    cout <<"m="; cin >>m;
    
      double **a = new double*[n], min=0.0; 
    for (int i = 0; i < n; i++)
      a[i]=new double[m];
    
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++)
       {
    a[i][j]=0.01*(rand()%20001-10000);      
            if ((i==0 && j==0) || a[i][j]<min ) {min = a[i][j]; imin=i; jmin=j;}            
        }   
    }
    
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++) 
    cout <<setw(6)<<a[i][j]<<" ";
    if (i==imin) 
    cout <<" Rows "<<imin+1<<" contained min element: "<<min<<" (position "<<jmin+1<<")";
    cout << endl;
    }
    
    swap (a[imin], a[n-1]);
    
    cout <<"New matrix:\n";
    for (int i = 0; i < n; i++)
    {
    for (int j = 0; j < m; j++) 
    cout <<setw(6)<<a[i][j]<<" ";   
    cout << endl;
    }    
    
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
 
system("pause");
return 0;
}
0
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 19:44  [ТС]
Не то чтобы отвлеклась, мой код работает и вроде препод не против такого решения, только дополнительно попросила выделить.
У меня как раз ваш код не идет
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
29.08.2018, 19:50
leytian, судя по значку, вы создали "Проект общих элементов", а надо создать "Пустой проект".
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.08.2018, 19:58
Цитата Сообщение от leytian Посмотреть сообщение
У меня как раз ваш код не идет
исправленный ( тот что постом Выше ) не идёт ? где запускаете ?

какие сообщения компилятора ?

должен работать. у меня такой результат:

n=5
m=6
-84.33 84.39 20.9 51.63 -66.73 -86.08
-76.36 -82.03 82.65 3.15 -71.63 82.69
-36.8 23.7 79.75 -21.35 -95.43 -85.52 Rows 3 contained min element: -95.43 (position 5)
-22.53 -74.36 76.98 9.18 -4.91 -62.89
54.38 -55.27 56.55 -93.65 -32.1 -28.2
New matrix:
-84.33 84.39 20.9 51.63 -66.73 -86.08
-76.36 -82.03 82.65 3.15 -71.63 82.69
54.38 -55.27 56.55 -93.65 -32.1 -28.2
-22.53 -74.36 76.98 9.18 -4.91 -62.89
-36.8 23.7 79.75 -21.35 -95.43 -85.52
0
0 / 0 / 0
Регистрация: 29.08.2018
Сообщений: 21
29.08.2018, 20:05  [ТС]
Хм, действительно. Но там и выбора нет..

Добавлено через 29 секунд
В онлайн компиляторе.
Traceback (most recent call last):
File "/opt/online_gdb/www/ogdb_gui/ogdb/main/../pcompile.py", line 155, in <module>
File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/g++'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
ImportError: No module named 'apport'
Original exception was:
Traceback (most recent call last):
File "/opt/online_gdb/www/ogdb_gui/ogdb/main/../pcompile.py", line 155, in <module>
File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/g++'
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
29.08.2018, 20:12
leytian, "Создать проект" - "Visual C++" - "Другое" - "Пустой проект".

Если вы не можете найти, то возможно вы не установили язык C++ при установке Visual Studio. Запустите Visual Studio Installer и проверьте, что установили Visual C++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2018, 20:12

Найти самый наименьший элемент в матрице, и найти сумму столбца который стоит этот наименьший найденный элемент
Найти самый наименьший элемент в матрице, и найти сумму столбца который стоит этот наименьший найденный элемент Помогите ребята нужна ваша...

В заданной матрице поменять строку, содержащую максимальный элемент со строкой, содержащей минимальный элемент
В данной действительной квадратной матрице размера m x n поменять строку, содержащую элемент с наибольшим значением со строкой,...

В данной действительной матрице размера 3Х3 поменять местами строку, содержащую элемент с наибольшим значе-нием, со строкой, содержащей элемент с наим
В данной действительной матрице размера 3Х3 поменять местами строку, содержащую элемент с наибольшим значе-нием, со строкой, содержащей...

Поменять местами первую строку матрицы и строку, содержащую максимальный отрицательный элемент
:cry: Ребята выручайте. Без вас мне край. У меня не было С++ ,но мне надо сделать задачку и отбодаться:-[ напишите по возможности с...

В матрице поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением
В данной действительной матрице размера 3*3 поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы. Карта этого меню приложена ниже. Нужный пункт выделен красным. Сервис Настройки Поведение
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки. Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён". Изменено отображение буквы Й. Добавлена. . .
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru