Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2012, 20:36   #1
xEk
Пользователь
 
Регистрация: 23.11.2011
Сообщений: 19
Вопрос Не заходит в цикл, в чем ошибка? (си)

Вот задание - Ввести массив от 0 до 20 целочисленный, ввести А и В, где А меньше В и вычислить произведение всех элементов в отрезке АВ, сумму кубов вне отрезка АВ и их среднеарифметическое.
Код:
#include <stdio.h>
#include <math.h>
int main (void)
{
    int n=-100,a,b,sred,i,proiz=1;
    for (;(n<=0)||(n>=20);)
    {
        printf ("Enter size massive ");
        scanf ("%i", &n);
    }
    int mass[n];
    for (i=0;i<n;i++)
    {
     printf ("Enter mass[%i] = ", i);
     scanf ("%i", &mass[i]);
    }
    printf ("Enter a =  ");
    scanf ("%i", &a);
    printf ("Enter b =  ");
    scanf ("%i", &b);
    if((mass[i]>=a)&&(mass[i]<=b))
       {
           for(i=0;i<n;i++)
           {
               proiz*=mass[i];
  
           }
           printf ("Proizvedenie = %i", proiz);

       }



    return 0;
}
xEk вне форума Ответить с цитированием
Старый 24.03.2012, 20:54   #2
Leo_nid
Пользователь
 
Регистрация: 24.03.2012
Сообщений: 12
По умолчанию

что за первый цикл, я не понял

а в этот
Код:
 for (i=0;i<n;i++)
    {
     printf ("Enter mass[%i] = ", i);
     scanf ("%i", &mass[i]);
    }
правильно не заходит. i=0 , а n=-100 условие i<n не выполняется

Последний раз редактировалось ACE Valery; 25.03.2012 в 02:40.
Leo_nid вне форума Ответить с цитированием
Старый 24.03.2012, 21:03   #3
xEk
Пользователь
 
Регистрация: 23.11.2011
Сообщений: 19
По умолчанию

первый цикл для того чтобы вводились значения только от 0 до 20 и после него n уже принимает значение которые ты введешь... и извинияюсь за не точность! Не заходит в 3 цикл:

Код:
if((mass[i]>=a)&&(mass[i]<=b))
       {
           for(i=0;i<n;i++)
           {
               proiz*=mass[i];
           }
           printf ("Proizvedenie = %i", proiz);
       }

Последний раз редактировалось ACE Valery; 25.03.2012 в 02:40.
xEk вне форума Ответить с цитированием
Старый 24.03.2012, 21:12   #4
Leo_nid
Пользователь
 
Регистрация: 24.03.2012
Сообщений: 12
По умолчанию

А понял.
Ну тогда не выполняется if((mass[i]>=a)&&(mass[i]<=b)) здесь уже i=n
а такой член массива не определен
Leo_nid вне форума Ответить с цитированием
Старый 24.03.2012, 21:15   #5
Leo_nid
Пользователь
 
Регистрация: 24.03.2012
Сообщений: 12
По умолчанию

Код:
for(i=0;i<n;i++)
 {
   if((mass[i]>=a)&&(mass[i]<=b))
        proiz*=mass[i];
 }
 printf ("Proizvedenie = %i", proiz);

Последний раз редактировалось ACE Valery; 25.03.2012 в 02:39.
Leo_nid вне форума Ответить с цитированием
Старый 24.03.2012, 21:19   #6
xEk
Пользователь
 
Регистрация: 23.11.2011
Сообщений: 19
По умолчанию

Понял, спасибо.

Последний раз редактировалось xEk; 24.03.2012 в 21:23.
xEk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цикл не печатает Y 10 раз, в чем может быть проблема serzav5 Общие вопросы C/C++ 8 22.01.2012 23:57
с++ сложный цикл (ошибка) [WHYNOT] Помощь студентам 7 29.10.2010 00:45
Зацикливается цикл при выполнении... в чем ошибка? Sturvi Общие вопросы C/C++ 2 15.10.2010 20:26
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34