Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему не работает? / 25 сообщений из 26, страница 1 из 2
07.05.2011, 14:24
    #37250695
AlexanraN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
1) Составить программу, которая распечатывает заданное количество значений функции sin(x)*e^(-x) и соответствующие значения аргумента. Таблица располагается горизонтально. Значения функции распечатываются с точностью 5 знаков после десятичной точки, значения аргумента - с точностью 2 знака после десятичной точки. Функция табулируется на интервале двух периодов.
Я решала так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
void main()
{
double   x,y;
printf("\n\t y="
"sin(x)*exp(-x)\n\n");
printf ("x \t f(x)\n");
for  (x= 0 . 00 ; x<= 6 . 28 ; x+= 0 . 01 )
{
y=sin(x)*exp(-x);
printf ("\t%5.2f\t%9.5f\n", x,y);
}
}
Выдает ошибки: Undefined symbol FIWRQQ in module и Undefined symbol _sin in module
Что не так? и как расположить таблицу горизонтально, у меня ведь будет вертикальной, да?
...
Рейтинг: 0 / 0
07.05.2011, 15:20
    #37250743
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
AlexanraN,

В общем программа то работает.

Какая строка компиляции и компилятор?
Ваш компилятор ругается - автоматически не подключает библиотеку математики.

Таблицу - вертикально - печать циклом. Символ "\n" - переход на новую строку
...
Рейтинг: 0 / 0
07.05.2011, 16:53
    #37250820
AlexanraN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Простите, Ваш вопрос не поняла. Новичок я в программирование, терминологию плохо знаю.:)
я переписала
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
void main()
{
double   x,y;
printf("вычисление функции: y=");

for  (x=0; x<=6.28; x+=0.01)
{
y=sin(x)*exp(-x);
printf ("\t%9.5f", y);
}
{
printf ("\n");}
{
printf ("\t%5.2f", x);
}
}


Теперь будет печатать таблицу горизонтально?
...
Рейтинг: 0 / 0
07.05.2011, 17:29
    #37250842
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
AlexanraNПростите, Ваш вопрос не поняла. Новичок я в программирование, терминологию плохо знаю.:)
В какой программе набираете текст своей и как запускаете на выполнение/компиляцию?
...
Рейтинг: 0 / 0
07.05.2011, 17:46
    #37250854
AlexanraN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Borland C++ 3.1 for DOS. А запускаю... как обычно: run->run.
...
Рейтинг: 0 / 0
07.05.2011, 18:01
    #37250860
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
AlexanraN,

В галочках в сеттингс поставить использовать math и можно emulation.

15 лет bc3.1 не видел )
...
Рейтинг: 0 / 0
07.05.2011, 18:27
    #37250873
AlexanraN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Siemargl, Спасибо большое! Все заработало:)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.07.2014, 21:16
    #38703326
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include <stdio.h>
/* printing the Fahrenheit and Celsius for fahr = 0, 20, ... 300 */
main()
{
	float fahr, celsius;
	int lower, upper, step;
	
	lower = 0;
	upper = 300;
	step = 20;
	
	fahr = lower;
	while (fahr <= upper) {
		celsius = (5.0/9.0) * (fahr-32.0);
		printf(“%3.0f %6.1f\n”, fahr, celsius);
		fahr = fahr + step;
	}
}


Компилятор выбивает ошибку на этом месте: “%3.0f %6.1f\n”
Что делать?
...
Рейтинг: 0 / 0
22.07.2014, 21:27
    #38703331
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
ВарвейнЧто делать?
Не копипастить безмозгло примеры из текста с издательским оформлением и прочими парными
кавычками.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.07.2014, 22:20
    #38703359
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Dimitry SibiryakovНе копипастить безмозгло примеры из текста с издательским оформлением и прочими парными
кавычками.


Ну уж простите, что я такой неуч. В программировании я ноль, и надеялся на указание на ошибку в коде, чтобы учесть ее и не допускать подобного в будущем.
...
Рейтинг: 0 / 0
22.07.2014, 22:28
    #38703364
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Упс, нашёл проблему. Я ведь использую DevC++, а книга по языку С. Ех...
...
Рейтинг: 0 / 0
23.07.2014, 02:05
    #38703427
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
ВарвейнУпс, нашёл проблему. Я ведь использую DevC++, а книга по языку С. Ех...

вам же ответили

Dimitry Sibiryakov Не копипастить безмозгло примеры из текста с издательским оформлением и прочими парными
кавычками.

так надо.
Код: plaintext
1.
printf("%3.0f %6.1f\n", fahr, celsius);



С большой долей вероятности DevC++ должен отлично компилировать этот код.
...
Рейтинг: 0 / 0
23.07.2014, 16:50
    #38704135
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
SashaMercury,

Спасибо, получилось.
Я просто подумал, что должны быть как раз такие кавычки, как в книге (опять же, из-за недостатка знаний в этой области).
...
Рейтинг: 0 / 0
02.09.2014, 20:08
    #38735403
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Я опять обращаюсь за помощью...
Задание: проверить, находится ли точка с координатами (x, y) внутри кольца с центром в начале координат, внутренним радиусом 2,5 и внешним радиусом 3.
Суть поблемы: дважды спрашивает x.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
    float x, y;
    printf("Enter x:\n");
    scanf("%f\n", &x);
    printf("Enter y:\n");
    scanf("%f\n", &y);
    if((pow(x,2)+pow(y,2) >= 6.25) && (pow(x,2)+pow(y,2) <= 9))
    printf("Yes, this point is inside this figure.");
    else printf("No, this point is not inside this figure.");
    getch();
}
...
Рейтинг: 0 / 0
02.09.2014, 20:22
    #38735416
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
ВарвейнСуть поблемы: дважды спрашивает x.Скомпилируй программу еще раз.

