Нужна Помощь В Решении Задачи, Пожалуйста, Откликнитесь.

Тема в разделе "C и С++ FAQ", создана пользователем ozolli098, 12 ноя 2013.

Статус темы:
Закрыта.
  1. ozolli098

    ozolli098 New Member

    Регистрация:
    12 ноя 2013
    Сообщения:
    3
    Симпатии:
    0
    Задача такова: Найти количество положительных элементов между первым и последним нулевыми значениями каждого столбца целочисленной матрицы А. Результаты записать в одномерный массив S. Для столбцов матрицы, содержащих менее двух нулевых элементов, напечатать сообщения с номерами строк, при этом в результирующий массив записать (-1). Собственно код моей программы прикреплю ниже(P.S. Пишу на Visual studio 2008). Программа не работает, выводит всегда "-1", помогите, пожалуйста, найти ошибку или поправить стратегию моего размышления.
    #include "stdafx.h"
    #include "conio.h"
    #include "iostream"
    #include "math.h"
    int _tmain(int argc, _TCHAR* argv[])
    {int i, j, m, n,g,h,o,u,k; double mas [100][100],s[100];
    printf("Vvedi kol-vo strok=");
    scanf_s("%ld", &m);
    printf("Vvedi kol-vo stolbchov=");
    scanf_s("%ld", &n);
    for(i = 0; i < m; i++)
    for(j = 0; j < n; j++)
    {printf("mas[%d,%d]= ",i+1,j+1);
    scanf_s("%lf", &mas[j]);
    }
    for(j=0;j<n;j++)
    {bool find; k=0;
    for (i=0;i<m;i++)
    {if (mas[j]= 0 && !find) find=true;
    else if (find && (mas[j]>0)) k++;
    else if (find && (mas[j]=0)) break;}
    if (k>0) s[j]=k;
    else s[j]=-1;
    printf("s[%ld]=%lf\n",j+1,s[j]);
    }
    getch();
    return 0;
    }
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей