Heaven1987
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Можете помочь с программой по функциям. Не получается до конца довести. Нужно доработать задание с матрицей. Найти в матрице первый столбец, все элементы которого отрицательны, и среднее арифметическое этих элементов. Вычесть полученное значение из всех элементов матрицы. #include <stdio.h> #include <string.h> #include <iostream> #include <conio.h> #include <malloc.h> void matrix(); void string(); int menu(); int main() { while(1) { switch(menu()) { case 1: matrix(); break; case 2: string(); break; case 3: return 0; } } } void matrix() { int i, j, n, m ; int sum=0; float sred; printf("Vvedite razmernost massiva(m*n): " ); scanf("%d%d",&m,&n); int **matrica = (int **)malloc(m * sizeof(int *)); for (i = 0; i < m; i++) matrica[i] = (int *)malloc(n * sizeof(int)); printf("Vvedite elementy massiva\n" ); for (i=0;i<m;i++) for (j=0;j<n;j++) {matrica[i][j]=rand () % 21-10; printf("%7d", matrica[i][j]); } for (i=0;i<m;i++) { for (j=0;j<n;j++) if (matrica[i][j]<0) { -------------------- } } printf("Znachenie dlya vychitania %d\n", sred); for (i=0;i<m;i++) for (j=0;j<n;j++) matrica[i][j]-=sred; for(i = 0; i < m; i++) { for(j = 0; j < n; j++) printf("%d ", matrica[i][j]); printf("\n"); } } void string() { char str[80]; printf("Vvedite stroky slov "); fflush(stdin); gets(str); int sum=0; for (int i=0; i<strlen (str);i++) if ((str[i] >=A && str[i]<=Z) || (str[i]>=a && str[i]<=z)) sum+=str[i]; printf (“summa : %d\n :”,sum); } int menu() { int c; do { printf("\n Menu \n"); printf("1. Matrix: \n"); printf("2. Stroka: \n"); printf("3. Vihod\n"); printf(" Vash vibor: "); scanf("%d", &c); }while(c>3); return c; } Спасибо,форумчане! |