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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2013, 20:02   #11
zheka317
Пользователь
 
Регистрация: 10.10.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
ИМХО, всё верно! тыц
посмотрите внимательно на значения, которые я ввожу - (1,3,4,2), а вы пишете - (1,4,3,2). При таком вводе и у меня всё верно работает
zheka317 вне форума Ответить с цитированием
Старый 10.10.2013, 20:46   #12
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
посмотрите внимательно на значения, которые я ввожу - (1,3,4,2), а вы пишете - (1,4,3,2). При таком вводе и у меня всё верно работает
Ага. Вы правы. Было лень перейти на другую вкладку и взять Ваш контрпример.. Каюсь.. Виновен..
Код прекрасен, 10 минут потратил, чтобы понять в чем же косяк.. А он этом :
Цитата:
Код:
for(i=1;i<n;i++)
    if(a[i][maxInd]<a[i][b[i]])
    {
         maxInd = b[i];
    }
Должно быть

Код:
  for(i=1;i<n;i++)
    if(a[maxInd][b[maxInd]]<a[i][b[i]])
    {
       maxInd = b[i];
    }
Poma][a вне форума Ответить с цитированием
Старый 10.10.2013, 21:02   #13
zheka317
Пользователь
 
Регистрация: 10.10.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение

Код:
  for(i=1;i<n;i++)
    if(a[maxInd][b[maxInd]]<a[i][b[i]])
    {
       maxInd = b[i];
    }
Знаете, мне, наверное, досталась самая дебильная задача, потому что теперь программа некорректно работает со значениями (1,4,3,2) и выдаёт максимальное значение 3 с его индексами...
zheka317 вне форума Ответить с цитированием
Старый 10.10.2013, 21:46   #14
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
int main()
{
int a[100][100],b[100],i,j, n, maxInd;
printf("\n  введите размер a\n");
scanf("%d",&n);
printf("  введите элементы a\n");
  for(i=0;i<n;i++)
    for(j=0;j<n;j++)
      scanf("%d",&a[i][j]);

  //поиск max в матрице А
  for(i=0;i<n;i++)
  {
    b[i] = 0;
    for(j=1;j<n;j++)
    {
        //перенос max в массив B
      if (a[i][b[i]]<a[i][j])
      {
        b[i] = j;
      }
    }
  }
  //вывод матрицы
  printf("  Ваша матрица :\n\n");
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
    printf("%d  ",a[i][j]);
    printf("\n\n");
  }
  //вывод массива В
  printf("  Новый массив B :\n\n");
  for(i=0;i<n;i++)
    printf("элемент  B[%d] = %d\n",i,a[i][b[i]]);
  //поиск max в массиве В
  maxInd = 0;
  for(i=1;i<n;i++)
    if(a[maxInd][b[maxInd]]<a[i][b[i]])
    {
      maxInd = i;
    }
        //вывод рез-а
 printf("\n  самый max = %d\n", a[maxInd][b[maxInd]]);
 printf("  его индексы = %d строка %d столбец\n", maxInd+1, maxInd+1);
}
Или я безбожно туплю из-за недосыпа.. то ли Серж так завернул
Poma][a вне форума Ответить с цитированием
Старый 12.10.2013, 11:19   #15
zheka317
Пользователь
 
Регистрация: 10.10.2013
Сообщений: 12
По умолчанию

Всем спасибо за попытки помочь, однако я сам додумался. Вот окончательный вариант:
Код:
#include<stdio.h>
#include<conio.h>
#include<locale.h>
int main()
{
setlocale(LC_ALL, "Russian");
int a[10][10],i,j,n,ni,nj,max,maxim;
printf("\n  введите размер a\n");
scanf("%d",&n);
printf("  введите элементы a\n");
  for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    scanf("%d",&a[i][j]);
  //поиск max
ni=0;nj=0;maxim=a[0][0];
  for(i=0;i<n;i++)
  {
  max=a[i][0];
    for(j=0;j<n;j++)
    {
      if(max<a[i][j])
      {
      max=a[i][j];
      }
    if(max>maxim)
    {maxim=max;ni=i;nj=j;}
    }
  }
  //вывод матрицы
printf("  Ваша матрица :\n\n");
  for(i=0;i<n;i++)
  {
    for(j=0;j<n;j++)
    printf("%d  ",a[i][j]);
    printf("\n\n");
  }
ni++;nj++;
printf("\n  самый max = %d\n",maxim);
printf("  его индексы = %d строка %d столбец\n",ni,nj);
getch();
}
zheka317 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив, прочитав(язык си+++) mitja-zakelidis Помощь студентам 7 17.03.2012 15:23
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив(язык с++) yury.zanilov Помощь студентам 6 16.03.2012 13:46
Несколько условных операторов. Язык программирования Delphi 7 ZigFree Помощь студентам 0 27.12.2010 20:03
Целочисленная матрица (язык Pelles C) Kotik Wasil Помощь студентам 0 12.12.2010 20:42
Матрица Язык (Паскаль) Азарт Помощь студентам 1 14.04.2009 00:09