|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.05.2009, 23:40 | #1 |
Регистрация: 23.05.2009
Сообщений: 9
|
Маленькая проблемка с поиском лок минимумов
Подсчитать количество локальных минимумов
заданной матрицы (локальный минимум - элемент, который строго меньше своих соседей). #include<stdio.h> #include<math.h> #include<conio.h> void main() { int a[4][4]; int i,j,s=0,k,n; clrscr(); printf("vvedite razmernost n="); scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++) { puts("vvedit element masiva:"); scanf("%d",&a[i][j]); }} if (i=0) - вот ошибка(забыл удалить) if ((j==n)&&(i==0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j])) s++; }} if ((i==0)&&(j==0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i+1][j-1])) s++; }} if ((i==n)&&(j==0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i-1][j])) s++; }} if ((i==n)&&(j==n)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j])) s++; }} if ((i==0)&&(j!=n)&&(j!=0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j]) &&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j+1])) s++; }} if ((i==n)&&(j!=n)&&(j!=0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j]) &&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i-1][j+1])) s++; }} if ((j==0)&&(i!=n)&&(i!=0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i+1][j+1]) &&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j+1])) s++; }} if ((j==n)&&(i!=n)&&(i!=0)) for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i+1][j-1]) &&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j-1])) s++; }} else for(i=0;i<n;i++){ for(j=0;j<n;j++) { if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i-1][j+1]) &&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j])) s++; }} for(i=0;i<n;i++){printf("\n"); for(j=0;j<n;j++){ printf(" %d",a[i][j]); }} printf("Kolichestvo lok min=%d",s); getch(); } почемуто неправильно выводит хотя я все условия поверил (на углах и по бокам) Последний раз редактировалось denisk0; 25.05.2009 в 23:47. Причина: ошибка |
25.05.2009, 23:44 | #2 |
Регистрация: 23.05.2009
Сообщений: 9
|
ой всё нашол
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оператор for,маленькая проблемка | Dimmy | Помощь студентам | 2 | 24.11.2008 19:13 |
Маленькая программка | pLo_ua | Помощь студентам | 21 | 12.10.2008 00:43 |
Не маленькая недороботка | Sibedir | О форуме и сайтах клуба | 2 | 10.12.2007 13:27 |
Маленькая недоработка... | Карась | О форуме и сайтах клуба | 2 | 09.12.2007 18:34 |
Проблемка с поиском | Glyuk24 | Помощь студентам | 6 | 24.11.2007 22:31 |