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

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

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

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

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

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

народ не могу допетлить де ошибка помогите плз оч нуно

ненулевые элементы массива Б перенести в массив П
вот код
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

int main()
{const int nstr =4;
     int i,k,j;
     float b[nstr];
     float p[nstr];
     printf("vvedite elementi massiva\n");     
     for (i=0;i<nstr;i++)    
     scanf("%d\n",&b[i]);
     k=0;
     j=0;
     for(i=0;i<nstr;i++)
     {
                     if(b[i]!=0)
                     p[j]=b[i];
                     k=k++;
                     j=j++;
                                }
     for(i=0;i<nstr-k;i++)
     
printf("rezul'tat%4.1f  ",p[i]);
getch();
return 0;
}

Последний раз редактировалось Stilet; 08.02.2010 в 09:43.
Денни вне форума
Старый 07.02.2010, 11:17   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Денни Посмотреть сообщение
...
for(i=0;i<nstr;i++)
{
if(b[i]!=0)
p[j]=b[i];
k=k++;
j=j++;
}
...
Выделенные красным операторы вообще-то не попали в блок if.

Цитата:
Сообщение от Денни
...
for(i=0;i<nstr-k;i++)
...
k - счётчик ненулевых эл-тов. Вот его и надо ставить верхним пределом.
Vago вне форума
Старый 07.02.2010, 13:36   #3
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

ну а можешь написать так что б попали плиз))
Денни вне форума
Старый 07.02.2010, 13:54   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Да я-то могу, конечно...
Код:
#include<stdio.h>
#include<conio.h>

int main() {
   
   const int nstr =4;
   int i,k,j;
   float b[nstr];
   float p[nstr];

   printf("vvedite elementi massiva\n"); 
   for (i=0;i<nstr;i++) 
      scanf("%f",&b[i]);
   
   k=0;
   j=0;
   for(i=0;i<nstr;i++) {
      if(b[i]!=0) {
         p[j]=b[i];
         k=k++;
         j=j++;
      }
   }

   printf( "rezul'tat:\n" );
   for(i=0;i<k;i++)
      printf( "%4.1f ",p[i]);

   getch();
   return 0;

}
В scanf() там ещё ошибка была.

Можешь, чтобы в C попрактиковаться, добавить вывод доп. сообщения, если во входном массиве - все нули.
Vago вне форума
Старый 07.02.2010, 14:02   #5
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

что то у меня результат не выводит
Денни вне форума
Старый 07.02.2010, 14:07   #6
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

кстати,
j=j++; выполняется так
1) j=j
2) j=j+1
Namolem вне форума
Старый 07.02.2010, 14:15   #7
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Namolem Посмотреть сообщение
j=j++;
)))))))))))))

Да уж... Ой как стыдно!!..

Спасибо.
Код:
#include<stdio.h>
#include<conio.h>

int main() {
   
   const int nstr =4;
   int i,k,j;
   float b[nstr];
   float p[nstr];

   printf("vvedite elementi massiva\n"); 
   for (i=0;i<nstr;i++) 
      scanf("%f",&b[i]);
   
   k=0;
   j=0;
   for(i=0;i<nstr;i++) {
      if(b[i]!=0) {
         p[j]=b[i];
         k++;
         j++;
      }
   }

   printf( "rezul'tat:\n" );
   for(i=0;i<k;i++)
      printf( "%4.1f ",p[i]);

   getch();
   return 0;

}
Vago вне форума
Старый 07.02.2010, 15:34   #8
Денни
Пользователь
 
Регистрация: 27.01.2010
Сообщений: 41
По умолчанию

спс большое тема закрыта)
Денни вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных с одного листа на другой knahrn Microsoft Office Excel 4 12.08.2009 08:42
Перенос данных с одного листа в другой Josser Microsoft Office Excel 0 17.07.2009 10:45
перенос значений с одного листа на другой ANDREEY Помощь студентам 2 10.02.2009 23:22
Перенос проги с одного ПК на другой Azef Помощь студентам 2 13.05.2008 18:07
Перенос из одного Image в другой Dimitriys Компоненты Delphi 5 14.07.2007 23:32