Форум программистов, компьютерный форум CyberForum.ru

Проверка на полный квадратный корень - C++

Восстановить пароль Регистрация
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.11.2012, 21:10     Проверка на полный квадратный корень #1
Собственно программа должна из двумерного массива найти самое наибольшее число, в котором квадратный корень полностью извлекается.
Вот эта строчка самая важная: A[i][j]>max && A[i][j]==pow(sqrt((double)A[i][j]),2) - в ней скорее всего ошибка, но вот понять именно где не могу.
Ответ должен быть 9, а выводит 11(не понятно почему). Помогите пожалуйста
C++
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
#include <stdio.h>
#include <string.h>
#include <math.h>
 
int main()
{
    int A[3][4];
    int t, k, i, j, max;
 
    /*циферки проставели в нашем двумерном массиве*/
    for(t=0; t<3; t++)
        for(k=0; k<4; k++) {
            A[t][k] = (t*4)+k+1;
        };
 
    max = A[0][0]; //задали начало
 
    for(i=0; i<3; i++)
        for(j=0; j<4; j++)
            if(A[i][j]>max && A[i][j]==pow(sqrt((double)A[i][j]),2)) {
                max = A[i][j];
            };
 
    printf("%d\n", max);
 
    getchar();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 21:10     Проверка на полный квадратный корень
Посмотрите здесь:

Уравнение на c++ (не квадратный корень) C++
Квадратный корень C++
C++ Квадратный корень
C++ Квадратный корень из 5
C++ Квадратный корень
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
24.11.2012, 21:41     Проверка на полный квадратный корень #2
вот так правильно работает.
C++
1
if (A[i][j]>max && A[i][j]==pow(double(int(sqrt(double(A[i][j])))), 2))
печатает 9
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.11.2012, 22:28  [ТС]     Проверка на полный квадратный корень #3
Спасибо, вопрос исчерпан.

Добавлено через 17 минут
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
вот так правильно работает.
C++
1
if (A[i][j]>max && A[i][j]==pow(double(int(sqrt(double(A[i][j])))), 2))
печатает 9
Интересно, данная конструкция работает в файле с расширением .cpp, а в .c нет. Как сделать так, чтобы работало в .c?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
24.11.2012, 22:35     Проверка на полный квадратный корень #4
Цитата Сообщение от aleksand Посмотреть сообщение
данная конструкция работает в файле с расширением .cpp, а в .c нет. Как сделать так, чтобы работало в .c?
Ой, а я не знаю почему в .с файле не работает. может какой-нибудь #include <> подключить?
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.11.2012, 22:40  [ТС]     Проверка на полный квадратный корень #5
Цитата Сообщение от V.A.L.I.D Посмотреть сообщение
Ой, а я не знаю почему в .с файле не работает. может какой-нибудь #include <> подключить?
Вот я тоже хз. Пишу просто именно в расширении .c; Кто-нибудь может помощь решить проблему?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
24.11.2012, 23:39     Проверка на полный квадратный корень #6
aleksand, ошибки выдает какие-то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 23:51     Проверка на полный квадратный корень
Еще ссылки по теме:

C++ Вычислить корень квадратный
C++ Квадратный корень числа
C++ Квадратный корень

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.11.2012, 23:51  [ТС]     Проверка на полный квадратный корень #7
Цитата Сообщение от I.M. Посмотреть сообщение
aleksand, ошибки выдает какие-то?
Да, начиная прямо со строки с циклом выдаёт следующее: microsoft visual studio 10.0\vc\include\cmath(19): error C2061: syntax error : identifier 'acosf'
А потом просто тьма ошибок. Понять почему в .cpp работает, а в .c нет никак не могу =(
Yandex
Объявления
24.11.2012, 23:51     Проверка на полный квадратный корень
Ответ Создать тему
Опции темы

Текущее время: 17:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru