IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Полный квадрат
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской

Репутация: -  0  +


Помогите пожалуйста сделать чтобы программа искала наибольшую из длин полных квадратов. Моя ищет только наибольшую из длин одинаковых чисел.

#include <conio.h>
#include <iostream.h>
const n = 10;
int k, m, kmax, kindex;
void main()
{
int mas[n]={9,25,25,10,10, 10, 10, 5, 5, 5};
clrscr();
k=0;
m=mas[0];
kmax = 0;
kindex = 0;
for (int i=0; i<n; i++)
{
if (mas[i]==m)
{
k++;
}
else
{
if (k > kmax)
{
kmax = k;
kindex = i-kmax;
}
k = 0;
m = mas[i];
i--;
}
}
cout<<"\n posledovatelnost odinakovix chisel "<<kmax<<"\n\n";
for (i = kindex; i < kindex+kmax; i++)
cout << mas[i]<<" ";
getch();
}

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
наибольшую из длин полных квадратов


Имеешь в виду самую длинную последовательность подрят идущих чисел, являющихся квадратами целого числа ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской

Репутация: -  0  +


Да smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






ctx, как вариант:

#include <iostream>
#include <math.h>

int main() {
const int n = 10;
int mas[n] = { 9, 25, 25, 10, 16, 16, 9, 25, 25, 5 };

int Len = 0, i = 0, start;
while(i < n) {
int count = 0, delta = 1;
while(((int)sqrt(mas[i]) * (int)sqrt(mas[i])) == mas[i]) {
count += 1; i += 1; delta = 0;
}

if(Len < count) {
start = i - count; Len = count;
}
i += delta;
}
cout << "start = " << start << " len = " << Len << endl;
return 0;
}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Мужской

Репутация: -  0  +


Спс

Может кому пригодится мой вариант

#include <conio.h>
#include <iostream.h>
#include <math.h>
const n = 10;
int k, m, kmax, kindex;
float z;

int kvadrat(int c) {
z=sqrt©;
if ((int(z) != 0) && (z/int(z)==1)) return 1;
else
return 0;
}

void main()
{
int mas[n]={9,25,25,10,10, 10, 10, 5, 5, 5};
clrscr();
k=0;
m=mas[0];
kmax = 0;
kindex = 0;
for (int i=0; i<n; i++)
{
if (kvadrat(mas[i]) )

{
k++;
}
else
{
if (k > kmax)
{
kmax = k;
kindex = i-kmax;
}
k = 0;
}
}
cout<<"\n posledovatelnost chisel polnih kvadratov "<<kmax<<"\n\n";
for (i = kindex; i < kindex+kmax; i++)
cout << mas[i]<<" ";
getch();
}


Сообщение отредактировано: cxt -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.10.2020 19:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name