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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2012, 00:14   #1
Bolisoff
 
Регистрация: 10.01.2012
Сообщений: 4
По умолчанию проблема с циклом for , код и ошибка внутри(Язык Си)

вообщем суть лабораторной :
___________________________________ ______________________________
Даны три числовые последовательности a, b и c. Сформировать две новые последовательности x и y в соответствии со следующим правилом
= min ( a итое ,b итое , r),
= min ( b итое,c итое , r) ,
i = 1, 2, …, n.; r – произвольное число
___________________________________ ______________________________

Программу надо написать используюя три файла .
файл 1) headerfile.h
Код:
void inp_mas(int mas[],int n);
void calc_out(int in1[],int in2[],int out[],int d,int n);
void output(int a[],int b[], int c[], int x[],int y[],int n);
Файл 2) sourse.c
Код:
void inp_mas(int mas[],int n)
{
    for(int i=0;i<n;i++)
    {
        printf("mas[%d]=", i);
        scanf("%d",&mas[i]);
    }
}

void calc_out(int in1[],int in2[],int out[],int d,int n)
{
  for(int i=0;i<n;i++)
  {
    int mn;
    if(in1[i]<in2[i])
        mn=in1[i];
    else
        mn=in2[i];
    if(d<mn)
        mn=d;
    out[i]=mn;
  }
}

void output(int a[],int b[], int c[], int x[],int y[],int n)
{
    printf("%5s%8s%8s%8s%8s%8s\n","I","A","B","C","X","Y");
    for(int i=0;i<n;i++)
       printf("%5d%8d%8d%8d%8d%8d\n",i,a[i],b[i],c[i],x[i],y[i]);
}
Файл 3) Main.c
Код:
#include<stdio.h>
#define MAXSIZE 20


int main()
{
    int a[MAXSIZE],b[MAXSIZE],c[MAXSIZE],x[MAXSIZE],y[MAXSIZE];
    int d,n;
    printf("d=");
    scanf("%d",&d);
    printf("n=");
    scanf("%d",&n);

    inp_mas(a,n);
    inp_mas(b,n);
    inp_mas(c,n);

    calc_out(a,b,x,d,n);
    calc_out(b,c,y,d,n);

    output(a,b,c,x,y,n);


    return 0;

}

После компиляция выходят следующие ошибки :
___________________________________ ____________________________
sourse.c: In function `inp_mas':
sourse.c:3: error: 'for' loop initial declaration used outside C99 mode
sourse.c: In function `calc_out':
sourse.c:12: error: 'for' loop initial declaration used outside C99 mode
sourse.c: In function `output':
sourse.c:28: error: 'for' loop initial declaration used outside C99 mode
make[2]: Leaving directory `/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_4'
make[2]: *** [build/Debug/Cygwin-Windows/newfile.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[1]: Leaving directory `/cygdrive/c/Users/user/Documents/NetBeansProjects/CppApplication_4'
___________________________________ ____________________________

ЧТо делать подскажите пожалуйста, при комплияции на языке с++ ошибок нету и все работает отлично , но сдавать надо именно в си

Последний раз редактировалось Bolisoff; 27.02.2012 в 00:18.
Bolisoff вне форума Ответить с цитированием
Старый 27.02.2012, 01:35   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Это чистый Си, а не "плюсы". Все декларации переменных в ф-ии должны быть сделаны до первого исполняемого оператора. То есть, вместо
Код:
void inp_mas(int mas[],int n)
{
    for(int i=0;i<n;i++)
    {
должно быть.
Код:
void inp_mas(int mas[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
и т.п.

Ну и stdio.h в sourse.c включите, что-ли...
Vago вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибки в задаче(код внутри) skanku Общие вопросы C/C++ 2 10.01.2012 08:58
Переделать цикл. Код внутри =) Silverstone Помощь студентам 4 21.12.2011 22:12
код TP7 с циклом for to do D1zz1 Помощь студентам 5 10.06.2011 17:00
Нахождение слов-анаграмм, Ошибка выдается. Задание внутри. Код внутри. TYMON Общие вопросы .NET 2 22.11.2010 21:07
проблема с циклом Dima_D Общие вопросы Delphi 5 04.08.2010 16:41