помощь на контре


гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
Назад к темам раздела.
2010-10-12 22:26:29 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
завтра с 9 утра нужна помощь от умеющих фигачить на Си

решить 2 задачи, может 3 уровня посчитайте сумму в последовательности, косинус и тд.
у меня тупо нет времени на подготовку, а помощь нужна вц как.

за решение задачек - плачу монетками
 
2010-10-12 22:27:36 гильдия Заморские Купцы (Грандмастер)[36347] Петя_Листерман Информация
был бы примерным мальчиком Хайд бы помог))))
 
2010-10-12 22:29:54 гильдия Столичные Шахтеры (Элита)[64262] yashchar Информация
Мне в лом вспоминать синтаксис вывода на С, могу на плюсах написать. Да, и 9 утра у меня начинается в 10 по Москве ))
 
2010-10-12 22:36:04 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
Петя_Листерман
:3 был бы примерным мальчиком сам бы выучил.
yashchar
фу таким быть :
 
2010-10-12 22:43:30 гильдия Столичные Шахтеры (Элита)[64262] yashchar Информация
_ПеСеЦ_
Канешна фу. Сам стыжусь, горючими слезами заливаюсь. Аж кусок бывает в горло не лезет. Короч, помогу, чем смогу )))
 
2010-10-12 23:12:13 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
_ПеСеЦ_
я с 8 на работе, если буду у компа и не дернут куда-нибудь гляну
 
2010-10-12 23:13:19 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
_ПеСеЦ_
компилятор по-прежнему Студия?
если да, то важен ли синтаксис чистого Си или С++ допускается?
 
2010-10-12 23:23:02 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
MrHide
увы чистый си
 
2010-10-12 23:34:16 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
_ПеСеЦ_
да не проблема, мне что С++ что Си я на обоих могу писать только с компилятором вопрос
я под студией чистый Си не запускал
 
2010-10-12 23:38:00 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
MrHide
буду рад любой помощи)
 
2010-10-12 23:52:07 гильдия Бойцы (Мастер)[9103] гильдия Охотники Илдиора (Новичок)[80] Орда Орков (На пенсии) AsaG Информация
Горька)
 
2010-10-13 00:01:59 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
AsaG
не вижу на тебе фаты
 
2010-10-13 00:17:05 гильдия Бойцы (Мастер)[9103] гильдия Охотники Илдиора (Новичок)[80] Орда Орков (На пенсии) AsaG Информация
_ПеСеЦ_
А я как в России на всё ходу в бульдозер)Чем не запоминающаяся свадьба)
 
2010-10-13 07:50:12 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
арарарара
 
2010-10-13 09:37:28 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
1) С клавиатуры вводится целое число.
Вывести на экран количество цифр в его записи.
 
2010-10-13 09:38:17 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
2) С клавиатуры вводится действительно число, вывести на экран его целую и дробную часть, не пользуясь стандартными библиотечными функциями.
 
2010-10-13 09:42:11 гильдия Собиратели (Адепт)[2425] _ПеСеЦ_ Информация
Microsoft Visual Studio 2005
 
2010-10-13 09:51:25 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
_ПеСеЦ_ писал(а):
1) С клавиатуры вводится целое число.
Вывести на экран количество цифр в его записи.

#include <stdio.h>
//using namespace std;

void main(void)
{
long int Numb=0; //число
long int Tmp=0; //временная переменная для обработки числа
int Digit=0; //текущая цифра числа
int ColDig=0; //для хранения количества цифр
int Rez=0; //результат
bool Error = 0; //флаг ошибки
int i=0;
puts("Input the number and press Enter");
scanf("%d",&Numb); //вводим число
Tmp = Numb;
while(Tmp!=0)
{
Digit=Tmp%10; //выделяем правую цифру для обработки
Tmp=Tmp/10; //отбрасываем правую цифру которую начали обрабатывать
ColDig=ColDig+1;
}
printf("nOn number '%d' is %d digits...",Numb,ColDig);
}
 
2010-10-13 09:53:36 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
_ПеСеЦ_ писал(а):
1) С клавиатуры вводится целое число.
Вывести на экран количество цифр в его записи.

#include <stdio.h>

