C, PHP, VB, .NET

Дневникът на Филип Петров


* Опрератор за цикъл for

Публикувано на 28 септември 2008 в раздел С/С++.

Това е най-сложният като синтаксис оператор:

    for(<израз1>; <израз2>; <израз3>)
    {
        оператори;
    }

Тук изразите в условието на цикъла са следните:

- израз1 се нарича "начално условие" или "израз за инициализация. Изпълнява се само веднъж преди започването на цикъла.

- израз2 е "условие за проверка". Цикъла ще бъде изпълняван дотогава, докогато това условие връща резултат различен от нула.

- израз3 изменя текущите стойности на параметрите на цикъла.

Очевидно, е че всеки оператор for може да бъде заменен с оператор while по следният начин:

    израз1;
    while(израз2)
    {
        оператори;
        израз3;
    }

Това твърдение се доказва като припомним, че всеки израз, завършен с ";", се превръща в оператор.

Пример: Реализирайте програма, която сумира всички цели числа в даден интервал като използвате цикъл и ги добавяте едно по едно:

    int sum = 0;
    // Долна граница на интервала
    int intmin = 5;
    // Горна граница на интервала
    int intmax = 15;
    for(int i = intmin; i <= intmax; i++)
    {
        sum = sum + i;
    }
    printf("The sum of the integers in [%d, %d] is %d\n", intmin, intmax, sum);

Пример: Напишете програма, която въвежда квадратна матрица 3x3 от клавиатурата и извежда главният ѝ диагонал на екрана:

    int matrix[3][3];
    int i, j;
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            printf("Enter element (%d,%d): ", i+1, j+1);
            scanf("%d", &matrix[i][j]);
        }
    }
    printf("\n\nThe lead diagonal is: \n\n");
    for(i=0; i<3; i++)
    {
        for (j=0; j<=i; j++)
        {
            printf(" ");
        }
        printf("%d\n", matrix[i][i]);
    }
    printf("\n\n");

Задача: Променете горния пример, така че да изкарва вторият главен диагонал на матрицата.

Задача: Изведете на екрана самата матрица и транспонираната матрица.

Задача: Напишете програма, която събира две матрици с размерност 3x2.

Задача: В масив а[10] от клавиатурата се въвеждат произволни по знак цели числа. Намерете всички отрицателни числа и запишете абсолютните им стойности в масив b[10] в обратен ред.
Пример: От масив a = {-1, 2, 3, -4, 5, -6, -7, 8, 9, -10) трябва да се получи масив b = {10, 7, 6, 4, 1, 0, 0, 0, 0, 0}

 



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

Адресът на електронната поща няма да се публикува


*