Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Тест-форум (http://forum.oszone.net/forumdisplay.php?f=26)
-   -   Проблема (http://forum.oszone.net/showthread.php?t=246124)

pashazt 03-11-2012 21:26 2018069

Проблема
 
Некорректно работает часть программы, которая должна считать максимум среди сумм элементов диагоналей, паралельных главной диагонали матрицы. Помогите найти ошибку, и напишите цикл который находит слово, которое имеет наибольшое количество гласных букв.

Код:

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<locale.h>
#include<iostream>

int main()

{
    setlocale (LC_ALL, "Rus");
   
    int m,n,i,j,d,f,k,l,p;
   
    printf("Введите количество элементов в строке матрицы n = ");
    scanf("%d",&n);
   
    printf("Введите количество элементов в столбце матрицы m = ");
    scanf("%d",&m);

    int matrix[i][j];

 
    for(i=0;i<n;i++)
    {
        printf("Введите элементы %d строки ",i+1);
        for(j=0;j<m;j++)
        scanf("%d",&matrix[i][j]);
    }
   
    for(i=0; i<n; i++)
    {
            for(j=0; j<m; j++)
            printf("%d ", matrix[i][j]);
            printf("\n");
            }
           
            printf("1)Произведение элементов в тех строках, которые не имеют отрицательных элементов=");
            for(i=0; i<n; i++)
            {
                      d=1;
                      f=1;
                      for(j=0; j<m; j++)
                      if (matrix[i][j]>=0)
                      d=d*matrix[i][j];
                      else f=0;
                      if (f==1)
                      printf("%d",d);
                }
               
                printf("\n2)Максимум среди сумм элементов диагоналей, паралельных главной диагонали матрицы=);
                k=matrix[1][m];
                for (l=1-m; l<=m-1; l++)
                {
                    p=0;
                    for (i=0; i<n; i++)
                    for (j=0; j<m; j++)
                    if (i-j==l)
                    p=p+matrix[i][j];
                    if (p>k)
                    k=p;
                    }
                    printf("%d",k);
                   
getch();
return 0;
}



Время: 19:16.

Время: 19:16.
© OSzone.net 2001-