Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [c/c++] Корректировка программы


Автор: sallak 14.12.2009, 20:16
Код

#include "stdafx.h"
#include "stdio.h"
#define n 5

int _tmain(int argc, _TCHAR* argv[])
{
    int b[n], i;
    for (i=0; i<n; i++)
    {
        scanf_s ("%d \n",&b[n]);
    }
    for (i=1; i<n; i++)
    {
        if (b[i]<b[i-1])
            printf ("po rosty  \n");
        else printf ("ne po rosty \n");
    }    
    return 0;
}


мне сказали сделать флаг, чтобы printf не повторялся много раз, но я не знаю как писать...

Автор: ИванМ 14.12.2009, 20:31
Код

   for (i=0; i<n; i++)
        scanf_s ("%d",&b[i]);
    for (i=1; i<n; i++)
        printf (b[i]>b[i-1] ? "po rosty  \n" : "ne po rosty \n");

Автор: Luyan 14.12.2009, 20:40
Цитата(sallak @  14.12.2009,  20:16 Найти цитируемый пост)
мне сказали сделать флаг, чтобы printf не повторялся много раз

Код

    int b[n], i;
    bool flag = true; // флаг
    for (i=0; i<n; i++)
        scanf_s ("%d",&b[i]);
    for (i=1; i<n; i++)
    {
        if(b[i]<b[i-1])
        {
            flag = false;
            break;
        }
    }
    if(flag)
        printf ("po rosty  \n");
    else
        printf ("ne po rosty  \n");

Автор: Dov 14.12.2009, 22:49
Код
    for (i=1; i<n; i++)
    {
        if (b[i]>=b[i-1])
        {
            printf("ne ");
            break;
        }       
    } 
    printf("po rosty \n");    


Добавлено через 2 минуты и 59 секунд
Цитата(sallak @  14.12.2009,  19:16 Найти цитируемый пост)
 scanf_s ("%d \n",&b[n]);

нужно так: 
Код

scanf_s ("%d",&b[i]);


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)