Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7

Матрица, поиск наименьешего в строках

14.12.2011, 11:53. Показов 726. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Проблема (
Задача: Дана матрица nxm, определить наименьшие числа в строках.
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    int i,j,n,m,min,a[i][j];
    for(i = 0; i < n; i++)
    {
        min ^= min;
        for(j = 1; j < m; j++)
            if(a[i][j] < a[i][min])
                min = j;
                
                cout << min;
    }
    system("pause");
}
Компилируется без ошибок, но при выполнении программы в командной строке ничего не происходит и появляется ошибка "Ваша программа вызвала нарушение доступа (ошибка сегментации). Что это? Первый раз с такой ошибкой сталкиваюсь. Подскажите плз, и по возможности подправьте код.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2011, 11:53
Ответы с готовыми решениями:

Задана целочисленная матрица. Во сколько раз сумма элементов, стоящих на четных строках, больше, чем на нечетных строках.
Помогите с решением такой вот задачки: Задана целочисленная матрица. Во сколько раз сумма элементов, стоящих на четных строках,...

Матрица: нахождение суммы элементов в строках с k1 по k2
Помогите пожалуйста решить задачу. Написать программу нахождения суммы элементов в строках с k1 по k2.

Матрица, сравнение значений в строках (Проверка кода 2)
Прошу помощи программистов! Задача: Составить программу, находящую в матрице D(m,n) номера строк, в которых каждый элемент больше...

8
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
14.12.2011, 12:02
Цитата Сообщение от San4ez Посмотреть сообщение
Что это?
это нарушение программой границ отведенной для нее памяти. Обращение к "чужой" области памяти. Строка 10 кода.

Добавлено через 3 минуты
кроме того что вы неверно проверяете минимум, также ваш минимум в случае ни одного выполнения условия по столбцам так и останется нулем, а не минимумом из чисел. Поэтому лучше не обнуляйте его, а присваивайте значение нулевого столбца i-той строки.
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.12.2011, 12:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    int i,j,n,m,min,a[i][j];
    for(i = 0; i < n; i++)
    {
        min = 0;
        for(j = 1; j < m; j++)
            if(a[i][j] < a[i][min])
                min = j;
                
                cout << min;
    }
    system("pause");
}
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
14.12.2011, 12:31  [ТС]
Цитата Сообщение от alkagolik Посмотреть сообщение
это нарушение программой границ отведенной для нее памяти. Обращение к "чужой" области памяти. Строка 10 кода.
Спасибо, я так думаю вот это
C++
1
a[i][min]
"ни к селу ни к городу" ?

Thinker, таже самая ошибка.
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.12.2011, 12:37
Цитата Сообщение от San4ez Посмотреть сообщение
Thinker, таже самая ошибка.
Где ошибка. Что это вы выдумали. Переменная min будет хранить номер первого столбца с минимальным значением. И так для каждой строчки.
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
14.12.2011, 12:39
Цитата Сообщение от San4ez Посмотреть сообщение
"ни к селу ни к городу" ?
ага, только я сейчас внимательней посмотрел. Суть немного другая. Во - первых вы ищете не минимум, а индекс столбца с минимумом. поменяте условие так
C
1
2
if(a[i][j] < min)
    min = a[ i ][ j ];
а во - вторых у вас размера матрицы нет, неинициализированы явно n, m. Может это влияет.

Добавлено через 1 минуту
C
1
for(j = 1/*тут нуль надо поставить*/; j < m; j++)
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.12.2011, 12:39
Цитата Сообщение от alkagolik Посмотреть сообщение
у вас размера матрицы нет, неинициализированы явно n, m. Может это влияет.

Не по теме:

Тоже только заметил, вот невнимательность:D

0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
14.12.2011, 13:14  [ТС]
Щас попробую =)

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    int i,j,n,m,min,a[i][j];
    cin >> n;
    cin >> m;
    cout << "\n\n";
    for(i = 0; i < n; i++)
    {
        min = 0;
        for(j = 0; j < m; j++)
            if(a[i][j] < min)
              min = a[i][j];
                
                cout << min;
    }
    cout << "\n\n";
    system("pause");
}
Сделал чтоб n и m вводились с клавиатуры и поправил условие, компилируется, работает без ошибок, но выводит всегда "0". Это так и должно быть? Ибо, программа выводит самый возможны минимум да? Чтобы выводила другие числа, нужно самому заполнять матрицу конкретными значениями?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
14.12.2011, 13:39
Цитата Сообщение от San4ez Посмотреть сообщение
int i,j,n,m,min,a[i][j];


Добавлено через 1 минуту
Цитата Сообщение от San4ez Посмотреть сообщение
Это так и должно быть?
Судя по вашему коду, никто не может сказать, т.к. i,j хранит какой-то "мусор".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2011, 13:39
Помогаю со студенческими работами здесь

Матрица, сравнение значений в строках (Проверка кода)
Прошу помощи программистов! Задача: Составить программу, находящую в матрице D(m,n) номера строк, в которых каждый элемент больше...

Матрица. Найти число, встречающееся во всех строках
Дана матрица P размерности n×m. Каждая строка массива упорядочена по возрастанию. Найти число, встречающееся во всех строках. Помогите...

В каких строках матрица все элементы больше 0
Помогите пожалуйста. Определить в каких строках матрица все элементы больше 0

Матрица. Сумма элементов в строках, не содержащих отрицательные элементы.
Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех строках, которые не содержат отрицательных эле- ментов; ...

Матрица: определить произведение в строках, которые не содержат отрицательных элементов
дана вещественная прямоугольная матрица. определить:1. произведение в 3 строках,которые не содержат отрицательных элементов 2.максимум...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru