Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Nikolay_1
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 24
#1

Вывести индекс элемента в конце каждой строки матрицы - C++

21.01.2014, 02:00. Просмотров 926. Ответов 21
Метки нет (Все метки)

Самый маленький элемент - 10 , его индекс - 2, как это записать с помощью циклов , не могу вывести именно индекс элемента в конце каждой строчки матрицы ...


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
#include <iostream>
#include <iomanip>
 
int main()
{
    const size_t rowsCount(4);
    const size_t colsCount(5);
 
    int matrix[rowsCount][colsCount];
    std::cout << "Input the matrix: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++) {
            std::cout << "matrix[" << (i + 1) << "][" << (j + 1) << "]: ";
            std::cin >> matrix[i][j];
        }
    }
    std::system("cls");
 
    std::cout << "Matrix: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        int minimal(*matrix[i]);
        for (size_t j = 0; j < colsCount; j++) {
            std::cout << std::setw(5) << matrix[i][j];
            minimal = minimal > matrix[i][j] ? matrix[i][j] : minimal;
        }
        std::cout << "\tMinimal: " << minimal << std::endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 02:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести индекс элемента в конце каждой строки матрицы (C++):

Для каждой строки матрицы распечатать индекс первого нулевого элемента - C++
Здравствуйте! Элементы массива размерностью 2 на 6 инициализировать случайными числами от 0 до 5. Для каждой строки распечатать индекс...

Для каждой строки матрицы найти индекс первого отрицательного элемента и записать данные в новый массив - C++
Для каждой строки найти номер первого отрицательного элемента и записать данные в новый массив: Где комментарий, я не могу понять, что...

Вывести массив на экран в виде таблицы, в конце каждой строки надо вывести минимальный элемент - C++
Ребят , как вывести маленький элемент , что изменить в коде знак &quot;&gt;&quot; меняю на &quot;&lt;&quot; - не выходит. #include &lt;iostream&gt; #include...

Microsoft Visual Studio: Для каждой строки матрицы с нулевым элементом на главной диагонали вывести номер наибольшего элемента - C++
Здравствуйте, прошу помощи. Вопрос жизни и смерти. В программировании вообще что-то тяжко. С горем попалам сдаю. 1 курс... тяжело... ...

Ввести элементы двумерного массива с клавы С++.Нужно вывести его на экран в виде таблицы, в конце каждой строки надо вывести самый большой элемент - C++
Вот мой код : #include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; using std::cout; using std::cin; int...

Вывести на консоль заданную матрицу таким образом, чтобы сумма стояла в конце каждой строки - C++
Создать двумерный массив размерностью 5:3, заполнить случайными числами и вывести массив таким образом, чтобы сумма стояла в конце каждой...

21
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
21.01.2014, 05:47 #16
Цитата Сообщение от Nikolay_1 Посмотреть сообщение
скажите а в чем разница между первым вариантом (куском) кода и тем что Вы дали мне позже ?
Не знаю почему, но ваш компилятор просил объявить переменные a и b как константы, а не просто как переменные типа int. Во втором варианте я объявил переменные как константы.
Вот и вся разница:
C++
1
int a=4, b=5;
C++
1
int const a=4, b=5;
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.01.2014, 13:34 #17
Цитата Сообщение от Бедел Посмотреть сообщение
Не знаю почему, но ваш компилятор просил объявить переменные
А все потому, что компилятору нужно знать размер массива заблаговременно, а не узнавать его на этапе компиляции
2
Бедел
21.01.2014, 18:49
  #18

Не по теме:

cooller_94, спасибо за пояснения, в следующий раз учту. Просто Code::Blocks с компилятором MinGw не жаловался никогда на подобное, поэтому не обращал внимания. А это как-нибудь влияет на эффективность кода, если компилятор узнает размер массива во время компиляции ?

0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,081
21.01.2014, 18:56 #19
Цитата Сообщение от Бедел Посмотреть сообщение
Не знаю почему, но ваш компилятор просил объявить переменные a и b как константы, а не просто как переменные типа int.
потому что размеры массива должны быть известны на этапе компиляции
некоторые компиляторы, в частности GNU, позволяют вводить в качестве размера массива и обыкновенные переменные, но это не по стандарту

Добавлено через 1 минуту
Цитата Сообщение от cooller_94 Посмотреть сообщение
а не узнавать его на этапе компиляции
как раз на этапе компиляции, он и должен знать, для чего и const, а не на этапе исполнения

Добавлено через 1 минуту
Цитата Сообщение от Бедел Посмотреть сообщение
А это как-нибудь влияет на эффективность кода, если компилятор узнает размер массива во время компиляции ?
разумеется он выделит участок памяти
а если на этапе исполнения, то придется как то выделять память
1
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
21.01.2014, 19:21 #20
ValeryS, спасибо за разъяснения, теперь буду следовать стандарту.
P.S. как раз пользуюсь GNU gss, видимо, именно поэтому раньше не обращал на это внимания.
0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,081
21.01.2014, 20:20 #21
Цитата Сообщение от Бедел Посмотреть сообщение
теперь буду следовать стандарту.
ну если всегда пишешь на нем
то возможна конструкция
C++
1
2
cin>>a;
int b[a];
при соблюдении стандарта придется выделять память под массив динамически
но код будет непереносимый
0
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
21.01.2014, 20:28 #22
Цитата Сообщение от ValeryS Посмотреть сообщение
при соблюдении стандарта придется выделять память под массив динамически
но код будет непереносимый
Для таких задач динамически выделять память - лишний гемор. Да и ТС пишет, что только учится, все прелести динамического программирования успеет ещё познать
0
21.01.2014, 20:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2014, 20:28
Привет! Вот еще темы с ответами:

В каждой строке найти минимальный элемент, затем среди них найти максимальное и вывести на экран индекс этого элемента - C++
Здравствуйте! Помогите, пожалуйста, с задачей: В двумерном массиве все числа различны. В каждой строке найти минимальный элемент, затем...

Из существующей матрицы n*m записать в новую матрицу все элементы исходной матрицы, кроме максимального и минимального элемента из каждой строки - C++
Здравствуйте! У меня такая задача: мне надо из существующей матрицы n*m запсать в новую матрицу все элементы исходной матрицы, кроме...

Вывести индекс строки матрицы в которой расположен максимальный элемент - C++
Нужно создать динамический двумерный массив (ввод с клавиатуры), заполнить его случайными числами, вывести на экран индекс строки в которой...

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


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru