Ошибка сегментации в массиве констант - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть часть кода. Условия задачи:найти строку с самым большим произведением и отсортировать строку по возрастанию. В определенной строке, компилятор CodeBlocks выдает ошибку сегментации, а именно
error: assignment of read-only location 'a0[numb][j]'
Листинг программы
  1. const int k=4;
  2. const float a0[4][4]={{15, 17, 25, -5}, {75, 464, 12, 9}, {1, 2, 6, -74}, {67, 94, 41, -46}};
  3. int c,i,j,numb;
  4. float n, s,maxx;
  5. printf("const\n\n");
  6. for(i=0;i<k;i++)
  7. {
  8. for(j=0;j<k;j++) printf("%5.0f",a0[i][j]);
  9. printf("\n");
  10. }
  11. for(i=0;i<k;i++)
  12. {
  13. s=1;
  14. for(j=0;j<k;j++) s=s*a0[i][j];
  15. if(s>maxx)
  16. {
  17. maxx=s;
  18. numb=i+1;
  19. }
  20. }
  21. printf("\nСамое большое произведение S=%f в строке numb=%hd",maxx,numb);
  22. for(j=0;j<k-1;j++);
  23. {
  24. s=0;
  25. for(i=j+1;i<k;i++)
  26. {
  27. if(a0[numb][j]>a0[numb][i])
  28. {
  29. s=a0[numb][j];
  30. a0[numb][j]=a0[numb][i]; ///вот тут выдает ошибку сегментации
  31. a0[numb][i]=s;
  32. }
  33. }
  34. }
  35. printf("\n\nОтсортированная строка: ");
  36. for(j=0;j<k;j++) printf("%5.0",a0[numb][j]);
  37. getch();

Решение задачи: «Ошибка сегментации в массиве констант»

textual
Листинг программы
  1. float a0[k][k]={{15, 17, 25, -5}, {75, 464, 12, 9}, {1, 2, 6, -74}, {67, 94, 41, -46}};

Объяснение кода листинга программы

В данном коде объявляется двумерный массив a0 размером kxk, инициализируемый четырьмя вложенными массивами. Каждый вложенный массив состоит из четырех элементов. Значения элементов вложенных массивов присваиваются в цикле. Вложенные массивы инициализируются значениями 15, 17, 25, -5; 75, 464, 12, 9; 1, 2, 6, -74; 67, 94, 41, -46.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы