PDA

Показать полную графическую версию : Проблема


pashazt
03-11-2012, 21:26
Некорректно работает часть программы, которая должна считать максимум среди сумм элементов диагоналей, паралельных главной диагонали матрицы. Помогите найти ошибку, и напишите цикл который находит слово, которое имеет наибольшое количество гласных букв.


#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;
}




© OSzone.net 2001-2012