Перевернуть четные строки двумерного массива - C (СИ) (74982)

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

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

Здравствуйте, нужно перевернуть четные строки двумерного массива . Вот что вышло но программа выдает ошибку^ invalid conversion from `void*' to `int*' 9 и 64 строка
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. void setArray(int* b[],int x,int y)
  5. {
  6. int i,j;
  7. for (j=0;j<y;j++)
  8. {
  9. int* a=calloc(x,sizeof(int));
  10. for (i=0;i<x;i++)
  11. {
  12. a[i]=1+rand()%9;
  13. }
  14. b[j]=&a[0];
  15. }
  16. }
  17. void printArray(int* a[],int x,int y)
  18. {
  19. int i,j;
  20. for (j=0;j<y;j++)
  21. {
  22. for (i=0;i<x;i++)
  23. {
  24. printf("%3d",a[j][i]);
  25. }
  26. printf("\n");
  27. }
  28. }
  29. void swapArray(int* b[],int x,int y)
  30. {
  31. int i,j,k,temp;
  32. for (j=0;j<y;j++)
  33. {
  34. if (j%2==0)
  35. {
  36. for (i=0,k=x-1;i<x/2;i++,k--)
  37. {
  38. temp=b[j][k];
  39. b[j][k]=b[j][i];
  40. b[j][i]=temp;
  41. }
  42. printf("\n");
  43. }
  44. }
  45. }
  46.  
  47. int main()
  48. {
  49. // переменные
  50. int x,y,i,j;
  51. // ввод размерности массива
  52. srand(time(0));
  53. printf("Please enter size array x:");
  54. scanf("%d",&x);
  55. printf("Please enter size array y:");
  56. scanf("%d",&y);
  57.  
  58. int** b=calloc(y,sizeof(int));//выделения памяти под массив указателей
  59. setArray(b,x,y); // функция заполнения массива случайными числами
  60. printArray(b,x,y); // функция вывода массива
  61. swapArray(b,x,y); // функция замены порядка элементов
  62. printf("\n");
  63. printArray(b,x,y);
  64. return 0;
  65. }

Решение задачи: «Перевернуть четные строки двумерного массива»

textual
Листинг программы
  1. int* a=(int*)calloc(x,sizeof(int));

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

  1. a - указатель на выделенную память для хранения целочисленных значений, полученных путем вызова функции calloc с аргументами x и sizeof(int). Значение x представляет собой количество строк в двумерном массиве, а sizeof(int) определяет размер памяти, выделяемой для каждой ячейки массива.
  2. x - переменная, представляющая количество строк в двумерном массиве.

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


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

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

8   голосов , оценка 4.125 из 5

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

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

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