|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.01.2012, 11:38 | #1 |
Регистрация: 15.12.2010
Сообщений: 6
|
где ошибка в коде? Программа на С
Задача написать программу в которую пользователь вводит массив чисел, а программа удаляет элементы равные 0. прога нули удаляет, но в конце строки добавляет элементы равные последнему в массиве. прога на работу с функциями. помогите пожалуйста найти ошибку.
#include <stdio.h> #include <conio.h> #include <math.h> void vyvod(int m[20],int n) { int i; printf("\nitogovyi massiv\n"); for(i=0;i<n;i++) printf(" %i",m[i]); printf("\nrazmer=%i",n); } void udalenie(int m[20],int n) { int i,j,s; for(i=0;i<n;i++) printf(" %i",m[i]); s=0; for(i=0;i<n;i++) { if (m[i]==0) { s++; for(j=i;j<n-1;j++) m[j]=m[j+1]; i--; n--; } } } void main(void) { int n,m[20],i; clrscr(); while(1) { printf("Vvedite razmer massiva:\n"); printf("RAZMER="); scanf("%i",&n); if (n>0&&n<21) break; printf("\nError, poprobuite eche raz\n\n"); } clrscr(); for(i=0;i<n;i++) { printf("Vvedite %i element massiva\n",i+1); scanf("%i",&m[i]); } printf("ishodnyi massiv\n"); udalenie(m,n); vyvod(m,n); getch(); } |
15.01.2012, 12:55 | #2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Все просто.
В процедуру udalenie ты передаешь n в виде копии. То есть, после завершения процедуры, значение локальной переменной обратно не передается. Выход -- передать указатель на переменную. А вообще -- отвратительно составленная программа... Много лишнего. ЗЫ Код надо форматировать (кнопка с решеткой)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
15.01.2012, 14:03 | #3 |
Регистрация: 15.12.2010
Сообщений: 6
|
я еще не умею пользоваться указателями. можете написать как это должно быть?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где ошибка в коде? | explosion14 | Общие вопросы Delphi | 5 | 11.12.2011 16:19 |
Где ошибка в коде? | levohotnik | Microsoft Office Excel | 3 | 28.10.2010 17:30 |
Где ошибка в коде? | ilgar-90 | Общие вопросы Delphi | 2 | 08.02.2010 09:04 |
Где ошибка в моем коде? | artemavd | БД в Delphi | 12 | 22.09.2008 14:28 |
Где ошибка в коде? | Македонский | Общие вопросы Delphi | 16 | 10.09.2007 15:45 |