С++: Записать первые n членов геометрической прогрессии в файл

Задача:

Написать программу, которая принимает параметры, задающие геометрическую последовательность, а так же число n — количество элементов последовательности. Записать результат работы программы в файл.

Очень простой код:


int _tmain(int argc, _TCHAR* argv[])
{
int N, b0, q;
printf("Enter N, b0, q:");
scanf("%d %d %d",&N, &b0, &q);
FILE * file;
file = fopen("output.txt", "w");
for (int i = 0; i<N; i++)
{
fprintf(file, "%d ",b0);
b0 *= q;
}
fclose(file);
return 0;
}

Сначала стандартно с консоли читаются данные в переменные. Далее создается указатель на файловую переменную. Файл output.txt открывается на запись и далее в него в цикле ведется вычисление следующего элемента последовательности и запись его в файл.

b0 *= q, это тоже самое, что и b0 = b0*q;

2 Responses

  1. expert 21.02.2012 / 16:22

    Изменять переменную b0, являющуюся по сути входным параметром, не совсем корректно. Это примерно то же самое, что изменять формальный аргумент функции. Лучше создать для вычислений новую переменную, а переменные N, q и bo воспринимать как read-only.

    • Pyatnitsev 21.02.2012 / 16:27

      Это сделано специально.
      Такое действие в данном случае позволяет сократить расход памяти — пусть на 4 байта но сократить.

Добавить комментарий