Помогите найти ошибку. Please!

Тема в разделе "Общие вопросы по С и С++", создана пользователем Guest_snake_*, 20 дек 2005.

Статус темы:
Закрыта.
  1. Guest_snake_*

    Guest_snake_* Гость

    Помогите, срочно, please. Задача:
    Дана квадpатная матpица действительных чисел pазмеpности n
    (n<=15). Найти наибольшее из значений элементов , pасполо-
    женных в заштpихoванной части матpицы.
    Код (Text):
    \*******/
    \*****/
     \***/
     \*/
     /*\
     /***\
    /*****\
    /*******\

    Мое решение работает с целами числами, а когда меняю на действительные- не работает:
    Код (Text):
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    main()
    {
    unsigned n,i,j;
    float A[15][15],max;
    clrscr();
    puts("Vvedite razmernost matrizcu");
    scanf("%u",&n);
    if (n>2 && n<=15)
    {
    for(i=0;i<n;i++)
     {
     for(j=0;j<n;j++)
      {
      printf("Vvedite element %u-oy stroki %u-ogo stolbzca ",i,j);
      scanf("%f",& A[i][j]);
      }
     }
    max=A[0][1];

    for(i=0;i<n;i++)
     {
     for(j=1;j<n;j++)
      {
      if ( ( ((i<j)&&((i+j)<(n-1))) || ((i>j)&&((i+j)>(n-1))) ) && (max>A[i][j]) )
    max=A[i][j];
      }
     }
    printf("Maksimalnoe znachenie elementa %f",max);
    }
    else
    puts ("Vvedeno ne korrektnoe znachenie");
    getch();
    }
     
  2. Anton Chik

    Anton Chik Гость

    в таких случаях я советую после ввода чисел вывести матрицу на экран - посмотреть ввелось ли...
    и еще... при вводе действительных чисел в качестве разделителя целой и дробной частей чем пользуешься? точкой или запятой???
     
  3. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Ты вроде как минимум ищешь??
     
  4. Guest_snake_*

    Guest_snake_* Гость

    Элементы матрицы вообще не вводятся, останавливается на scanf("%f",& A[j])
    При вводе действительных пользуюсь точкой,
    но в данном случаи вообще не получается ввести, выдает ошибку:
    floating point formats not linked
    Abnormal program termination
     
  5. Guest_snake_*

    Guest_snake_* Гость

    Насчет минимума: опечатался надо max<A[j]
     
  6. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    А сформулировать что не работает сложно? Вывавлил кучу кода, для того чтобы потом сказать что у тебя числа не вводятся??
     
  7. Guest

    Guest Гость

    Всем спасибо, ответ найден.
    Данные надо было вводить не сразу в массив, а через другую переменную такого же типа.

    ......
    float A[15][15],max,str;
    ..........
    {
    printf("Vvedite element %u-oy stroki %u-ogo stolbzca ",i,j);
    scanf("%f",&str);
    A[j]=str;
    }
    .........
     
  8. 62316e

    62316e Гость

    Neural Network надо учить(
     
Загрузка...
Похожие Темы - Помогите найти ошибку
  1. OlgaZag
    Ответов:
    1
    Просмотров:
    1.292
  2. OlgaZag
    Ответов:
    0
    Просмотров:
    524
  3. Google313
    Ответов:
    0
    Просмотров:
    1.000
  4. Marikd
    Ответов:
    2
    Просмотров:
    1.210
  5. ruivit
    Ответов:
    2
    Просмотров:
    1.329
Статус темы:
Закрыта.

Поделиться этой страницей