Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите настроить вывод "printf" 
:(
    Опции темы
Оксана777
Дата 8.10.2009, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.10.2009

Репутация: нет
Всего: нет



Братцы программисты помогите настроить вывод следующим образом: 
Выводить в три колонки в формате f(x)=y через паузы-нажатия клавиши порциями по N*3 значений (N задает пользователь, сначала снизу вверх заполняется вся колонка, затем также начинается новая)

Код

#include <stdio.h>
#include <stdlib.h>
#include <conio.h> 
#include <math.h> 
#include <dos.h> 
#define C 60
#define M 2

double f(double x)
{
    double y;
    if(x<=-2) y=1-2*(sqrt(1-x));
    else if(-2<x<=4) y=6-exp(x);
    else y=3*sin(2*x);
    return y;
}

void main(void)
{
    unsigned N, c, r;
    double x1, x2, dx, x, y, s;
    clrscr();
    printf("Program tabulates function from x1 to x2, step dx\n");
    printf("Enter x1, x2, dx: \n");
    scanf("%lf%lf%lf", &x1, &x2, &dx);
    printf("Program waits 5 seconds and clears screen every N points. Enter N: ");
    scanf("%u", &N);
    N=N*3;
            if(dx<=0)
{
    printf("Error. dx must be >0 dx*=-1;");
    exit(1);
}
    clrscr();
    x=x1;
    c=c; s=0;
    do
{
    y=f(x);
    s+=y*dx;
    gotoxy(c, r);
    printf ("f(%5.2lf)=%5.2lf", x, y);
             r=N;
    if(r!=0)
{
    delay(5000);
    r-1;
            c=1;
}
        x+=dx;
    }while(x<=x2);
    getch();
}


PM MAIL   Вверх
bsa
Дата 8.10.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Очень удобно вычислять строку и столбец с помощью операций деления и получения остатка. В твоем случае, операция деления нужна для определения столбца, а остатка для строки. Число, к которому нужно применять эти операция - это индекс числа:
Код
09 19 29 39
08 18 28 38
07 17 27 37
06 16 26 36
...
00 10 20 30
Код
const int rows = 10;
const int cols = 4;
const int width = 3;
for(int i = 0; i < cols*rows; ++i) {
   const int x = width * (i / rows);
   const int y = rows - (i % rows) - 1;
   gotoxy(x, y);
   cprintf("%02d", i);
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.