* Опрератор за цикъл for
Публикувано на 28 септември 2008 от Филип Петров. Записано в C/C++.
Това е най-сложният като синтаксис оператор:
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);
Пример: Напишете програма, която въвежда квадратна матрица 3×3 от клавиатурата и извежда главният й диагонал на екрана:
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");
Задача: Променете горния пример, така че да изкарва вторият главен диагонал на матрицата.
Задача: Изведете на екрана самата матрица и транспонираната матрица.
Задача: Напишете програма, която събира две матрици с размерност 3×2.
Задача: В масив а[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}
Пусни коментар
Страници
Категории
- C/C++ (45)
- DB (36)
- Dogs (49)
- Food (7)
- History (8)
- Java (33)
- Lada (41)
- Math (104)
- Metodos (23)
- NetSec (36)
- Other (76)
- Politics (32)
- Probability (13)
- VC++.Net (1)
- XHTML/JS (25)
Нови
- Един виц за капитализма
- Как да получиш целувка?
- Лека разходка на Витоша
- Роко и Берра на училище
- Газова бутилка под багажника на Лада Нива