Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Неправильно работает код.

Ответить
Настройки темы
C/C++ - Неправильно работает код.

Новый участник


Сообщения: 14
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: pashazt
Дата: 31-10-2012
Задание : переставить первые М элементов в конец массива. Код некорректно работает.

Код: Выделить весь код
#include<stdio.h> 
#include<conio.h> 
#include<math.h> 
#include<locale.h> 
#include<iostream> 
 
 main() 
{ 
setlocale (LC_ALL, "Rus"); 

int N,i,s,M; 
int x[100]; 

printf("Введите количество элементов массива N="); 
scanf("%d",&N); 

s=0; 

printf("Введите массив элементов s: "); 
for(i=1; i<=N; i++) 

scanf("%d",&x); 
printf("Введите количество элементов массива, которые будут переставлены в конец M="); 
scanf("%d",&M); 

printf("Преобразованый массив имеет вид : "); 

for(i=N-M;i<N;i++)
{
x[i]=x[N-i]; 
printf("%d ",x[i]); 
} 
getch(); 
return 0; 
}

Отправлено: 14:48, 31-10-2012

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


все потому что должно быть не x[i]=x[N-i]; а x[i]=x[i-(N-M)]
направление перебора элементов неверное

Отправлено: 19:14, 31-10-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всё-равно неправильно работает.
Ввожу данные:
N=6
s : 1 -2 3 4 -5 6
M=3
Выдаёт бред.(6104032 1 -2) - вот эти три числа.

Отправлено: 20:01, 31-10-2012 | #3


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


извини, не заметил еще одну ошибку
вместо for(i=1; i<=N; i++) напиши for(i=0; i<N; i++)
элементы массива всегда нумеруются с 0, т.е. первым элементом массива будет элемент x[0] и соответственно 6-ой элемент - x[5], так как первому элементу ты явно не задал значение то он берет то, что там есть в памяти - т.е. сущий бред. это очень характерный признак - если среди чисел какаято каждый раз разная фигня, то значит проблема с адресацией

Отправлено: 17:36, 01-11-2012 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Неправильно работает код.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Неправильно работает код. pashazt Программирование и базы данных 3 29-10-2012 11:53
драйвер видеокарты не работает или работает неправильно Kilimnik Pasha Металлолом 6 24-04-2012 19:58
Медиа - Неправильно работает Web-камера sibirskiy_egik Microsoft Windows 2000/XP 12 31-12-2011 10:27
Неправильно работает агент sergey1234567 WSUS 2 26-04-2009 12:06
Неправильно работает сабвуфер 10adriano10 Непонятные проблемы с Железом 5 11-12-2008 14:13




 
Переход