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

Массивы и указатели. Заменить последний нуль в каждой строке на 5 - C++

Восстановить пароль Регистрация
 
AlanZzz
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 26
29.11.2013, 13:00     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #1
Задана матрица Q(5,5). Заменить последний нуль в каждой строке на 5.

можно более по простому...

благодарю,спасибо скажу!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 13:00     Массивы и указатели. Заменить последний нуль в каждой строке на 5
Посмотрите здесь:

Двухмерные массивы. Нахождение min значения в каждой строке. C++
C++ Заменить в каждой строке элементы с наибольшим значением нулём
C++ В каждой строке заменить все маленькие буквы
C++ Двумерные массивы. Найти количество положительных элементов в каждой строке массива
C++ Массивы. Определить количество элементов в каждой строке матрицы А, модуль которых равняется порядковому номеру элемента в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
29.11.2013, 13:04     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #2
C++
1
2
3
4
5
6
7
for(int i=0;i<5;i++)
for(int j=4;j>=0;j--)
    if(!q[i][j])
    {
          q[i][j]=5;
          break;
    }
AlanZzz
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 26
29.11.2013, 13:05  [ТС]     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #3
zss, а можно полностью написать?
Vensus
 Аватар для Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 13:10     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #4
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
#include <iostream>
using namespace std;
 
int main()
{
    int Q[5][5];
    for(int i = 0; i < 5; i++) //заполняем матрицу числами
    {
        for(int j = 0; j < 5; j++) //заполняем строку числами
        {
            cin >> Q[i][j];
        }
    }
    for(int i = 0; i < 5; i++)
    {
        bool flag = true
        for(int j = 4; j >= 0; j--)
        {
            if(Q[i][j] == 0 && flag)
            {
                Q[i][j] = 5;
                flag = false;
            }
            cout << Q[i][j] << " ";
        }
        cout << '\n';
    }
    return 0;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
29.11.2013, 13:11     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #5
Вот теперь объедините коды двух постов и получите
правильный результат.
Vensus
 Аватар для Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 13:19     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #6
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
#include <iostream>
using namespace std;
 
int main()
{
    int Q[5][5];
    for(int i = 0; i < 5; i++) //заполняем матрицу числами
    {
        for(int j = 0; j < 5; j++) //заполняем строку числами
        {
            cin >> Q[i][j];
        }
    }
    for(int i = 0; i < 5; i++)  //ищем нули
    {
        for(int j = 4; j >= 0; j--)     //ищем 0 в строке
        {
            if(Q[i][j] == 0)    //если первый ноль найден, меняем его на 5, и выходим из цикла
            {
                Q[i][j] = 5;
                break;
            }
        }
    }
    for(int i = 0; i < 5; i++) //выводим матрицу
    {
        for(int j = 0; j < 5; j++)
        {
            cout << Q[i][j] << " ";
        }
        cout << '\n';
    }
    return 0;
}
Вот, вроде все исправил...

Добавлено через 2 минуты
Цитата Сообщение от Vensus Посмотреть сообщение
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
#include <iostream>
using namespace std;
 
int main()
{
    int Q[5][5];
    for(int i = 0; i < 5; i++) //заполняем матрицу числами
    {
        for(int j = 0; j < 5; j++) //заполняем строку числами
        {
            cin >> Q[i][j];
        }
    }
    for(int i = 0; i < 5; i++)
    {
        bool flag = true
        for(int j = 4; j >= 0; j--)
        {
            if(Q[i][j] == 0 && flag)
            {
                Q[i][j] = 5;
                flag = false;
            }
            cout << Q[i][j] << " ";
        }
        cout << '\n';
    }
    return 0;
}
На это не обращайте внимания... это кривой код, я не успел его отредактировать... Оказывается есть всего 5 минут для изменения поста
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
29.11.2013, 13:23     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #7
По break выход происходит только из внутреннего цикла.
Так что флаги делать незачем.
Vensus
 Аватар для Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 13:27     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #8
Цитата Сообщение от zss Посмотреть сообщение
По break выход происходит только из внутреннего цикла.
Так что флаги делать незачем.
Да, я понял, уже исправил
AlanZzz
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 26
29.11.2013, 20:22  [ТС]     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #9
Vensus, я не пойму,какой из них?
в 1 как запустить та ?
во 2 ошибку выдает на
Цитата Сообщение от Vensus Посмотреть сообщение
for(int j = 4; j >= 0; j--)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 21:33     Массивы и указатели. Заменить последний нуль в каждой строке на 5
Еще ссылки по теме:

Массивы. Поделить элементы каждой строки столбца на последний элемент столбца C++
C++ В каждой строке матрицы найти максимальный элемент и заменить его на противоположный
C++ В каждой строке квадратной матрицы найти последний четный элемент

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

Или воспользуйтесь поиском по форуму:
Vensus
 Аватар для Vensus
41 / 23 / 9
Регистрация: 29.11.2013
Сообщений: 74
29.11.2013, 21:33     Массивы и указатели. Заменить последний нуль в каждой строке на 5 #10
Цитата Сообщение от Vensus Посмотреть сообщение
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
#include <iostream>
using namespace std;
 
int main()
{
    int Q[5][5];
    for(int i = 0; i < 5; i++) //заполняем матрицу числами
    {
        for(int j = 0; j < 5; j++) //заполняем строку числами
        {
            cin >> Q[i][j];
        }
    }
    for(int i = 0; i < 5; i++)  //ищем нули
    {
        for(int j = 4; j >= 0; j--)     //ищем 0 в строке
        {
            if(Q[i][j] == 0)    //если первый ноль найден, меняем его на 5, и выходим из цикла
            {
                Q[i][j] = 5;
                break;
            }
        }
    }
    for(int i = 0; i < 5; i++) //выводим матрицу
    {
        for(int j = 0; j < 5; j++)
        {
            cout << Q[i][j] << " ";
        }
        cout << '\n';
    }
    return 0;
}
вот верный вариант
я проверял, все работает
Yandex
Объявления
29.11.2013, 21:33     Массивы и указатели. Заменить последний нуль в каждой строке на 5
Ответ Создать тему
Опции темы

Текущее время: 15:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru