Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 01:47   #1
Ramesses
Новичок
Джуниор
 
Регистрация: 23.06.2014
Сообщений: 1
По умолчанию Подскажите пожалуйста как переделать даную программу под указатели?

Код:
#include "stdafx.h"
#include <math.h>
#include <windows.h>
#include <conio.h>
#include <iostream>
#include "stdio.h"
#include "math.h"
using namespace std;
int main(){
	setlocale(LC_ALL, "Russian");
	int **mas, n, m, i, j, j1, temp, temp1, sum;
	bool fl;
	cout << "Введите количество строк матрицы:" << endl;
	cin >> n;
	if (n<0) cout << ("Ошибка") << endl;
	else
		cout << ("\nВведите количество столбцов матрицы: ") << endl;
	cin >> m;ф
	if (m<0) cout << ("Ошибка") << endl;
		mas = new int*[n];
	for (i = 0; i<n; i++)
		mas[i] = new int[m];
	cout << ("\nВведите элементы матрицы: ") << endl;
	for (i = 0; i<n; i++)
	for (j = 0; j<m; j++)
	{
		cout << "[" << i + 1 << "][" << j + 1 << "]= ";
		cin >> mas[i][j];
	}
	cout << ("\nИсходная матрица") << endl;
	for (i = 0; i<n; i++)
	{
		for (j = 0; j<m; j++)
		{
			cout.width(4);
			cout << mas[i][j];
		}
		cout << endl;
	}
	
	for (i = 0; i<m; i++)
	{
		sum = 0;
		fl = true;
		for (j = 0; j<n; j++)
		{
			sum += mas[j][i];
			if (mas[j][i]<0)
				fl = false;
		}
		cout << ("в столбце ") << i + 1;

		if (!fl)
			cout << (" есть орицательный элемент и сумма его элементов равна ") << sum << endl;
		else
			cout << (" нет отрицательного элемента") << endl;
	}
	for (j = 0; j<m - 1; j++)
	for (j1 = 0; j1<m - 1 - j; j1++)
	{
		temp1 = temp = 0;
		for (i = 0; i<n; i++)
		{
			if (mas[i][j1]<0 && abs(mas[i][j1]) % 2 == 1)
				temp += abs(mas[i][j1]);
			if (mas[i][j1 + 1]<0 && abs(mas[i][j1 + 1]) % 2 == 1)
				temp1 += abs(mas[i][j1 + 1]);
		}
		if (temp>temp1)
		for (i = 0; i<n; i++)
		{
			temp = mas[i][j1];
			mas[i][j1] = mas[i][j1 + 1];
			mas[i][j1 + 1] = temp;
		}
	}
	cout << ("\nПолученная матрица") << endl;
	for (i = 0; i<n; i++)
	{
		for (j = 0; j<m; j++)
		{
			cout.width(4);
			cout << mas[i][j];
		}
		cout << endl;
	}
	cout << endl;

	system("pause");
	return 0;
}

Последний раз редактировалось Stilet; 24.12.2014 в 07:44.
Ramesses вне форума Ответить с цитированием
Старый 24.12.2014, 07:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А чем именно она тебе не нравится? Тут и так используются указатели.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всем доброго времени суток!Если можете помогите пожалуйста переделать программу под сдвиг единицы по синусойде Ddradok Помощь студентам 0 14.12.2014 21:13
переделать программу под функцию twonislatex Помощь студентам 9 25.10.2013 16:12
переделать программу через указатели Лена1308 Помощь студентам 1 27.11.2012 00:45
задача с++(переделать под указатели) Tiva Помощь студентам 2 23.11.2011 12:57
Переделать программу под структуры. Си++ Влад-mego Помощь студентам 0 12.04.2009 22:14