Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Идея! / 6 сообщений из 6, страница 1 из 1
16.06.2005, 20:51
    #33120545
Feanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
Товарищи, простите, что ещё раз Вас всех беспокою, но тут у меня опять маленькая проблемма. Суть заключается в том, что мне надо, чтобы Вы подкинули идею (буду рад если и реализуете, уверен что это не сложно),
как, в целочисленном массиве, возможно найти все числа, из которых извлекается квадратный корень (16, 25, 81 и т.д.)???
Я сам кое-что придумал, но сказали, что не то, ибо слишком просто, и не в тему =(
Дайте хоть идею!!! =)
А вот, что у меня вышло, то, что выше, это сама программа, смотрите в ней последний пункт, где integ[j]*integ[j].
Вот и всё, надеюсь что не достал Вас окончательно.
P.S. Прога написана на Borland C++ v1.3


Код: plaintext
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.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
#include <iostream.h>
#include <iomanip.h>
#include<conio.h>
int const MAXNUMBERS =  100 ;



int main (int argc, char* argv[])
{            textcolor( 10 );
		clrscr();

	int zeroplace = - 1 ;
	int sum =  0 ;
	int integ[MAXNUMBERS];
	int i =  0 ;

	cout <<"Vvedite tselie tsisla, dlia precrashenia vvoda nazmite -1\n";
	for (; i < MAXNUMBERS; i++)
	{
		cin >> integ [i];
		if (integ[i] == - 1 )
			break;
		if (!integ[i] )
			if (zeroplace == - 1 )
				zeroplace = i+ 1 ;
				if (integ[i]% 100 / 10  ==  7  || integ[i]% 100 / 10  == - 7 )


				sum = sum + integ[i];
			}

	cout <<"Massiv tselih tsisel:\n";
	for (int j =  0 ; j < i; j++)
		cout <<setw( 10 ) << integ [j];
	cout << endl;
	if (zeroplace ==  1 )
		cout <<"Net nulia";
	else
		cout <<"Pervii nulevoi element stoit na " << zeroplace << "meste\n";
	cout <<"Summa vseh tsisel, zakantsivaisia na 7: " << sum << endl;

  	cout <<"Kvadrati:\n";
	for (j =  0 ; j < i; j++)
	{
		int square = integ[j]*integ[j];
		cout << setw( 10 ) << square;
	}  
getch();
	return  0 ;
}
...
Рейтинг: 0 / 0
17.06.2005, 06:30
    #33120772
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
FeanorТоварищи, простите, что ещё раз Вас всех беспокою, но тут у меня опять маленькая проблемма. Суть заключается в том, что мне надо, чтобы Вы подкинули идею (буду рад если и реализуете, уверен что это не сложно),
как, в целочисленном массиве, возможно найти все числа, из которых извлекается квадратный корень (16, 25, 81 и т.д.)???
Я сам кое-что придумал, но сказали, что не то, ибо слишком просто, и не в тему =(
Дайте хоть идею!!! =)
А вот, что у меня вышло, то, что выше, это сама программа, смотрите в ней последний пункт, где integ[j]*integ[j].
Вот и всё, надеюсь что не достал Вас окончательно.
P.S. Прога написана на Borland C++ v1.3


То, что написано в программе ("последний пункт, где integ[j]*integ[j]") - это не квадратный корень, а квадрат числа. Это все-таки несколько разные вещи
А идея следующая:
- искать очередной делитель для данного элемента массива;
- если число является делителем, то проверить, а не является ли квадрат делителя равным по величине элементу массива;
- если условие выполняется (квадрат делителя равен по величине элементу массива), то из числа извлекается квадрантый корень; сообщаем об этом пользователю. Если нет, то ищем следующий делитель.
- если делитель равен самому элементу массива, то заканчиваем перебор делителей...
Самый простой способ поиска делителя:
просматривать последовательно все числа от 1 до значения элемента массива и смотреть остаток от деления. Если он не равен 0, то число НЕ является делителем; если равен 0, то число является делителем...
...
Рейтинг: 0 / 0
17.06.2005, 10:56
    #33121198
Feanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
Спасибо за идею, буду пыхтеть над реализацией =)
...
Рейтинг: 0 / 0
17.06.2005, 13:56
    #33121863
Feanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
Чё то не выходит =(
Можте датите help?
...
Рейтинг: 0 / 0
17.06.2005, 14:50
    #33122038
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
FeanorЧё то не выходит =(
Можте датите help?

"А ... ключ от квартиры где деньги лежат" (не моё)

примерно так:
Код: plaintext
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.
35.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

const MAXNUMBERS =  100 ;

void main (void)
{
  int a[ 100 ];
  int i,j;

//Ввод исходных данных в массив
for(i= 0 ;i<MAXNUMBERS;i++)
 a[i]=i+ 1 ;

//Непосредственно процедура нахождения чисел 
//из которых извлекается квадратный корень
for(i= 0 ;i<MAXNUMBERS;i++)
{
 printf("Look at %d\r\n",a[i]); //какое число сейчас анализируем
 for(j= 1 ;j<a[i]+ 1 ;j++)
  {
    if (a[i]%j== 0 )
    {
      if (j*j==a[i])
	  {
	   printf("%d is good!\r\n",a[i]); //квадрат из числа извлекается!
            break;
	  }
    }
  }
}
getch(); // Задержка, чтобы посмотреть на результат работы
 return; //Выход...
}

Повторю еще раз: ВЫ ЛЕНТЯЙ, СУДАРЬ...
...
Рейтинг: 0 / 0
18.06.2005, 20:26
    #33123273
Feanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идея!
Достопочтейнейший сэр, огромнейшее Вам спасибо =))))
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Идея! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]