void main(void)
{
long int Numb=0; //число
long int Tmp=0; //временная переменная для обработки числа
int Digit=0; //текущая цифра числа
int ColDig=0; //для хранения количества цифр
puts("Input the number and press Enter");
scanf("%d",&Numb); //вводим число
Tmp = Numb;
while(Tmp!=0)
{
Digit=Tmp%10; //выделяем правую цифру для обработки
Tmp=Tmp/10; //отбрасываем правую цифру которую начали обрабатывать
ColDig=ColDig+1;
}
printf("nOn number '%d' is %d digits...",Numb,ColDig);
}

так лучше (убрал лишние переменные)
 
2010-10-13 10:46:57 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
#include <stdio.h>

void main(void)
{
int Cel=0; //переменная для целой части
int Drob=0; //переменная для дробной части
puts("Input the number and press Enter");
scanf("%d.%d",&Cel,&Drob); //вводим число
printf("nOn number celaya chast is %d ...ndrobnaya chast is %d",Cel,Drob);
}

такой специфический вариант, само число не вводится в вещественном виде, вводятся отдельно целая и дробная части в разные целочисленные переменные
 
2010-10-13 10:50:08 гильдия Столичные Шахтеры (Элита)[64262] yashchar Информация
#include <stdio.h>

int main (void)
{
int ch, a=0, i=0, j=0;
char inter[255], fract[255];
printf ("Insert real number:");
do {
ch = getchar();
if( ch == '.' )
{
a=a+1;
continue;
}
if(a==0)
{
inter[i]=ch;
i=i+1;
}
else
{
fract[j]=ch;
j=j+1;
}

} while(ch != 'n');
inter[i]='0';
fract[j]='0';
printf ("Integer part: %s, Fract: %sn", inter, fract);
return 0;
}
 
2010-10-13 10:51:37 гильдия Столичные Шахтеры (Элита)[64262] yashchar Информация
Вторая задача. Число считывается полностью, как строка. Ищется знак "точка" как разделитель целой и дробной частей. Дальше массивы символов для целой и дробной части. Под конец - как ASCII-строки завершаются нулем
 
2010-10-13 10:55:53 гильдия Столичные Шахтеры (Элита)[64262] yashchar Информация
Ну дополнительные пояснения:
yashchar писал(а):
if( ch == '.' )
{
a=a+1;
continue;
}

проверка "точки" переменная а в данном случае - логический флаг её наличия

[ц=yashchar:if(a==0)
{
inter[i]=ch;
i=i+1;
} ]
обработка целой части. Мы в массив символов целой части заносим очередное число, если флаг не включен

[ц=yashchar:else
{
fract[j]=ch;
j=j+1;
} ]
точка была найдена. поэтому работаем с дробной частью

yashchar писал(а):
while(ch != 'n');

это мы считываем строку пока не будет нажат enter

[ц=yashchar:inter[i]='0';
fract[j]='0'; ]
завершаем нулем оба массива. Все
 
2010-10-13 11:01:45 гильдия Столичные Шахтеры (Элита)[131682] гильдия Алхимики (Элита)[194744] MrHide Информация
yashchar
через scanf проще, он сам разделители считывает.

_ПеСеЦ_
перевод в число нужен?
 
2010-10-13 11:11:01 гильдия Мудрецы (Новичок)[76] гильдия Собиратели (Грандмастер)[42512] hockfan Информация
MrHide писал(а):
#include <stdio.h>

void main(void)
{
long int Numb=0; //число
long int Tmp=0; //временная переменная для обработки числа
int Digit=0; //текущая цифра числа
int ColDig=0; //для хранения количества цифр
puts("Input the number and press Enter");
scanf("%d",&Numb); //вводим число
Tmp = Numb;
while(Tmp!=0)
{
Digit=Tmp%10; //выделяем правую цифру для обработки
Tmp=Tmp/10; //отбрасываем правую цифру которую начали обрабатывать
ColDig=ColDig+1;
}
printf("nOn number '%d' is %d digits...",Numb,ColDig);
}

а там нельзя флоат просто взять и делить на 10 пока не будет меньше 1. количество циклов равно количеству цифр. Вроде код поменьше получается без излишков)
 
123