Сортировка в массиве при помощи указателей и функций. Ошибки компиляции - C (СИ)
Формулировка задачи:
Здравствуйте гениальный народ цифирь)))
я начинающий программист) пытаюсь отстучать Си.
Столкнулся с Проблемой! Пытаюсь разобраться в теме: сортировка в массиве при помощи указателей и функций.
На одной машине прога не работает вообще как надо. на второй прога работает но ругань компилятора непомерна!
Помогите исправить ошибку не исправляя принцип работы программы. Спасибо!
забил функции в Хеддер:
Написал вот такой исходник .с:
Компилятор выдаёт следующее...
Листинг программы
- #ifndef SORT_H
- #define SORT_H
- #include <stdio.h>
- //создал массив
- int massiv(int *p, int n, int m)
- {
- int i;
- for (i=0;i<n*m;i++)
- {
- *(p+i)=rand()%100;
- }
- }
- //распечатка массива
- void printm (int *p, int n, int m)
- {
- int i, j;
- for (i=0;i<n;i++)
- {
- for (j=0;j<m;j++)
- {
- printf(" %02d",*(p+i*n+j));
- }
- putch('\n');
- }
- }
- //Сама сортировка
- void sort (int *p, int n, int m)
- {
- // printf("\n %d",*p);
- int i,j;
- for (i=0;i<n*m-1;i++)
- {
- for (j=i+1;j<n*m;j++)
- {
- if(*(p+i)>*(p+j))
- {
- *(p+i)=*(p+i)^(*(p+j));
- *(p+j)=*(p+i)^(*(p+j));
- *(p+i)=*(p+i)^(*(p+j));
- }
- }
- }
- }
- #endif
Листинг программы
- #include <stdlib.h>
- #include <stdio.h>
- #include <conio.h>
- #include <windows.h>
- #define color(color) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);}
- #include "Sort.h"
- #define N 8
- #define M 8
- // int massiv (int *pm, int n, int m);
- // void printm (int *pm, int n, int m);
- int main()
- {
- system("chcp 1251>0");
- int a[N][M], i, j, k;
- srand(time(0));
- massiv(a,N,M);
- color(0x96);
- printm(a,N,M);
- sort(a,N,M);
- puts("\nотсортированный массив:\n");
- printm(a,N,M);
- getch();
- }
Решение задачи: «Сортировка в массиве при помощи указателей и функций. Ошибки компиляции»
textual
Листинг программы
- massiv((int*)a, N, M); // и в остальных так же
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д