Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 10.01.2011, 15:16   #1 (permalink)
PAREN
Новичок
 
Регистрация: 08.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Не могу исправить

#pragma argsused

int main()

{

int a,s,i;

s=0;

for (i=1;i<=5;i++)

{

printf("vvedite chislo \n");

scanf("%i", &a);

s=s+a;

};

s=s/5;

printf("\n srednee arifmeticheskoye ravno %d",s);

getch();

return 0;


Здесь как сделать что бы Дробные числа считал а не целые.
PAREN вне форума   Ответить с цитированием

Старый 10.01.2011, 15:16
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Нужная для вас информация должна быть тут

Помогите исправить косяки
Помогите исправить ошибку
Что за ерунда и как ее исправить?

Старый 10.01.2011, 18:24   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

А вы переменные a и s определите как вещественные, например, так:
Код:
float s, a;
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 10.01.2011, 18:47   #3 (permalink)
Dram
Экономичный вид памяти
 
Аватар для Dram
 
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
По умолчанию

выводить и считывать надо как float переменную %f
Код:
int main()

{

float a,i,s;

s=0;

for (i=1;i<=5;i++)

{

printf (" vvedite chislo \n");

scanf("%f", &a);

s=s+a;

};

s=s/5;

printf("\n srednee arifmeticheskoye ravno %f",s);

getch();

}
Dram вне форума   Ответить с цитированием
Старый 10.01.2011, 19:06   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Imho, ошибку выдаст при выполнении команды i++, переменная i должна быть целочисленной, так как используется как счётчик цикла.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 10.01.2011, 20:57   #5 (permalink)
Dram
Экономичный вид памяти
 
Аватар для Dram
 
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Imho, ошибку выдаст при выполнении команды i++, переменная i должна быть целочисленной, так как используется как счётчик цикла.
Проверял в turbo C все работает. думаю и в более тяжелых "компилях" будет без ошибочно работать. Кстати ради интереса выставил шаг 1.25 и даже не пискнул, работает как надо Ну на крайняк i можно заintить.
Dram вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 10.01.2011, 21:11   #6 (permalink)
Dram
Экономичный вид памяти
 
Аватар для Dram
 
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
По умолчанию

Пардон, ошибку он не выдает, но вот цикл считает не правильно. так что правильным будет i под int
Dram вне форума   Ответить с цитированием
Старый 13.01.2011, 09:54   #7 (permalink)
PAREN
Новичок
 
Регистрация: 08.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

aacuiyiiue.jpg
Не могу понять почему всё наоборот, пишет 5 сложное число.
И можете помоч с Блок -Схемой к этой программе
ddd.jpg
PAREN вне форума   Ответить с цитированием
Старый 15.02.2011, 05:43   #8 (permalink)
thermite
Member
 
Аватар для thermite
 
Регистрация: 13.02.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Думаю что- >С проверкой на простое число ты никогда не напишешь программу.
thermite вне форума   Ответить с цитированием
Старый 15.02.2011, 07:22   #9 (permalink)
thermite
Member
 
Аватар для thermite
 
Регистрация: 13.02.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Извеняюсь, проверку можно выполнить, если не усну, то напишу код.
thermite вне форума   Ответить с цитированием
Старый 15.02.2011, 08:54   #10 (permalink)
thermite
Member
 
Аватар для thermite
 
Регистрация: 13.02.2011
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Я разгадал головоломку! Вот код, только на Си, думаю ты разберешься, что к чему, пользуйся на здоровье! )
================================================== =====
#include <stdio.h>

int main()
{
float result;
float number = 7;

int i = 2;
int m;
int H = 1;
//================================================== ==
while( i < number )
{
m = number;
if( ( (result = ( number / i ) ) > 0 )&& ( ( m = ( m % i ) == 0 ) ) ) // если встретиться число больше нуля
return 0; // и по модулю число будет равно нулю, значит число сложное!
i++;
}
printf("Простое число\n");
}
thermite вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:08.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.