Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Visual C++
Регистрация

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

Ответ
 
Опции темы
Старый 25.11.2012, 17:39   #1
dimi3ryi
Новичок
 
Регистрация: 14.11.2012
Сообщений: 3
Репутация: 10
Печаль

В общем,написал программу,которая принимает введенную с клавы матрицу(двухмерный массив) и вычисляет первый столбец без отрицательных элементов. Также она должна сортировать строки матрицы по возрастанию кол-ва одинаковых элементов в них(к примеру сначала строка без повтор. элем,потом с 1 или 2 и т.п.).Вот с сортировкой и возникли траблы,помогите,пожалуйста, кто может,а то перепробовал тучу вариантов-везде какие-то ошибки(то вместо 1 строки нолики пишет,то сортирует только 1 и 2ю строку)
Код:

#include "stdafx.h"
#include<conio.h>
#include<string.h>
#include<math.h>
#define n 100
#define m 100
...
int sort(int array[n][m],int o,int r,int i,int j)
{
int k,g,l,t;
int arraysame[n];
	for(i=0,k=0;i<o,k<o;i++,k++) //начало сомнений :confused:
	{
			for(int j1=1,j=0,g=0;j<r,j1<r;j++,j1++)
			{
				if(array[i][j1]==array[i][j])
				{
					g++;
					arraysame[k]=g;
				}
			}
	}
	for(i=0,k=0,t=k+1;i<o,k<o,t<o; )
	{
		if(arraysame[k]<=arraysame[t])
			t++;
		if(arraysame[k]>arraysame[t])
		{
			for(j=0;j<r;j++)
			{
				l=array[k][j];
				array[k][j]=array[t][j];
				array[t][j]=l;
				t++;	//конец :(
			}
		}
	}
return array[o][r];
}
...
void main()
{
	int array[n][m];
	int i,j,o,r;
	int k,l,f=1;
	...
	sort(array,o,r,i,j);
	printf(" \n Array after sort : ");
	...
printf("\nEnter Esc for continue...");
getch();
}

Вот кстати ещё 1 вариант сортировки,тоже не рабочий(иногда 0 выдаёт)
...
Код:

for(i=0,k=0;i<o,k<o;i++,k++)
		{
			for(j=0;j<r;j++)
				{
					for(int j1=j;j1<r;j1++)
						{
							if(array[i][j1]==array[i][j])
							arraysame[k]++;
						}
				}
		}
	}
	{
		for(i=0,k=0;i<o,k<o;i++,k++)
			{
				if(arraysame[k]>arraysame[k+1])
					{
						for(j=0;j<r;j++)
						{
							l=array[i][j];
							array[i][j]=array[i+1][j];
							array[i+1][j]=l;
						}
					}
			}
	}

...
Ну или предложите свой способ сортировки двухмерного масива

Последний раз редактировалось dimi3ryi; 26.11.2012 в 16:56.
dimi3ryi вне форума   Ответить с цитированием
Ответ



Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка матрицы!!!! RazveD Паскаль 0 23.04.2012 18:06
Сортировка матрицы Eovin Помощь студентам 0 20.12.2009 16:36
Сортировка матрицы VD1988 Помощь студентам 1 01.12.2009 10:23
Сортировка матрицы counter Assembler 4 09.06.2009 00:00




21:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru