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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2010, 14:05   #1
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
Вопрос Удалени строк в массиве. в си

Дан массив целых чисел. удалить те строки в которых все элементы отрицательны
Денни вне форума Ответить с цитированием
Старый 10.07.2010, 14:30   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

вы щас херню написали, давай полное ТЗ из задачника
NiCola999 вне форума Ответить с цитированием
Старый 10.07.2010, 14:53   #3
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

от такое задание и есть
Денни вне форума Ответить с цитированием
Старый 10.07.2010, 15:17   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Цитата:
Дан массив целых чисел. удалить те строки в которых все элементы отрицательны
1) строка в массиве одна, может быть вы имели ввиду матрицу ?(двумерный массив)
2) как понять удалить?Создать матрицу меньше и скопировать данные? Просто любой массив имеет фиксированный размер, его нельзя изменить. Менять размер можно в динамических массивах.
NiCola999 вне форума Ответить с цитированием
Старый 10.07.2010, 15:19   #5
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

ну матрица удалить значит удалить я с методички переписал задание ну ток с массивом лохонулся остальное праильно
Денни вне форума Ответить с цитированием
Старый 10.07.2010, 15:27   #6
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

короче за 100 руб сделаю, только я буду вечером сегодня
NiCola999 вне форума Ответить с цитированием
Старый 10.07.2010, 16:43   #7
dxdy
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 78
По умолчанию

Надеюсь условие задачи понял верно. Время на тестирование программы не было.
Код:
#include <iostream>
#include <time.h>
using namespace std;

int CreateMatrix(int n, int m);
int *CheckMatrix(int **Array, int n, int m, int *Check);
int PrintMatrix(int **Array, int n, int m);

int main(){
	srand( time(NULL) );
	CreateMatrix(3,3);
	return 0;
}

//-------------------------------
int CreateMatrix(int n, int m){
	int **Array = new int*[n];
	for(int i = 0; i < n; i++)
		Array[i] = new int[m];

	//заполнение
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++)
			Array[i][j] = rand()%10 - 7;
	}

	int *Check = new int[n+1];
	for(int i = 0; i < n+1; i++)
		Check[i] = -1;

	// проверка
	Check = CheckMatrix(Array,n,m,Check);

	int size = Check[n];
	if(size <= 0){
		cout << "Matrix not change!" << endl; return 0;
	}
	int **newArray = new int*[size];
		for(int i = 0; i < size; i++)
			newArray[i] = new int[m];

		int count = 0;
		for(int i = 0; i < n; i++){
			if( Check[i] >= 0 ){
				for(int j = 0; j < m; j++)
					newArray[count][j] = Array[i][j];
				count++;
			}
		}

	cout << "Do" << endl;
	PrintMatrix(Array,n,m);
	cout << "\nPosle" << endl;
	PrintMatrix(newArray,size,m);
	for(int i = 0; i < n; i++)
		delete []Array[i];
	delete []Array;

	for(int i = 0; i < size; i++)
		delete []newArray[i];
	delete []newArray;

	delete []Check;
	return 0;
}

//----------------
int PrintMatrix(int **Array, int n, int m){
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++)
			cout << Array[i][j] << " ";
		cout << endl;
	}
	return 0;
}

//----------------
int *CheckMatrix(int **Array, int n, int m, int *Check){
	int count = 0;
	for(int i = 0; i < n; i++){
		bool fl = true;
		for(int j = 0; j < m; j++){
			if( Array[i][j] >= 0 ){
				fl = false; break;
			}
		}
		if(!fl){
			Check[i] = 1; count++;
		}
	}
	Check[n] = count;
	return Check;
}
Я не волшебник, я еще только учусь ٩(๏̯͡๏)۶
dxdy вне форума Ответить с цитированием
Старый 10.07.2010, 17:26   #8
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

не работает(((
Денни вне форума Ответить с цитированием
Старый 10.07.2010, 17:45   #9
dxdy
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 78
По умолчанию

Цитата:
не работает(((
Этих слов для полного ответа недостаточно. Программа не компилируется или программа ломается на каких-либо тестах? У меня проект компилируется отлично.
Изображения
Тип файла: jpg matrix.jpg (7.6 Кб, 82 просмотров)
Я не волшебник, я еще только учусь ٩(๏̯͡๏)۶
dxdy вне форума Ответить с цитированием
Старый 10.07.2010, 17:55   #10
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

не выдаёт результат компилируется и всё
Денни вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск текста(эл-т массива) в массиве строк peq Microsoft Office Excel 2 16.04.2010 15:11
Поиск в массиве строк. (visual basic) Mikle1990 Помощь студентам 7 19.03.2010 09:44
(Си) Замена слов наименьшей длины в массиве строк RZMTZM Общие вопросы C/C++ 7 25.01.2010 00:30
Как быстро узнать исть ли данная строка в массиве из строк? Alex Cones Общие вопросы Delphi 10 27.08.2009 08:57