Описать одномерный динамический массив с элементами для представления данных сведения о клиентах - C (СИ)
Формулировка задачи:
#include<stdio.h> #include<conio.h> void print_Mas(/*что именно передавать??*/) { printf("+---------------+---------------+--------------------------------+\n"); printf("| razmer | adres | znachenie |\n"); printf("| | |-----------------------|--------|\n"); printf("| | | FIO | god |\n"); printf("|---------------|---------------|-----------------------|--------|\n"); for(i=0; i<M; i++) printf("| %d | %x | %s | %d |\n",sizeof(n),&n,n,sizeof(g),&g,g); printf("+---------------+---------------+--------------------------------+\n"); } void print_Matr(/*что именно передавать??*/) { printf("+---------------+---------------+--------------------------------+\n"); //как сделать табличку?? // как эти циклы написать?? printf("+---------------+---------------+--------------------------------+\n"); } int **Form_Matrix(int M, int N) { int i,j; int **M1; M1= (int**)malloc(M*sizeof(int*)); for(i=0;i<M; i++) { M1[i] = (int*)malloc(N*sizeof(int)); for(j=0; j<N; j++) M1[i][j] = random(111)+20; } return M1; } void Print_Matrix(int M, int N, float **M1) { int i,j; for(i=0;i<M;i++,printf("\n")) for(j=0;j<N;j++) printf(" %3.1d ",M1[i][j]); } int Kol(int M, int N,int **M1) { int i,j; int s=0, k=1, s=0, sr=0; for(i=0; i<M; i++) for(j=0; j<N; j++) s=s+M1[i][j]; k=M*N; sr=sr/k; for(i=0; i<M; i++) for(j=0; j<N; j++) if (M[i][j]>sr && M[i][j]<0) { cout++; } printf("\n V MASSIVE"); printf("\n srednee znachenie elementa=%4d", s); printf("\n kolichestvo otricatelnih elementov,"); printf("\n bolshe srednego=%4d", cout); return cout; } void main() { float **M1, **M2; //что еще надо описать?? printf("\n vvedite kolichestvo elementov massiva: "); scanf("%d",&n); printf("\n vvedite elementi massiva: "); scanf("%s",&); print_Mas(); printf("\n vvedite kolichestvo elementov massiva: "); scanf("%d%d",&M&N); M2=Form_Matrix(M,N); print_Matr(); cout=Kol(M,N,K); getch(); }
Решение задачи: «Описать одномерный динамический массив с элементами для представления данных сведения о клиентах»
int **mas = new int*[n]; //Зачем- узнаешь потом int **mas_1 = mas; for(i = 0; i < n; ++i) { *mas = new int[m]; mas++; } //Теперь mas указывает не на нулевой элемент, а на последний //Чтобы он указывал на нулевой элемент, надо сделать так mas= mas_1; //Вот теперь можешь смело писать так mas [i] [j]= 456; //Ну или так mas_1 [i] [j]= 456;
Объяснение кода листинга программы
В этом коде объявлен двумерный динамический массив (массив массивов) типа int. С помощью оператора new создается массив указателей на int, который будет содержать в себе массивы. Каждый из этих массивов, в свою очередь, будет содержать в себе данные о клиентах. Далее, с помощью цикла for, внутри которого происходит выделение памяти под каждый из массивов с помощью оператора new, создается нужное количество массивов. Указатель mas указывает на последний (нулевой) элемент только что созданного массива. Чтобы указать на первый (нулевой) элемент, используется указатель mas_1. Теперь переменная mas может использоваться для доступа к элементам массива. Пример доступа к элементу: mas[i][j] = 456;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д