1 Востаннє редагувалося User 298 (23.02.2014 22:45:27)

Тема: Допоможіть доробити програму

Тема:Оператори циклу в мові С

#include<stdio.h>
#include<math.h>
main(){
short n;
double x,y;
short h;
for (n=0; n<5; n++){
printf("| x | y |\n");
printf("|-------|------------|\n");
for(x=0; x<4; x+=0.25){
if(x<1) y=-x;
else y=-0.333*x+0.333;
printf("| %5.2lf | %10.7lf |",x+n*4,y);
h=(y+1)*10;
if(y-1-h*10>0.5) h++;
for(; h>0; h--) printf(" ");
printf("*\n");}
getch();}}

Bartash: код слід брати у теги [ code ].

http://www.imageup.ru/img64/1666664/bezymyannyjj.png

2

Re: Допоможіть доробити програму

І що то має бути? Що вона має робити?

3

Re: Допоможіть доробити програму

Допомогаю:

Прихований текст
main(){}

А якщо вас в моєму коді щось не задовільняє - то подивіться на власне питання і покажіть, чому саме в питанні цей код суперечить. Телепати на Майдані стоять, тут тільки програмісти лишилися.

4

Re: Допоможіть доробити програму

І, заради Бога, вставте код в тег code, не говорячи вже про форматування.

5

Re: Допоможіть доробити програму

У с+ має бути графік.Я не знаю як лінію записати
рівняння для якої х=1.

6

Re: Допоможіть доробити програму

Пане, дуже прошу вас бути уважним до деталей - це для програміста дуже важливо. Наприклад, мови C+ не існує, або принаймні я про неї нічого не чув. У вас якась інша мова, і варіантів, чесно кажучи, два, обидва в назві форуму.
Потім, ваша програма не будує жодної лінії. Якщо у вас проблема тільки з такою лінією, як ви написали, я, звісно, допоможу, але щось мені підказує, що проблем у вас значно більше, а мені не дуже цікаво відповідати на 200 уточнень в умовах, коли питань має бути 2-3.
Ну і найголовніше: стандарти обох мов програмування не передбачають жодних графічних засобів. Отже, доведеться користуватися якимись сторонніми бібліотеками - а часто разом з IDE ідуть такі бібліотеки. Ви ж свого IDE не назвали, отже, знову допомогти вам важче.

В ідеалі питання має складатися з таких частин:
- завдання (написаного в одному місці, а не розкиданого на 10 речень по трьох сторінках форуму, і ще 2 умови ніби очевидні, але не прописані);
- вашого коду (не коду для іншого завдання, а саме вашого коду для цього завдання, хай і неправильного);
- опису проблеми (не "допоможіть" чи "я не знаю", а конкретно - чого ви очікували від коду, а що отримуєте);
- додаткової інформації, що може допомогти іншим допомогти вам (IDE з версією, які додаткові бібліотеки використовуєте, якого рівня знань від вас в цій програмі очікують, ОС і т.д.).
На решту питань відповідатимуть тільки телепати і ті, хто вам щось сильно заборгував.

7

Re: Допоможіть доробити програму

Завдання:для функции Y = f(X), график которой приведен в задании, вывести на экран значения Y для Х = 0, 0.25, 0.5, ... 19.75. Необязательное для выполнения дополнительное требование - получить на экране график функции средствами текстового режима.
Я не знаю як лінію записати рівняння для якої х=1

8

Re: Допоможіть доробити програму

Ось що в мене виходить http://www.imageup.ru/img96/1666965/1392661785-clip-16kb.png

9

Re: Допоможіть доробити програму

Перефразую - ви не знаєте, як провести горизонтальну (у вас же x вертикальний, я правильно зрозумів?) пряму з зірочок?

10

Re: Допоможіть доробити програму

До речі, це графік не функції.

11

Re: Допоможіть доробити програму

koala написав:

До речі, це графік не функції.

Ну то допоможіть зробити графік функції.

12

Re: Допоможіть доробити програму

Я про той графік кажу, що у вас в першому дописі.

13

Re: Допоможіть доробити програму

Я уже повністю запутався.Просто допоможіть по завданні виправити помилки в коді,якщо можете.

14

Re: Допоможіть доробити програму

Так в коді помилок нема, просто на тих ділянках, де треба, виводьте "***************" (якщо треба - в циклі по одній зірочці), ото й все.
А функція - це співвідношення, яке кожному елементу з першої множини ставить у відповідність один і тільки один елемент з другої множини. Тобто вертикальних елементів (і взагалі двох точок на кожній вертикальній прямій) на графіку функції не може бути.

15

Re: Допоможіть доробити програму

koala написав:

Так в коді помилок нема, просто на тих ділянках, де треба, виводьте "***************" (якщо треба - в циклі по одній зірочці), ото й все.
А функція - це співвідношення, яке кожному елементу з першої множини ставить у відповідність один і тільки один елемент з другої множини. Тобто вертикальних елементів (і взагалі двох точок на кожній вертикальній прямій) на графіку функції не може бути.

Я уже нічого не розумію.Напишіть будь ласка,що конкретно  треба зробити.

16

Re: Допоможіть доробити програму

oleh007 написав:

Я уже нічого не розумію.Напишіть будь ласка,що конкретно  треба зробити.

Як на мене вам і так доволі зрозуміло написали. Конкретно для вашої функції треба друкувати "***************" коли y == 0, тобто перед цим

for(; h>0; h--) printf(" ");
printf("*\n");}


вам потрібно зробити перевірку чи y == 0, і якщо це так то вивести "***************", а якщо ні то робити як ви робите.

Подякували: Chemist-i1

17

Re: Допоможіть доробити програму

Dr.WoZD написав:
oleh007 написав:

Я уже нічого не розумію.Напишіть будь ласка,що конкретно  треба зробити.

Як на мене вам і так доволі зрозуміло написали. Конкретно для вашої функції треба друкувати "***************" коли y == 0, тобто перед цим

for(; h>0; h--) printf(" ");
printf("*\n");}


вам потрібно зробити перевірку чи y == 0, і якщо це так то вивести "***************", а якщо ні то робити як ви робите.

І як це зробити?

18

Re: Допоможіть доробити програму

Ну це вже жесть якась.

if (y==0) {printf("***************");}
Подякували: koala, drWoZD, Logans3

19

Re: Допоможіть доробити програму

Chemist-i написав:

Ну це вже жесть якась.

if (y==0) {printf("***************");}

Це проблему основну не вирішило!Потрібно щоб тут була зірочка,щоб графік закрити!!
http://www.imageup.ru/img194/1674066/1392661785-clip-16kb.png

20

Re: Допоможіть доробити програму

Будь ласка, наведіть свій виправлений код.