Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
1

Найти квадраты двух введенных чисел

16.11.2011, 17:17. Показов 839. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста! в общем тема с указателями. Я написал, но у меня вечную ошибку выдает, что будто бы n1 и n2 присваивается значение, которое никогда не используется в функции. Понять не могу, только стал изучать, вроде понял, а решить эту проблему не знаю как. В общем задание нужно найти квадраты двух введенных чисел. Вот как я написал:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
#include<conio.h>
 func(int *a,int *b)
 {int n; int p;
  n=(*a)*(*a);
  p=(*b)*(*b);
  return;}
  void main(void)
  int c,k;
  {printf("vvesti chisla");
  scanf("%d%d",&c&k);
  printf("%d%d",func(&c&k));
  getch();}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2011, 17:17
Ответы с готовыми решениями:

Найти НОД двух введенных чисел
С клавиатуры вводится два числа. найти их НОД... помогите, хотя бы саму суть, хотя бы с while ...

Найти максимальное из двух введенных пользователем чисел
Только начал функции, подкинули такой пример. Буду благодарен за помощь! Написать программу,...

Нахождение двух наибольших чисел из десяти введённых
Найдите из 10 чисел два наибольших значения. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main...

Нахождение произведения двух чисел, введенных с клавиатуры
Вводим два целых числа , найти произведение чисел этих цифр (только значащих ! при вводе 10 2 ...

4
Заблокирован
16.11.2011, 17:51 2
Во-первых, у вас не описан тип возвращаемого значения функции func. Во-вторых, вы действительно используете переменные n и p для хранения результата вычисления квадрата числа, но значения, хранящиеся в этих переменных нигде не используются. То есть как только функция завершит свою работу, эти локальные переменные будут уничтожены. То есть вам нужно найти способ, с помощью которого получить из этой функции результаты ее работы, то есть возведение в во вторую степень.
У вас есть три возможности. Первая и самая лучшая - это объявить структуру из двух элементов и ее возвращать из функции. Например,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct result
{
   int first;
   int second;
};
 
result func( int a, int b )
{
   struct result r;
   r.first = a * a;
   r.second = b * b;
 
   return ( r );
}
Второй способ - это возвращать значения вычисления через те же указатели, с помощью которых вы передавали параметры.

C++
1
2
3
4
5
void func( int *a, int *b )
{
   *a *= *a;
   *b *= *b;
}
Третий способ - добавить в качестве параметров еще два указателя для хранения результата

C++
1
2
3
4
5
void func( int *a, int *b, int *a2, int *b2 )
{
   *a2 = *a * *a;
   *b2 = *b * *b;
}
Добавлю также, что функция main в языке С должна объявляться как int main( void )
1
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
16.11.2011, 18:35  [ТС] 3
а что тогда делать с переменными в главной программе?? с,к??у меня пишет синтаксическая ошибка, но правильно ведь должно быть? там же нужно вводить две переменные?
0
Заблокирован
16.11.2011, 18:37 4
Цитата Сообщение от tanygin Посмотреть сообщение
а что тогда делать с переменными в главной программе?? с,к??у меня пишет синтаксическая ошибка, но правильно ведь должно быть? там же нужно вводить две переменные?

Я не понимаю, о чем вы говорите, и какая у вас синтаксическая ошибка.
Я вам подробно написал, как можно сделать. Что вам не понятно?
0
0 / 0 / 0
Регистрация: 09.11.2011
Сообщений: 5
16.11.2011, 18:38  [ТС] 5
аааа, вот тормоз... все, решил. спасибо)
0
16.11.2011, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2011, 18:38
Помогаю со студенческими работами здесь

Найти наибольший общий делитель двух введённых чисел
Здравствуйте. Такая проблема. Нужно выявить наибольший общий делитель двух введённых чисел....

Найти произведение двух наибольших из трех введенных с клавиатуры чисел
найти произведение двух наибольших из трех введенных с клавиатуры чисел

Найти НОК (наименьшее общее кратное) двух введённых чисел
Найти НОК (наименьшее общее кратное) двух введённых чисел. Спасибо за помощь

Найти произведение двух наибольших из трех введенных с клавиатуры чисел
1. Составить программу нахождения произведения двух наибольших из трех введенных с клавиатуры...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru