Помогите, пожалуйста. Уже второй день бьюсь
Задание: вывести на экран номер столбца двумерного массива, в котором есть цепочка из наиб. кол-ва повторяющихся элементов... Написал, вроде, все правильно, а выводит бред...
max=0,notmax=0;
for(int j=0; j<m; j++){
for(int i=0; imax){
max=notmax;}else if(notmax<=max){cout<<"\nВ"<<j<<"столбце"<<notmax-1<<"повт. элементов";}
}
cout<<"\nНомер столбца, в котором находится больше всего одинаковых элементов: "<<count<<endl;
Другие языки программирования и технологии
Вопрос по с++ массивы
int temp = 0, count = 0, max = -1;
int b[m];
for (j = 0; j < m; j++)
{
temp = 0;
for (i = 0; i < n; i++)
{
if (a[i][j] == a[i-1][j])
temp += 1;
}
b[j] = temp;
}
cout << endl;
for (j = 0; j < m; j++)
{
cout << setw(3) << b[j];
for (j = 0; j < m; j++)
{
if (b[j] >= max)
{
max = b[j];
}
}
if (max != 0)
{
cout << "\nНомер (а) столбца (ов), c наибольшей последовательностью одинаковых элементов: ";
for (j = 0; j < m; j++)
{
if (b[j] == max)
cout << j + 1 << "; " ;
}
}
else
cout << "\nНет последовательностей повторяющихся элементов элементов! ";
int b[m];
for (j = 0; j < m; j++)
{
temp = 0;
for (i = 0; i < n; i++)
{
if (a[i][j] == a[i-1][j])
temp += 1;
}
b[j] = temp;
}
cout << endl;
for (j = 0; j < m; j++)
{
cout << setw(3) << b[j];
for (j = 0; j < m; j++)
{
if (b[j] >= max)
{
max = b[j];
}
}
if (max != 0)
{
cout << "\nНомер (а) столбца (ов), c наибольшей последовательностью одинаковых элементов: ";
for (j = 0; j < m; j++)
{
if (b[j] == max)
cout << j + 1 << "; " ;
}
}
else
cout << "\nНет последовательностей повторяющихся элементов элементов! ";
Данил )
Это реально работает, красава!!! Спасибо)
Виктор И
Не благодари, бро! xD
Для начала - делай отступы. Сразу будет видно, что в чем вложено.
Ну и count хранит число элементов, а не номер столбца, нужно еще одну переменную ввести.
Ну и count хранит число элементов, а не номер столбца, нужно еще одну переменную ввести.
Данил )
Точно, спасибо, я вывожу не то)
надо ставить пробел между < и идентификатором чтобы текст не съедался
удаляется текст между < id и >
в программе надо для каждого столбца подсчмтать число повт эл
int maxr=1, jmax=0;
for (int j=0; j< m; j++){
maxc=1; // текущее количество повт символов
for( int i=1; i< n; i++){
if(a[i][j]==a[i-1][j]) maxc++;
else {
if maxc>maxr){maxr=maxc; jmax=j;}
maxc=1;
}//else
}//for i
if maxc>maxr){maxr=maxc; jmax=j;}
}//for j
cout << "\nНомер столбца, в котором находится больше всего одинаковых элементов: "<< jmax << endl;
удаляется текст между < id и >
в программе надо для каждого столбца подсчмтать число повт эл
int maxr=1, jmax=0;
for (int j=0; j< m; j++){
maxc=1; // текущее количество повт символов
for( int i=1; i< n; i++){
if(a[i][j]==a[i-1][j]) maxc++;
else {
if maxc>maxr){maxr=maxc; jmax=j;}
maxc=1;
}//else
}//for i
if maxc>maxr){maxr=maxc; jmax=j;}
}//for j
cout << "\nНомер столбца, в котором находится больше всего одинаковых элементов: "<< jmax << endl;
Похожие вопросы
- вопрос о динамических массивах в fortran
- Вопросы по информатике "Массив"
- Вопрос по двумерному массиву в Pascal?
- Вопрос по указателям и массива С++
- Вопрос про массивы в паскале
- Вопрос , массив.
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- помогите пожалуйста сделать мне практическую по массивам, пожалуйста!!!
- Задачка на сортировку массивов
- Двумерный массив - Delphi