Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

 
 
Опции темы Опции просмотра Language
Старый 12.04.2015, 13:48   #3
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Re: Помогите перевести программу из С++ в Си

Код:
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <math.h>

#define MaxNumber 65535//Макс значение, которое могут ввести(мы ограничиваемся размером unsigned int)

int main()
{
	int N;//Кол-во строк N(отсчёт от 1)
	int M;//Кол-во элементов M(отсчёт от 1)
	int EditNumber;//Насколько смещаем массив
	int **mass;
	int max[2],min[2];
	int i,n,m;
	scanf("%d %d %d",&N,&M,&EditNumber);//вводим например "4 5 2"(как в примере)
	mass = (int**)malloc(N*sizeof(int*));
	for (i = 0; i < N; i++) 
		mass[i] = (int*)malloc(M*sizeof(int));
	/*Записываем в массивы наши числа*/
	for(n=0; n<N;n++)
	{
		printf("mass: %d\n",n);
		for(m=0; m<M;m++)
		{
			scanf("%d",&mass[n][m]);
		}
	}

	for(n=0; n<N;n++)
	{
		/*Находим id ячейки, где лежат макс и мин значения*/
		max[0]=0;max[1]=mass[n][0];
		min[0]=0;min[1]=mass[n][0];//min[0] - id ячейки; min[1] - само число
		for(m=1; m<M;m++)
		{
			if(mass[n][m]<min[1])
			{
				min[1]=mass[n][m];
				min[0]=m;
			}
			if(mass[n][m]>max[1])
			{
				max[1]=mass[n][m];
				max[0]=m;
			}	
		}
		/*Сдвигаем если нужно наш массив*/
		if((int)fabs((float)(max[0]-min[0]))-1>1)//находим модуль разности и вычитам 1, если больше 1 смещаем массив направо на 2
		{
			for(int m=M-EditNumber-1;m>=0;m--)
				mass[n][m+EditNumber]=mass[n][m];
			//std::rotate(mass[n],mass[n]+(M-EditNumber),mass[n]+M);
		}

	}
	/*Выводим массивы*/
	printf("======RETURN======");

	for(n=0; n<N;n++)
	{
		printf("\nmass:%d = ",n);
		for(int m=0; m<M;m++)
			printf("%d ",mass[n][m]);
	}
	getch();
	return 0;
}
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
 


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите перевести текст на русский Frenk Архив 6 15.01.2013 00:30
Помогите перевести! kirillsas Скорая помощь 4 01.09.2009 12:25
Помогите перевести написанное на C# в C++ sercool Программирование 4 03.02.2008 23:32
Помогите перевести картинку в другой формат! rubin7 Архив 10 07.06.2007 13:35
Помогите перевести 2 страниц с Итальянского FoxMan Архив 9 29.06.2006 22:24

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:15. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.04061 секунды с 12 запросами