Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Oleg_SK

Ветеран


Сообщения: 1328
Благодарности: 144

Профиль | Отправить PM | Цитировать


SeRgikON
Посмотри, так вроде работает:
Код: Выделить весь код
// Помощь.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"
//
//
//int _tmain(int argc, _TCHAR* argv[])
//{
//	return 0;
//}

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
#define N 100
#define M 100

void main()
{
    setlocale(LC_ALL, "Russian");
    //int Q[N][M]; //исходная матрица 
    float summa_v_stroke[N];
	//int **Q;
    int l,m; //индексы элементов матрицы 
    int rows,cols; //размер матрицы

//Ввод размерности матрицы 
    cout << "Введите элементы матрицы\n";
    cout << "Строки=";
    cin >> rows;
    cout << "Столбцы=";
    cin >> cols;
////////////////Выделение динамической памяти под массив
//////////////    float **Q=(float**) malloc (rows*sizeof(float*));
//////////////   Q[0]=(float*) malloc (rows*cols*sizeof(float));
//////////////    for(l=1; l<rows; l++)
//////////////	{
//////////////		Q[l]=Q[0]+l*cols;
//////////////	}

		float ** Q = new(float* [rows]);
		for(int i = 0; i < rows; ++i)
		{
			Q[i] = new(float[cols]);
		}

// Q=(int**) calloc (rows/cols,sizeof(int*));

// for(int i=0;i<rows/cols;i++)

  // {
   //  *(Q+i)=(int*) calloc (cols,sizeof(int));
  // }
////////////////////Ввод элементов матрицы
//////////////////    printf("Введите элементы матрицы\n");
//////////////////    for(l=0; l < rows; l++)
//////////////////        for(m=0; m < cols; m++)
//////////////////            scanf("%f", *(*(Q+l)+m));
		cout << "Введите элементы матрицы\n";
		for(l=0; l < rows; l++)
			for(m=0; m < cols; m++)
				cin >> Q[l][m];

//Вычисление среднего арифметического в строках матрицы 
        printf("Найдите средние значения строк\n\n");
    for(l=0; l < rows; l++)
    {
        summa_v_stroke[l]=0;
        for(m=0; m < cols; m++)
        {
            summa_v_stroke[l] +=Q[l][m]; //нахождение суммы элементов в строке
        }
        summa_v_stroke[l] = summa_v_stroke[l]/cols; //нахождение среднего арифметического в строке
        printf("Среднее значение %d строки %.2f\n", l, summa_v_stroke[l]);
    }
    printf("\n\n");

    //Вывод полученной матрицы
    printf("Результат:\n");
    for(l=0; l < rows; l++)
    {
        printf("\n");
        for(m=0; m < cols; m++)
        {
            Q[l][m] = Q[l][m]-summa_v_stroke[l];
            printf("%f\t", Q[l][m]);
        }
        printf("\n");
    }

	int x;
	cin >> x;
}
Я закоментил твой код выделяющий память под массив и заполняющий его и заменил его своим вариантом. Вроде бы теперь программа работает, но я особо не разбирался... В конец программы я добавил свой код для организации задержки; для завершения программы нужно ввести число.

-------
Здесь вместо "Спасибо" принято щелкать на "Полезное сообщение" у тех постов, которые вам помогли, или показались полезными.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:55, 03-06-2010 | #2