И убери \n из шаблона scanf'a. Оно по разному будет работать в разных окружениях.
...
Рейтинг: 0 / 0
02.09.2014, 20:43
    #38735434
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
White Owl, спасибо большое.
...
Рейтинг: 0 / 0
08.09.2014, 20:14
    #38741074
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Задача: напечатать все 3-цифровые натуральные числа, которые равны суме кубов цифр, из которых состоят.
Проблема: выводит длинный столбец из числа 2293456, просто говоря - не работает.
Уже битых два часа сижу, ищу ошибку, но найти не могу, поэтому смиренно прошу о помощи. :'(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
	int x, y, z, p;
	x = 1;
	y = 0;
	z = 0;
	p = 100*x + 10*y + z;
	while (p >= 100 && p < 1000) {
		if (p = pow(x,3) + pow(y,3) + pow(z,3)) printf("%d\n", &p);
		if (z < 9) z = z++;
		else if (z = 9, y <9) y = y++, z = 0;
		else if (z = 9, y = 9, x < 9) x = x++, y = 0, z = 0;
		else if (z = 9, y = 9, x = 9) z = z++;
		p = 100*x + 10*y + z;
	}
	getch();
}
...
Рейтинг: 0 / 0
08.09.2014, 20:25
    #38741078
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
ВарвейнУже битых два часа сижу, ищу ошибку, но найти не могу
Присваивание - один =. Равенство - два ==.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.09.2014, 20:37
    #38741082
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Dimitry SibiryakovПрисваивание - один =. Равенство - два ==.


Спасибо, исправил, но программа всё равно не работает. Может быть, ошибка еще и в алгоритме, но я не могу найти ее.
Попробую еще завтра, на свежую голову.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
	int x, y, z, p;
	x = 1;
	y = 0;
	z = 0;
	p = 100*x + 10*y + z;
	while (p >= 100 && p < 1000) {
		if (p == pow(x,3) + pow(y,3) + pow(z,3)) printf("%d\n", &p);
		if (z < 9) z = z++;
		else if (z == 9, y < 9) y = y++, z = 0;
		else if (z == 9, y == 9, x < 9) x = x++, y = 0, z = 0;
		else if (z == 9, y == 9, x == 9) z = z++;
		p = 100*x + 10*y + z;
	}
	getch();
}

...
Рейтинг: 0 / 0
08.09.2014, 20:53
    #38741087
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Варвейн,

как ты думаешь, как это
Код: plaintext
1.
if (z == 9, y == 9, x == 9)



работает ?

Расскажи нам...
...
Рейтинг: 0 / 0
08.09.2014, 20:54
    #38741088
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
ВарвейнМожет быть, ошибка еще и в алгоритме, но я не могу найти ее.

Запятая не является логическим оператором.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.09.2014, 01:51
    #38741199
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Но тут оптимизировать и оптимизировать

Код: plaintext
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.
#include <stdio.h>
#include <stdlib.h>

#define MAX_INDEXES 4+1
#define MAX_VALUE 1000


int sum_cube_ind(int num)
{
	char* s = (char*)malloc(MAX_INDEXES*sizeof(char));
	sprintf(s, "%d", num);

	int res = 0;
	for (int i = 0; *(s + i); ++i)
	{
		int t = *(s + i) - '0';
		res += t*t*t;
	}
	free(s);
	return res;
}


int main(int argc,char** argv)
{
	for (int i = 1; i <= 1000; ++i)
	{
		sum_cube_ind(i) == i ? printf("%i\n", i) : false;
	}
	return 0;
}




Варвейн, а где декомпозиция задачи
...
Рейтинг: 0 / 0
09.09.2014, 03:44
    #38741221
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Да, и тут программа не только для трёхзначных чисел. Как исправить понятно
...
Рейтинг: 0 / 0
09.09.2014, 16:09
    #38741934
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Прошу прощения у всех, чье время я украл. Я допустил несколько очень глупых ошибок, что и привело к неправильной работе программы.
Вот в таком виде программа работает исправно.

Код: plaintext
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.
#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
	int x, y, z, p;
	x = 1;
	y = 0;
	z = 0;
	p = 100*x + 10*y + z;
	while (p >= 100 && p < 1000) {
		/* Часть, которая отвечает за печать значений, удовлетворяющих условие задачи */
		if (p == pow(x,3) + pow(y,3) + pow(z,3)) printf("%d\n", p);
		else printf(" \b");
		
		/* Часть, которая отвечает за прирост самого числа P на 1 каждый цикл */
		if (z < 9) z = z++;
		else if (z == 9 && y < 9) {
		y = y++;
		z = 0;
	}
		else if (z == 9 && y == 9 && x < 9) {
		x = x++;
		y = 0;
		z = 0;
	}
		else z = z++;
		p = 100*x + 10*y + z;
	}
	getch();
}




SashaMercuryНо тут оптимизировать и оптимизировать
Согласен, программа не оптимизирована, но пока это всё, на что я способен.
...
Рейтинг: 0 / 0
09.09.2014, 16:13
    #38741944
Варвейн
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему не работает?
Ах да, это лишнее.
Код: plaintext
1.
else printf(" \b");
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему не работает? / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]