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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2009, 16:01   #1
STS_1991
Пользователь
 
Регистрация: 18.02.2009
Сообщений: 13
По умолчанию Одномерные массивы на C. Поправить код.

Вот задачка:
Дан массив размера N. Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива.
Не могу запустить, поправьте пожалуйста код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main() {
const int n=10;
int A[n];
int i,j,k,c,m,imin,imax;
srand(time(NULL));
for(i=0;i<n;i++)
A[i]=rand()%10;
printf("Element A[%d] is %d\n",i,A[i]);
}
int imin=12;
int imax=0;
for(i=0;i<n;i++) {
if(A[i]<imin) {
imin=A[i];
c=i;
}
}
printf("%d\n",imin);
for(k=n; k>c-1;k--){
A[k+1]=A[k];
}
A[c]=0
for(j=0;j<n+1;j++){
if(A[j]>imax){
imax=A[j];
m=j
}
}
printf("%d\n",imax);
for(k=n; k>c-1;k--){
A[k+1]=A[k];
}
a[m+1]=0
for(i=0;i<n+2;i++){
printf("Element A[%d] is %d\n",i,A[i]);
}
}
STS_1991 вне форума Ответить с цитированием
Старый 05.03.2009, 16:15   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Пользуйтесь тегом CODE!

Код:
int imin=12;
int imax=0;
Повторное объявление.

Код:
for(i=0;i<n;i++)
A[i]=rand()%10;
printf("Element A[%d] is %d\n",i,A[i]);
}
Забыта открывающая фигурная скобка.

Код:
A[c]=0
.........
m=j
...........
a[m+1]=0
Точку с запятой не ставите.

Код:
a[m+1]=0
Нет массива a, есть A.

Все вышеперечисленные ошибки указал компилятор. Так что вполне могли бы сами исправить.


Код:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int main() {
const int n=10;
int A[n];
int i,j,k,c,m,imin,imax;
srand(time(NULL));

for(i=0;i<n;i++)
 {
 A[i]=rand()%10;
 printf("Element A[%d] is %d\n",i,A[i]);
 }
imin=12;
imax=0;
for(i=0;i<n;i++)
{
 if(A[i]<imin)
 {
 imin=A[i];
 c=i;
 }
}
printf("%d\n",imin);
for(k=n; k>c-1;k--)
 {
 A[k+1]=A[k];
 }
A[c]=0;
for(j=0;j<n+1;j++)
 {
 if(A[j]>imax)
  {
  imax=A[j];
  m=j;
  }
 }
printf("%d\n",imax);
for(k=n; k>c-1;k--)
 {
 A[k+1]=A[k];
 }
A[m+1]=0;
for(i=0;i<n+2;i++)
 {
 printf("Element A[%d] is %d\n",i,A[i]);
 }
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.03.2009, 16:59   #3
STS_1991
Пользователь
 
Регистрация: 18.02.2009
Сообщений: 13
По умолчанию

Спасибо большое!!!
STS_1991 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
C++/ Одномерные массивы BennyBenassy Общие вопросы C/C++ 6 23.02.2009 14:27
Помогите поправить программу! Массивы в С++ progser_ua Помощь студентам 1 03.02.2009 14:07
Помогите поправить код SANTA_KLAUD Общие вопросы Delphi 5 30.05.2008 09:01