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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 00:12   #1
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию Си найти одинаковые идущие подряд элементы и удалить один из них

плз помогите не могу догнать де ошибка
Код:
#include <stdio.h>
#include <conio.h>

int main(void)
{const int nstr =5;
int n,i,k=0;
float a[nstr];
printf("vvodim massiv\n");
for(i=0;i<nstr;i++)
scanf("%f",&a[i]);
for(i=0;i<nstr;i++)
    {if (a[i]=a[i+1]) {(a[i+1]=a[i+2]);
k++;}}
                   }
                   printf("rezul'tat\n" );
                   for(i=0;i<nstr-k;i++)
                   printf("%4.0f",a[i]); 
                   getch();
                   return 0;
    }
Денни вне форума
Старый 15.02.2010, 00:50   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

if (a[i]=a[i+1])

кстати, там нужно не только один элемент сдвигать, а все остальные.
Carbon вне форума
Старый 15.02.2010, 00:54   #3
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

ээээ а код в си скинуть можешь?
Денни вне форума
Старый 15.02.2010, 01:05   #4
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

в чём задание: удалить из массива подряд одинаковые элементы или вывести, убрав из потока ввода одинаковые элементы?
Carbon вне форума
Старый 15.02.2010, 01:12   #5
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

удалить один из повторяющихся элементов
Денни вне форума
Старый 15.02.2010, 01:13   #6
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

В первом случае все числа в точности должны попасть в массив и задание - обработать массив.
Во втором не важно, в каком виде попадут числа в массив. Главное - вывести.


На вход: 1 1 1 2 2 2 3 3 3
Что на выходе?
Carbon вне форума
Старый 15.02.2010, 01:18   #7
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

ну как бы 123
Денни вне форума
Старый 15.02.2010, 01:36   #8
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Возможно, так:
Код:

int diff = 0;
for ( int i = 1; i < nstr; ++i )
if ( a[ i ] != a[ i - diff - 1 ] ) a[ i - diff ] = a[ i ];
else ++diff;

for ( int i = 0; i < nstr - diff; ++i ) printf( "%f ", a[ i ] );
Carbon вне форума
Старый 15.02.2010, 01:41   #9
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

спс тема закрыта
Денни вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одинаковые элементы массива на си elka Помощь студентам 9 25.01.2010 21:57
Как найти абсолютно одинаковые строчки и удалить их, и объединить очень похожие? dronkailp Microsoft Office Excel 4 28.10.2009 16:59
задача - Даны номерные знаки автомашин.Определите,есть ли среди них одинаковые. NATKA Помощь студентам 3 01.12.2008 19:35
Одинаковые элементы kodov Общие вопросы Delphi 3 11.08.2008 14:03