IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Маленикие Вопросы, думаю на Паскале, пишу на Си
сообщение
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +



#include <stdio.h>
main(){
double x;
int n;
printf("vvedi x,n\n");
scanf("%1.6f %1d",&x,&n);
int i;
double a,f1=0;
for(i=0;i<=n;i++){
printf("vvedi a%i\n",i);
scanf("%f",&a);
f1+=x*a;
}
printf("f1=%.6\n",f1);

return(0);
}


не получается сделать присваивание, аналогичное readln(x) в паскале. подскажите.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(sheka @ 10.07.2009 1:54) *
не получается сделать присваивание, аналогичное readln(x) в паскале. подскажите.
Уточни: ты хочешь вводить оба числа на одной строке:

123.45 10

- или на разных:

123.45
10

- ?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


в данный момент - это роли не играет. если можешь, покажи и так и так.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Я бы сделал проще:
    scanf("%f%d",&x,&n);

Вводить два числа на одной строке через пробел, в конце нажать <enter>.
Полагаю, ты перемудрил с шириной поля. Если тебе она несущественна, то лучше не указывать. Иначе легко ошибиться при вводе.

Добавлено через 2 мин.
Если после каждого числа нажимается <enter>, то так:
    scanf("%f\n%d",&x,&n);


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


#include <stdio.h>
#include <math.h>
main(){
double x,eps,a;
int n;
printf("vvedi n,x,eps,a\n");
scanf("%d\n%f\n%f\n%f\n",&n,&x,&eps,&a);

int i;
double f1;
printf("n=%d x=%f eps=%f a=%f \n",n,x,eps,a);
for(i=f1=0;i<=n;i++,f1+=x*a);{
printf("vvedi a%d\n",i);
scanf("%f\n",&a);
};
printf("f1=%1.6f\n",f1);

double f2=0;
for(i=f2=0;a>=eps;i++,f2+=x*a, a--);
printf("f2=%f i=%d \n",f2,i);

return(0);
}

что-то у меня с вводом не получается. и выводит тоже неизвестно что.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Символы новой строки, "\n", в конце формата - лишние, убери их. См. мой предыдущий мессадж.
И пиши более конкретно симптомы ошибки. У меня тут нет компилятора, и не всегда понятно, что ты имеешь в виду.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






sheka, ты когда программу компилируешь, то не только на ошибки, а и на Warning-и смотри, и бойся их как огня... Смотри, что твоя программа из первого поста выдает в предупреждениях:
F:\Programs\CPP\forum_quick_test\console_c\main.c|2|warning: return type defaults to `int'|
F:\Programs\CPP\forum_quick_test\console_c\main.c||In function `main':|
F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: unknown conversion type character `.' in format|
F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: int format, double arg (arg 2)|
F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: too many arguments for format|
F:\Programs\CPP\forum_quick_test\console_c\main.c|11|warning: float format, double arg (arg 2)|
F:\Programs\CPP\forum_quick_test\console_c\main.c|14|warning: unknown conversion type character 0xa in format|
F:\Programs\CPP\forum_quick_test\console_c\main.c|14|warning: too many arguments for format|
||=== Build finished: 0 errors, 7 warnings ===|

С такими предупреждениями запускать программу - только время терять, ясно, что работать она не будет. Исправляем все вышесказанное:
#include <stdio.h>
int main(){
double x;
int n;
printf("vvedi x,n\n");
scanf("%lf %1d",&x,&n);
int i;
double a,f1=0;
for(i=0;i<=n;i++){
printf("vvedi a%i\n",i);
scanf("%lf",&a);
f1+=x*a;
}
printf("f1=%.6lf\n",f1);

return(0);
}
, запускаем и смотрим что получилось...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


да, класс.
вроде с этим пока мне хватит.
из первого поста почему-то Warnings не выдавало.

как мне создать новый сpp файл? file->new->empty file и дальше писать свое расширение?
как сделать задержку типа readln; ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 3:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name