• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите найти ошибку в программе

  • Автор темы Автор темы Vasa
  • Дата начала Дата начала

Vasa

Ученик
Регистрация
15 Апр 2011
Сообщения
6
Реакции
0
Баллы
0
Помогите найти ошибку в программе

Задание: Вывести на экран N членов арифметической прогрессии.

#include <stdio.h>
#include <conio.h>
void main(void)
{
int N,a0,d,a,a_pred,i;
printf("Vvedite perviy chlen progressii ",a0);
scanf("%d",& a0);
printf("Vvedite neobhodimoe chislo chlenov progressii ",N);
scanf("%d",& N);
printf("Vvedite shag progressii ",d);
scanf("%d",& d);
a_pred=a0;
for(i=0;i<=N;i++)
{
a=a_pred+i*d;
printf("Vot=>%3d",a);
scanf("%d",&a);
a_pred=a;
}
}
 
Арифмети́ческая прогре́ссия — числовая последовательность вида
a0, a0+d, a0+2d, a0+3d,...an+(n-1)d...
то есть последовательность чисел (членов прогрессии), каждое из которых, начиная со второго, получается из предыдущего добавлением к нему постоянного числа d (шага или разности прогрессии).
Если шаг d > 0, прогрессия является возрастающей; если d < 0, — убывающей.
Таким образом, у вас ошибка непосредственно в формуле вычисления члена прогрессии.
a_pred=a0;
for(i=1;i<=N;i++)
{
a=a0+i*d;
printf("Vot=>%3d",a);
scanf("%d",&a);
a_pred=a;
}
Помеченное красным - удалить, желательно вместе с определением переменной в начале программы. Помеченное синим - привести в соответствие с выделением. :))
 
Спасибо за ответ,я испарив все,но он выводит на экран только первый член арифмет прогрессии а ост только после нажатия какой-то цифры

#include <stdio.h>
#include <conio.h>
void main(void)
{
int N,a0,d,a,i;
printf("Vvedite perviy chlen progressii ",a0);
scanf("%d",& a0);
printf("Vvedite neobhodimoe chislo chlenov progressii ",N);
scanf("%d",& N);
printf("Vvedite shag progressii ",d);
scanf("%d",& d);
for(i=1;i<=N;i++)
{
a=a0+i*d;
printf("Vot=>%3d",a);
scanf("%d",&a);
}
}
 
Назад
Сверху