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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 21:38   #1
KatrinX60
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 4
По умолчанию уплотнение массива

Формулировка. В данном одномерном массиве A(M) исключите все числа,
равные заданному числу K. Массив A(M) уплотните, и напечатайте
результат.

Формат входных данных. [K] [M] [1-й элемент массива A] [2-й элемент
массива A] и т.д. Элементы массива – целые числа в диапазоне ±1000. M -
целое число в диапазоне [2, 20].

Формат выходных данных. [1-й элемент массива A] [пробел] [2-й элемент
массива A] и т.д. Если массив пустой, то выдается сообщение no
solution.
KatrinX60 вне форума Ответить с цитированием
Старый 16.03.2010, 21:39   #2
KatrinX60
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 4
По умолчанию

[C] #include "stdafx.h"
#include <conio.h>
#include "testing.h"

int _tmain(int argc, _TCHAR* argv[])
{
int arr[20]; //объявление массива
int m; //объявление размеров массива
int k,i,j,n; //дополнительные переменные

input_printf("input number k ");
scanf("%d",&k); //ввод числа для сравнения с элементами массива
input_printf("input the size of the array m ");
scanf("%d",&m); // ввод размера массива
if (m<2 || m>20) //проверка размера массива
{
printf("wrong input numbers");
} //конец проверки размера
else
{
for (i=0; i<m; i++) //цикл ввода массива
{
input_printf("input elements of the array A ");
scanf ("%d", &arr[i]); //чтение каждого элемента массива
if (arr[i]>1000 || arr[i]<-1000) //сразу при вводе проверка каждого элемента массива заданным ограничениям
{
printf("wrong elements of the array");
WAIT_ANY_KEY
return 0;
}
}
}
n=0;
for (i = 0; i <m;i++)
{
if (arr[i] ==k)
{
for (j = i; j < m;j++)
{
arr[j] = arr[j + 1];
}
n++;
m--;
i--;
}
}
for (i=0; i<m-1; i++) //цикл вывода массива
{ if (n==m)
{printf("no solution");}
else
printf("%d ",arr[i]);
}
WAIT_ANY_KEY
return 0;
}

[/C]
KatrinX60 вне форума Ответить с цитированием
Старый 16.03.2010, 21:41   #3
KatrinX60
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 4
По умолчанию

не работает случай,когда все элементы равны k
KatrinX60 вне форума Ответить с цитированием
Старый 16.03.2010, 21:53   #4
KatrinX60
Новичок
Джуниор
 
Регистрация: 14.03.2010
Сообщений: 4
По умолчанию

все,уже все работает))
KatrinX60 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод элементов массива.Изменение элементов массива. Vesnushka18 Помощь студентам 6 09.06.2011 13:05
Задачи на работу с элементами массива и с компонентами массива Full Juice Помощь студентам 24 30.12.2009 13:33
PHP: использование элемента массива как массива Sudia Помощь студентам 1 20.02.2009 20:48
Задачка на уплотнение матрицы TheKnyazz Паскаль, Turbo Pascal, PascalABC.NET 10 17.11.2008 08:31
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44