Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
RolandOfGilead
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 7
1

Все время выводит 0, в чём ошибка

05.12.2014, 06:48. Просмотров 943. Ответов 8
Метки нет (Все метки)

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
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <locale.h>
 
float mean(float X, float Y)
{   
    float Ar, G;
    if (X>0 && Y>0)
    {
        Ar=((X+Y)*2);
        G=sqrt(X*Y);
        printf("Amean=%f\n", &Ar);
        printf("Gmean=%f\n", &G);
        return 1;
    }
    else return 0;
}
 
void main()
{
    float A, B, C, D;
    setlocale (LC_ALL, "russian");
 
    printf("Ввод A:\n");
    scanf("%f", &A);
    printf("Ввод B:\n");
    scanf("%f", &B);
    printf("Ввод C:\n");
    scanf("%f", &C);
    printf("Ввод D:\n");
    scanf("%f", &D);
    
    mean(A,B);
    mean(A,C);
    mean(A,D);
 
    system ("pause");
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2014, 06:48
Ответы с готовыми решениями:

Программа определяет лежат ли 3 точки на одной прямой , все время выводит что не лежат , как исправить?
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; int main() { setlocale(LC_ALL, &quot;rus&quot;); float...

for..in Response.Write выводит количество файлов 33, но цикл почему то не крутится ни разу. В чём ошибка?
Выполняю следующую последовательность строк на JavaScript (ASP) var fso = Server.CreateObject...

Random все время выводит ноль
Нужно что бы выводило единицы, если есть отрицательное число, а с рандомом все время выводит 0....

Не создаются все кнопки. В чём ошибка?
Создаю идетфикаторы кнопок #define ID_BUTTON1 102 #define ID_BUTTON2 103 #define ID_BUTTON3 104...

Строка: Составить программу, которая выводит текст 'Время на сервере' и собственно время на сервере...
Здравствуйте помогите составить программу для решения вот такой задачи :составить программу которая...

8
Kommersantt
18 / 18 / 24
Регистрация: 21.06.2014
Сообщений: 147
05.12.2014, 07:25 2
Рабочая программа

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
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <math.h>
#include <windows.h>
#include <locale.h>
 
void mean(float x, float y)
{
float ar, g;
 
if ((x > 0) &&(y > 0))
{
ar =(float)((x + y) * 2);
g = (float)sqrt( x * y);
printf("Amean= %f\n", ar);
printf("Gmean= %f\n", g);
return 1;
}
else return 0;
}
 
int main()
{
float a, b, c, d;
setlocale (LC_ALL, "russian");
 
printf("Ввод A:\n");
scanf("%f", &a);
printf("Ввод B:\n");
scanf("%f", &b);
printf("Ввод C:\n");
scanf("%f", &c);
printf("Ввод D:\n");
scanf("%f", &d);
 
mean(a,b);
mean(a,c);
mean(a,d);
 
system ("pause");
}
1. Во первых в Си первая буква переменные должна быть в нижнем регистре
2. if (X>0 && Y>0) где && имеет больший приоритет чем >. Поэтому не правильно будет считывать
3. Зачем функции заголовок float? Если она ничего не возвращает.
4.
C
1
2
printf("Amean=%f\n", &Ar);
printf("Gmean=%f\n", &G);
Ваш &. Он здесь не нужен!
0
Байт
Эксперт C
21886 / 13649 / 2879
Регистрация: 24.12.2010
Сообщений: 29,050
05.12.2014, 10:40 3
Цитата Сообщение от Kommersantt Посмотреть сообщение
1. Во первых в Си первая буква переменные должна быть в нижнем регистре
С какого такого перепугу?!
Цитата Сообщение от Kommersantt Посмотреть сообщение
2. if (X>0 && Y>0) где && имеет больший приоритет чем >.
Впервые слышу
Цитата Сообщение от Kommersantt Посмотреть сообщение
3. Зачем функции заголовок float? Если она ничего не возвращает.
Она-то как раз возвращает. Но ее возврат не используется. Что ошибкой не является и ни что не влияет. А вот у вас как раз ошибочка. void-функция что-то пытается возвратить
Цитата Сообщение от Kommersantt Посмотреть сообщение
4.
А это, как ни странно, правильно. Единственная ошибка ТС. Он в printf использует адреса по аналогии со scanf.

Добавлено через 9 минут
RolandOfGilead, Дружеский совет. Чем быстрее вы забудете о существовании типа float, тем меньше у вас в будущем будет болеть голова. Используйте всегда double.
1
Kommersantt
18 / 18 / 24
Регистрация: 21.06.2014
Сообщений: 147
05.12.2014, 10:49 4
Цитата Сообщение от Байт Посмотреть сообщение
Сообщение от Kommersantt
1. Во первых в Си первая буква переменные должна быть в нижнем регистре
С какого такого перепугу?!
Я читаю третью книгу по Сишке и там во всех так твердят.

Цитата Сообщение от Байт Посмотреть сообщение
Сообщение от Kommersantt
2. if (X>0 && Y>0) где && имеет больший приоритет чем >.
Впервые слышу
Тут я может перепутал, но по мне для более читаемости скобки были не лишние.

Цитата Сообщение от Kommersantt Посмотреть сообщение
3. Зачем функции заголовок float? Если она ничего не возвращает.
Она-то как раз возвращает. Но ее возврат не используется. Что ошибкой не является и ни что не влияет. А вот у вас как раз ошибочка. void-функция что-то пытается возвратить

Зачем нам использовать тут float? Если в этой задачи, функция ничего не должна возвращать??? поэтому поменял на void
0
05.12.2014, 10:49
Байт
Эксперт C
21886 / 13649 / 2879
Регистрация: 24.12.2010
Сообщений: 29,050
05.12.2014, 11:03 5
Лучший ответ Сообщение было отмечено RolandOfGilead как решение

Решение

Цитата Сообщение от Kommersantt Посмотреть сообщение
Я читаю третью книгу по Сишке и там во всех так твердят.
Очень интересно! Ссылочку или цитатку не можете привести? Нигде и никогда такого не встречал. А прочел я книжечек поболее, чем 3. С латинской буквы - да! Но ее размер нигде не оговаривается.
Цитата Сообщение от Kommersantt Посмотреть сообщение
ут я может перепутал, но по мне для более читаемости скобки были не лишние.
Перепутал. Но скобки - не лишние. Если есть сомнения (а все приоритеты не всегда помнишь) - ставь скобки!
Цитата Сообщение от Kommersantt Посмотреть сообщение
Зачем нам использовать тут float? Если в этой задачи функция ничего не должна возвращает??? поэтому поменял на void
Путаетесь. Функция у ТС возвращает значение (return 1, return 0). Другое дело, что это возвращаемое значение нигде не используется, но это не ошибка. Откуда нам знать, может быть ТС задумал в дальнейшем это значение как-то использовать? Хотя даже в этом случае по логике функции она должна возвращать int или bool. Но это по большому счету - не наше дело.
А вот то что сделали вы - объявили функцию как void и забыли убрать return - это уже ошибка. В лучшем случае транслятор выдаст warring. Но по уму, это конечно error.
0
RolandOfGilead
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 7
05.12.2014, 11:36  [ТС] 6
Спасибо больше, за ваше объяснение.
0
RolandOfGilead
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 7
10.12.2014, 06:48  [ТС] 7
Другое дело, что это возвращаемое значение нигде не используется
Байт, а как использовать возвращаемое значение, подскажите пожалуйста если не трудно.
0
Байт
Эксперт C
21886 / 13649 / 2879
Регистрация: 24.12.2010
Сообщений: 29,050
10.12.2014, 09:59 8
Цитата Сообщение от RolandOfGilead Посмотреть сообщение
как использовать возвращаемое значение,
А зачем?
0
RolandOfGilead
0 / 0 / 0
Регистрация: 09.10.2014
Сообщений: 7
10.12.2014, 11:52  [ТС] 9
Нужно Разработать функцию mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое и среднее геометрическое двух положительных чисел XиY(X, Y– входные, а AMean, GMean – выходные параметры).
В качестве возвращаемого значения функция должна выдавать истину, если числа X и Y положительны и ложь– в противном случае. С помощью этой функции найти среднее арифметическое и среднее геометрическое для пар чисел
(A, B), (A, C), (A, D), если A, B, C, D заданы пользователем.
И я не понимаю как использовать возвращаемое значение в main.
0
10.12.2014, 11:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2014, 11:52

Вместо русских букв выводит чёрные ромбы со знаком ? в чём может быть дело?
Вместо русских букв выводит чёрные ромб с ? в чём дело? Задание:поменять все заглавные на строчные...

Не могу сделать аплоад файла dbf на сервер из скрипта, все время выдается ошибка загрузки
Не могу сделать аплоад файла dbf на сервер из скрипта, все время выдается ошибка загрузки, при этом...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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