Вроде как сделал я эту схему, скорее всего с ошибками, но всё-таки.
Теперь действительно сложная для меня вещь, на основе этой схемы(хотя можно и без неё) надо написать программу, которая считала бы функцию (из первого поста) по методу/условию (тоже из первого поста). Надеюсь (имя пользователя съел шамблер) сможет хотя бы тут помочь.
Из всего что написал только break знаю
А что такое vqvod tablicq или SHAG FUNKCII я хз. Но я вполне допускаю, что это достойные, уважаемые люди, может даже тибетские монахи
Добавлено 05-10-2010 в 13:42:
ЗЫ. Никогда не пиши в алгоритме цыклы в виде for( int i ... за такое поушам надавать мало. Процессор ни про какие циклы не ведает.
Есть только условный и безусловные переходы.
Поэтому рисуешь вот так:
Вложение: loop.bmp (13.4 кб)
Этот файл был скачан 517 раз.
Задание: Вывести на экран матрицу 5 на 5. Найти и вывести на экран самое большое чётное число из главной диагонали матрицы. А так же найти и вывести на экран самое малое нечётное число из побочной диагонали матрицы.
Вот, что я намудрил:
code:
#include <stdio.h>
int main(void)
{
int i=0,j=0,max,min;
int matrx[5][5];
for(i=1;i<6;i++)
{for(j=1;j<6;j++)
{matrx[i][j] = i*j;}
}
for (i=1;i<6;i++)
{
for(j=1;j<6;j++)
{printf("%d\t",matrx[i][j] = i*j);}
printf("\n");
}
for(i=1;i<6;i++)
{
if(matrx[i][i]%2 == 0 && max < matrx[i][i])
max=matrx[i][i];
if(matrx[i][i]%2 == 1 && min > matrx[i][i])
min=matrx[i][i];
}
printf("\nMAX = %d\nMIN= %d",max,min);
getchar();
return 0;
}
Проблема в том, что это чудо считает наиболее большим чётным числом - 26. И я не понимаю как проверить побочную диагональ(сейчас проверяется главная).
вот за такое - руки отрывать надо. У тебя в массиве ПЯТЬ элементов, а ты лезешь в шестой. Твое персональное счастье, что в С++ нету экзепшенов на выход за пределы массива, поскольку под чистым Си твой код мигом вылетит с ошибкой. И правильно сделает.
Объясни, пожалуйста, почему ты оставляешь ячейки [0][0] в матрице непроинициализированными. и упорно лезешь за границы массива в каждом из циклов? Это вас в институте так учат?