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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2013, 19:42   #1
Каталина
Пользователь
 
Регистрация: 04.10.2013
Сообщений: 11
Радость Отрицательные строки

Уважаемые программисты, прошу помощи)
Задание состоит в том что бы удалить строку содержащую только отрицательные строки)
Вот собственно код:
Код:
#include "stdafx.h"
#include "stdlib.h"
#include "conio.h"

int _tmain(int argc, _TCHAR* argv[])
{
	int i,j,M,N,min,x;
	float X[20][20];min;
	do
	{
		printf("Vvedite M i N");
		scanf("%d%d",&M,&N);
	}
	while(M<2||M>20||N<2||N>20);
	for(i=0;i<M;i++)
	{
		printf("\n");
		for(j=0;j<N;j++)
		{
			X[i][j]=-100+200.0*rand()/RAND_MAX;
			printf("%8.2f",X[i][j]);
			
		}

	}
	getch();
	return 0;
}
Каталина вне форума Ответить с цитированием
Старый 12.10.2013, 21:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Удалять строки из статического массива не получится. Но получится его значения переписать в другой массив - динамический. Есдинственный достойный вариант - завести массив d[20] типа bool. в который будут писаться TRUE если в строке массива Х есть положительные. Соответственно потом в цикле вывода проверять этот массив:
Код:
	for(i=0;i<M;i++)
	{
		if (d[i]) {printf("\n");
		for(j=0;j<N;j++)
		{
			printf("%8.2f",X[i][j]);
			
		}}
	}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2013, 08:14   #3
Каталина
Пользователь
 
Регистрация: 04.10.2013
Сообщений: 11
По умолчанию

Спасибо)
Попробуем так сделать
Каталина вне форума Ответить с цитированием
Старый 13.10.2013, 11:33   #4
Vladiger
Пользователь
 
Регистрация: 31.08.2013
Сообщений: 93
По умолчанию

Вектора можно использовать?
Если да, то:

Код:
#include <iostream>
#include <vector>

using namespace std;

int main() {
	int M, N;
	do {
		printf("Input M and N\n");
		scanf_s("%d%d",&M,&N);
	} while(M<2 || M>20 || N<2 || N>20);

	vector<vector<float>> X(M, N);

	// Заполняем массив случайными числами
	printf("\n\nFill array random value:\n");
	for(size_t i = 0; i < X.size(); i++) {
		for(size_t j = 0; j < X.at(i).size(); j++) {
			X[i][j] = 200.0f * rand() / RAND_MAX - 100;
			printf("%.2f, ", X[i][j]);
		}
		printf("\n");
	}

	// Удаляем из массива элементы с отрицательными значениями
	size_t i = 0, j = 0;
	while(i < X.size()) {
		while(j < X.at(i).size()) {
			if (X[i][j] < 0) {
				X[i].erase(X[i].begin() + j);
				continue;
			}
			j++;
		}
		j = 0;
		if (X[i].size() == 0) {
			X.erase(X.begin() + i);
			continue;
		}
		i++;
	}

	//Выводим измененный массив
	printf("\n\nUnsigned array:\n");
	for(size_t i = 0; i < X.size(); i++) {
		for(size_t j = 0; j < X.at(i).size(); j++) {
			printf("%.2f, ", X[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	system("PAUSE");
	return 0;
}
Vladiger вне форума Ответить с цитированием
Старый 13.10.2013, 17:59   #5
Каталина
Пользователь
 
Регистрация: 04.10.2013
Сообщений: 11
По умолчанию

Спасибо)
Лаба выполнена)))
Каталина вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалите строки, содержащие ноль, а затем столбцы, в которых только отрицательные элементы(VBA) rad22 Помощь студентам 2 29.05.2012 16:28
Заменить отрицательные элементы суммой номера столбца и номера строки, в которых они находятся gylayko Помощь студентам 5 31.03.2012 18:20
Создать текстовый файл, строки которого содержат целые числа. Обработать файл следующим образом: напечатать все отрицательные числ Anton94.by Паскаль, Turbo Pascal, PascalABC.NET 3 29.02.2012 17:30
Создать текстовый файл, строки которого содержат целые числа. Обработать файл следующим образом: напечатать все отрицательные... Anton94.by Паскаль, Turbo Pascal, PascalABC.NET 2 08.02.2012 19:23
положительные или отрицательные значения в конце строки olimpus Microsoft Office Excel 2 06.02.2011 10:41