
Дана прямоугольная матрица из символов. Найти номер последней строки, все элементы в которой
одинаковы. Для решения задачи, не считая подзадачи ввода и вывода, не использовать параметрический цикл ДЛЯ, а только циклы ПОКА или ДО.

Ответы на вопрос

#include <iostream>
#include <vector>
using namespace std;
void solve(){
int n,m;
cin >> n >> m;
vector<vector<char>> a(n, vector<char>(m));
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
cin >> a[i][j];
int i = 0,ans = -1;
while(i < n){
int cnt = 1,j = 1;
while(a[i][j] == a[i][j-1] && j < m){
cnt++;
j++;
}
if(cnt == m)
ans = i;
i++;
}
if(ans == -1)
cout << "No solution";
else
cout << ans + 1;
}
signed main(){
solve();
}



Для решения этой задачи с использованием цикла ПОКА или ДО, вы можете следовать следующему алгоритму:
- Считать входные данные: прямоугольную матрицу из символов.
- Инициализировать переменные: текущую строку как 1 и переменную для хранения индекса последней строки, все элементы в которой одинаковы, как -1.
- Пока текущая строка меньше или равна общему количеству строк в матрице, выполнить следующие шаги: a. Проверить, являются ли все элементы в текущей строке одинаковыми. Для этого можно сравнить каждый элемент текущей строки с первым элементом этой строки. Если хотя бы один элемент отличается, перейти к следующей строке. b. Если все элементы в текущей строке одинаковы, обновить индекс последней строки с одинаковыми элементами. c. Увеличить текущую строку на 1.
- Вывести индекс последней строки с одинаковыми элементами.
Пример псевдокода:
lessСчитать матрицу из символов
Текущая_строка = 1
Индекс_последней_строки = -1
Пока Текущая_строка <= Количество_строк_в_матрице:
Все_одинаковые = Истина
Первый_элемент = Матрица[Текущая_строка][1]
Для каждого элемента в Матрица[Текущая_строка]:
Если элемент ≠ Первый_элемент:
Все_одинаковые = Ложь
Прервать цикл
Если Все_одинаковые:
Индекс_последней_строки = Текущая_строка
Текущая_строка = Текущая_строка + 1
Вывести Индекс_последней_строки
Этот алгоритм проверяет каждую строку матрицы и определяет, являются ли все элементы в строке одинаковыми. Если да, то он обновляет индекс последней строки с одинаковыми элементами. Как только цикл завершится, будет выведен индекс последней строки, удовлетворяющей условию.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili