Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 21:09   #1
Nursik77
Пользователь
 
Аватар для Nursik77
 
Регистрация: 05.04.2011
Сообщений: 20
Вопрос Найти максимальное значение среди отрицательных элементов и вывести на экран его индексы.

Здрастье! Я новичок в программирований, изучаю где-то три недельки и как все новички прошу помощи.
Задачка гласит: Дана квадратная матрица A(4:4). Найти макисмальное значение среди отрицательных элементов и вывести на экран его индексы.
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define n 4
int main()
{
int a[n][n];
int i,j,l,k;
int max;
clrscr();
randomize();
printf("Lubaya matrica:\n");
for(i=0;i<n;i++)
 {for(j=0;j<n;j++)
  {a[i][j]=rand()%100-50;
   printf(" %i",a[i][j]);
  }
printf("\n");
 }
max=-1E38;
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
if(a[i][j]>max && a[i][j]<0)
max=a[i][j];
printf("Max=%i\n",max);
for(i=0;i<n;i++)
 {for(j=0;j<n;j++)
  {if(a[i][j]>max && a[i][j]<0)
   {max=a[i][j];
   l=i;
   k=j;}}
 }
printf("l=%i",l);
printf(" k=%i",k);
getch();
}
max вечно равен нулю, а индексы вообще не в тему, подскажите где подправить?
Nursik77 вне форума Ответить с цитированием
Старый 06.04.2011, 10:34   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Попробуй так, только в строке a[i][j]=rand()*100-50 возможно понадобится дополнительно приводить к типу int.
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define n 4
int main()
{
int a[n][n];
int i,j,l,k;
int max;
clrscr();
randomize();
printf("Lubaya matrica:\n");
for(i=0;i<n;i++)
 {for(j=0;j<n;j++)
  {a[i][j]=rand()*100-50;
   printf(" %i",a[i][j]);
  }
printf("\n");
 }
max=-1000;
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  if((a[i][j]>max) && (a[i][j]<0))
   {max=a[i][j];
   l=i;
   k=j;
    }
printf("Max=%i\n",max);
printf("l=%i",l);
printf(" k=%i",k);
getch();
}
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 08.04.2011, 17:23   #3
Nursik77
Пользователь
 
Аватар для Nursik77
 
Регистрация: 05.04.2011
Сообщений: 20
По умолчанию

Элементы матрицы уж больно большие
Nursik77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на экран минимальное значение среди составных чисел массива. dorofei Помощь студентам 33 24.05.2009 20:42
Найти максимальный из положительных элементов матрицы и сумму отрицательных элементов. bessonov12 Microsoft Office Excel 7 04.05.2009 05:44
. Среди всех нецелых элементов этого массива найти наименьший и определить его номер в массиве Паскалька^^ Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2008 14:18
массив с количеством элементов N. Напечатать те его элементы, индексы которых являются степенями двойки Маськ@ Паскаль, Turbo Pascal, PascalABC.NET 4 12.12.2008 16:34