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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DooH
3 / 3 / 0
Регистрация: 02.03.2010
Сообщений: 15
#1

Работа с функцией - C++

02.03.2010, 10:09. Просмотров 505. Ответов 7
Метки нет (Все метки)

Привет Всем!!! Помогите пожалуйста. Нужно: Определить функцию, которая возвращает натуральное число, если аргумент функции является квадратом этого числа и ноль в противном случае.
Найдите все возможные целые значения длин сторон прямоугольного треугольника в диапазоне от 1 до N (N задаёт пользователь), используя определённую функцию.
Я мучалься, искал, пробовал и ничего никак не получаеться. Спасибо Всем заранее.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2010, 10:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с функцией (C++):

Работа с функцией - C++
Описать функцию smooth(A,n), заменяющую каждый элемент вещественного массива A размера n на его среднее арифметическое со своими соседями...

Работа с функцией - C++

работа с функцией в С++ - C++
В ходе выполнения работы необходимо создать программу, которая определяет и инициализирует двумерный массив целых значений и затем...

работа с функцией qsort - C++
вот есть код который отделает слова и записывает в массив и надо их отсортировать по возрастанию длины как использовать qsort в данном...

Работа с функцией класса - C++
Почему то выскакивает ошибка: "Error 3 error C2228: left of '.Load' must have class/struct/union 14 " #include <iostream> using...

работа с функцией FindFirstFile (API) - C++
Здравствуйте уважаемые. У меня такая проблема - есть буфер (тип char) в нем хранятся пути к файлам, я каждую строку поместил в массив то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mamedovvms
2917 / 838 / 93
Регистрация: 30.04.2009
Сообщений: 2,627
02.03.2010, 10:13 #2
C++
1
2
3
4
5
6
int kv(doble k)
{
  int i=sqrt(k);
  if (i*i==k) return i;
  return 0;
}
1
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
02.03.2010, 10:51 #3
Ну и соответственно
Код
   for(i=1; i<=N; i++) {
     for(j=N; j<=N; j++) {
        if (kv(i*i+j*j)) printf ("i=%d j=%d\n", i, j);
     }
   }
PS: я бы объявил kv(int k), хотя это дело вкуса...
Вначале, конечно
#include <math.h>
#include <stdio.h>
1
DooH
3 / 3 / 0
Регистрация: 02.03.2010
Сообщений: 15
03.03.2010, 22:46  [ТС] #4
Извините за настырность, я просто только начал изучать Си, и пока не могу сложить всё в кучу помогите пожалуйста. Я сложил, но пишет 2 ошибки:
1-я: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
2-я: Debug/666.exe : fatal error LNK1120: 1 unresolved externals.
А код я написал такой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <windows.h>
#include <math.h>
#include <stdio.h>
kv(int k)
char S[80];
CharToOem("Введите число:",S); cout <<S;
cin >> k;
{
  int i=sqrt(k);
  if (i*i==k) return i;
  return 0;
}
for(i=1; i<=N; i++) 
{
     for(j=N; j<=N; j++) 
     {
        if (kv(i*i+j*j)) printf ("i=%d j=%d\n", i, j);
     }
}
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
04.03.2010, 01:38 #5
Вот так ужасно все устроено, что нужна функция main
В конец кода напишите
C++
1
2
3
4
main()
{
   kv(k);
}
0
DooH
3 / 3 / 0
Регистрация: 02.03.2010
Сообщений: 15
04.03.2010, 18:08  [ТС] #6
У меня в етой части кода:
C++
1
  if (k(i*i+j*j))
пишет ошибку: error C2064: term does not evaluate to a function. Вроде всё правильно, а оно не работает.
0
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,242
Завершенные тесты: 1
04.03.2010, 18:53 #7
kv(int k)
char S[80];
CharToOem("Введите число:",S); cout <<S;
cin >> k;
{
int i=sqrt(k);
if (i*i==k) return i;
return 0;
}
for(i=1; i<=N; i++)
{
for(j=N; j<=N; j++)
{
if (kv(i*i+j*j)) printf ("i=%d j=%d\n", i, j);
}
}
много ошибок
исправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int kv(int k){
  int i=sqrt(k);
  if (i*i==k) return i;
  return 0;
}
int main(){
char S[80];
CharToOem("Введите число:",S); cout <<S;
cin >> k;
cout<<kv(k);
system("pause");
return 0;
}
зы у меня компилятор другой,некоторые функции не распознает..так что на сто процентов не убежден в работности кода
0
ZiON_256
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 6
05.12.2011, 11:55 #8
Я вот написал код, но программа не определяет k. Как это исправить?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <Windows.h>
using namespace std;
 
float kv(float k)
{
    float i=sqrt(k);
    if (i*i==k) return i;
    return 0;
}
float main ()
{
    SetConsoleOutputCP(1251);
    char S[80];
    CharToOemA("Введите число:",S);
    cout<<S;
    cin>>k;                  //не определяет
    cout<<kv(k);
    system("pause");
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 11:55
Привет! Вот еще темы с ответами:

Работа с классами. Нужна помощь с функцией - C++
Всем добрый вечер! Вот задание: Разработать класс содержащий: - компоненты данные - методы: а) конструктор по умолчанию; б)...

Деление по модулю, работа с функцией rand() - C++
Мне нужно сгенерировать случайное число от 66 до 122, максимальное число RAND_MAX = 32767, мне нужно узнать на что нужно делить по модулю...

Работа с двусвязным списком. Проблема с функцией удаления с конца - C++
Есть задача на двусвязный список, но наблюдается непонятная ошибка. Если сделать функцию удаления всех элементов через функцию удаления с...

Ошибка с функцией - C++
#include &lt;iostream&gt; using namespace std; int main() { int sum,n; cin&gt;&gt;n; cout&lt;&lt;fun(sum); }


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.12.2011, 11:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru