Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2015, 19:30   #1
solovey97
Пользователь
 
Регистрация: 11.05.2015
Сообщений: 16
По умолчанию Помогите разобратся с задачей С++

Задача:Дана целочисленная прямоугольная матрица .Определить.
1)количество столбцов , содержащих хотя бы один нулевой элемент
2)Номер строки ,в которой находиться самая длинная серия одинаковых элементов .

Программа рабочая .
Просто помогите понять в какой строчке что выполняется \ делается
Код:
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
void main()
{ clrscr();
randomize();
int m,n,j;
cout<<"Vvedite kollichestvo strok"<<endl;
cin>>n;
cout<<"Vvedite kollichestvo stolbcov"<<endl;
cin>>m;
int**a=new int*[n];
for(int i=0;i<n;i++)
  {for(j=0;j<m;j++)
   {a[i][j]=-50+random(100);
    cout<<a[i][j]<<" ";
    }
  cout<<endl;
  }
int ks=0;
for(j=0;j<m;j++)
for(i=0;i<n;i++)
  {if(a[i][j]==0)
    { ks++;
    }
  }
cout<<"kollichestvo stolbcov s nulevim elementom="<<ks<<endl;
int dls=1,f1=0;
int*pb=new int[n];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(a[i][j]==a[j][j-1])
{ if(f1)
 { dls=+1;}
if(f1=1)
{dls=+2;}
if(f1=0)
{pb[i]==dls;}
}
cout<<"dlinnaya seriya:"<<dls<<endl;
getch();
}

Последний раз редактировалось Вадим Мошев; 15.12.2015 в 19:35.
solovey97 вне форума Ответить с цитированием
Старый 15.12.2015, 21:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
//Подключаем модуль для консоли, а лучше не надо. Устарел.
#include<conio.h>
//Подключаем модуль для вывода в консоль но этот поновее
#include<iostream.h>
//Подключаем стандартны модуль
#include<stdlib.h>

//Начинаем программу
void main()
{
//Чистим экран консоли
 clrscr();
//Включаем ГСЧ
randomize();
//Определяем переменки для циклов, колва строк и стоббцов матрицы
int m,n,j;
//Просим их задать
cout<<"Vvedite kollichestvo strok"<<endl;
cin>>n;
cout<<"Vvedite kollichestvo stolbcov"<<endl;
cin>>m;
//Создаем матрицу используя указатели
int**a=new int*[n];
//В цикле наполняем ее
for(int i=0;i<n;i++)
  {for(j=0;j<m;j++)
//Случайными числами
   {a[i][j]=-50+random(100);
//И выводим тут же.
    cout<<a[i][j]<<" ";
    }
//Не забыв переводить каретку после каждой строки
  cout<<endl;
  }
//Не могу поверить что это работает... Наверное я застрял в матрице...

//Описываем переменку для подсчета колва нулевых элементов
int ks=0;
//И в циклах их подсчитываем
for(j=0;j<m;j++)
for(i=0;i<n;i++)
//Проверяя каждую ячейку матрицы
  {if(a[i][j]==0)
    { ks++;
    }
  }
//Потом сообщаем сколько насчитали
cout<<"kollichestvo stolbcov s nulevim elementom="<<ks<<endl;

//А это нафинта?? Проставь поляну преподу - не придется такое писать.
//Это тебе совет на будушее.
//dls наверно считает кол-во повторяющихся рядом стоящих
//А f - видимо сигнал, определяющий что элементы рядом равны
int dls=1,f1=0;
//Создаем еще массив, на сей раз одномерный.
//На сей раз правильно.
int*pb=new int[n];
//В циклах проходим по матрице
for(i=0;i<n;i++)
for(j=0;j<m;j++)
//Если элемент равен элементу стоящему в той же строке, но слева от главной
//диагонали
if(a[i][j]==a[j][j-1])
//А это непонятная проверка...
{ if(f1)
//Увеличиваем счетчик длины на 1
 { dls=+1;}
//А это как работает? Кто вас так писать учит? Надо писать == наверное жеж?
//В общем...
if(f1=1)
//Увеличиваем каким-то чудом счетчик длины на 2 единицы
{dls=+2;}
//И когда... равенство закончено. 
if(f1=0)
//Запоминаем его длину в массиве
{pb[i]==dls;}
}
//И ... не пойму зачем это... Вывод счетчика длины сравненных
//Но только последней строки
cout<<"dlinnaya seriya:"<<dls<<endl;
//После чего заставляем консоль держаться до последнего.
getch();
//А где освобождение памяти?
//Ну точно пора подумать о поляне. Если бы я был преподом, я бы из полян не вылезал.
//На полянах хорошо...
//Ладно... Я офф... Всего хорошего.
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2015, 22:31   #3
solovey97
Пользователь
 
Регистрация: 11.05.2015
Сообщений: 16
По умолчанию

Блин , спасибо тебе огроооомное . Дай Бог здоровья .
solovey97 вне форума Ответить с цитированием
Старый 15.12.2015, 23:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

За заклинание пасиб...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2015, 01:36   #5
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
//Подключаем модуль для вывода в консоль но этот поновее
#include<iostream.h>
Устарело лет 15 назад Собственно, как и компилятор, который это собрать сможет
Croessmah вне форума Ответить с цитированием
Старый 16.12.2015, 13:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Устарело лет 15 назад
Не, ну сама .h-ка да, а Иострим и сейчас актуален.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите разобратся Irina.is Microsoft Office Excel 1 17.06.2009 22:38
Помогите разобратся в коде на C++ bsiden Общие вопросы C/C++ 0 11.05.2009 18:24
Помогите разобратся!!! rex2003 Свободное общение 1 18.02.2007 20:37