Вопрос по С++

EpsOn

New Member
задание: Скласти програму, яка для заданого каталога файлової системи виводе на екран імена всіх файлів- текстів програм написаних мовою паскаль, які знаходяться в данному каталозі та в його підкаталогах.

Помогите пожалуйста.
 

AKYLAmen

New Member
Скласти програму,яка для заданного каталогу файлової системи та імені файлу виводить на екран повідомлення про наявність чи відсутність такого файлу у даному каталозі та в його підкаталогах.
Помогите с программой.
 

Пух

كنت بلهاء
Модератор
от количества одинаковых сообщений, которые ты здесь оставишь, ничего не поменяется. С таким подходом, желающих помочь будет ещё меньше...
 

denial

Amhrán na bhFiann
Помогите пожалуйста разобраться что к чему в программе. Какая часть что делает.
PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
#include <assert.h>
#include <conio.h>
int tok;
double tokval;
  FILE *stream;


char s[15]="\0";   
int next() {

    for (;;) {
	int c = fgetc(stream);
	if (c == EOF || strchr("+-()\n", c) != NULL) return tok = c;
	if (isspace(c)) continue;
	if (isdigit(c) || c == '.') {

	    ungetc(c, stream);
	   // fgetc(tokval,stream);
	    fscanf(stream," %lf", &tokval);
	    return tok = 'n';
	}
	fprintf(stderr, "Bad character: %c\n", c); abort();
    }
}

void skip(int t) { assert(tok == t); next(); }

double expr();

// numpar ::= number | '(' expr ')'
double numpar() {
    if (tok == 'n') { double x = tokval; skip('n'); return x; }
    skip('('); double x = expr(); skip(')'); return x;
}

// factor ::= numpar | numpar '^' factor
double factor() {
    double x = numpar();
    return x;
}

// term ::= factor | term '*' factor | term '/' factor
double term() {
    double x = factor();
    for (;;) {
       return x;
    }
}

// expr ::= term | expr '+' term | expr '-' term
double expr() {
    double x = term();
    for (;;) {
	if (tok == '+') { skip('+'); x += term(); }
	else if (tok == '-') { skip('-'); x -= term(); }
	else return x;
    }
}

int main() {
clrscr();
// stream=NULL;
 if (( stream=fopen("input.in", "r"))==NULL)
{
	 printf ("There are an error\n");
}
else
{

    next();
    printf("RESULT=");
    while (tok != EOF) {
	if (tok == '\n') { skip('\n'); continue; }
	printf("%.9g\n", expr());
    } }
    getch();
   // printf("s=%s",s);
    return 0;
}
 

TraNceR

Member
калькулятор?
Вкоментариях написано вроди как что происходит :)
 

Пух

كنت بلهاء
Модератор
Масив цілих чисел Y заповнити випадковими числами в інтервалі від -10 до 10. Вивести початкові індекси всіх безперервних послідовностей відємних чисел, довжина яких більше 5.
вопрос. Например у меня идет с 15го по 21й элемент все числа отрицательные. Программа должна вывести только 15 или 15,16,17 ?
 

Пух

كنت بلهاء
Модератор
Знакомая задача…
у нас спор сложился в чём:
например имеем последовательность, которой элементы с индексами 15-23 отрицательные. Но 16-23, 17-23, 18-23 тоже подходят под условие(непрерывная последовательность больше 5). Лично я думаю, что нужно вывести только 15, т.к. там последовательность начинается, а все остальные числа (16,17 и т.д.) входят именно в эту последовательность, которая начинается с 15ти.
Задачка лёгкая, но не очень понятное условие.
 

akl

geek
Так как последовательностей может быть несколько, соответственно - несколько начальных будет индексов. Т.е. 15, я думаю нужно выводить.
 

Пух

كنت بلهاء
Модератор
float a,a1,a2,da;
for (a=a1;a<=a2;a+=da)
цикл идет до a=a2-da; (тоесть если а1=1,0; а2=2; da=0.2, то цикл доходит только до a=1.8).

Как правильно сделать?
так?

я так понимаю это всё из-за того, что тип float хранит число только с определенной точностью(вроде 7 или 8 знаков после запятой) и нельзя сравнивать 2 числа этого типа ?
 
Зверху