Синтаксическая ошибка перед знаком > - C (СИ)
Формулировка задачи:
Отрывок кода.
Компилятор выдает, что синтаксическая ошибка перед знаком > (больше).
Проверил все что можно, ошибка все равно висит.
for ((int)i=0; i<L; i++)
{
if ((VectA[i])*(VectA[i]))>((mb[i][j])*(mb[i][j]))
VectC[i]=(sin(VectA[i] + summ)*(sin(VectA[i] + summ)));
else
VectC[i]=sqrt(abs(VectA[i]*sin(summ)));
}
for ((int)i=0; i<L; i++)
printf("%f ", &VectC[i]);
getch();Решение задачи: «Синтаксическая ошибка перед знаком >»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
int L,i,j;
double nn=0;
printf("Enter the value of L: ");
scanf("%f ", &L);
double *ma[L][L];
double mb[i][j];
ma[L][L]=(double*)malloc(L*sizeof(double));
printf("Memory allocation error");
scanf("%c ");
exit(1);
return *ma[L][L];
for (i=0; i<L; i++)
{
for(j=0; j<L; j++)
{
mb[i][j]=nn;
nn++;
}
}
{
for (i=0; i<L; i++)
{
for(j=0; j<L; j++)
{
printf("%f ", &ma[i][j]);
}
printf("\n");
}
}
double* VectA;
VectA=(double*)malloc(L*sizeof(double));
printf("Memory allocation error");
scanf("%c ");
exit(1);
return *VectA;
for (i=0; i<L; i++)
VectA[i] = i;
printf("Vector A:");
scanf("%f ", &VectA[i]);
for (i=0; i<L; i++)
printf("\n");
double* VectC;
VectC=(double*)malloc(L*sizeof(double));
printf("Memory allocation error");
scanf("%c ");
exit(1);
return 1;
double summ=0;
for (i=0; i<L; i++)
{
for (j=0; j<L; j++)
{
summ += mb[i][j];
}
}
printf("The ANSWER");
for (i=0; i<L; i++)
{
if (VectA[i]*VectA[i] > mb[i][j]*mb[i][j]) {
VectC[i]=(sin(VectA[i] + summ)*(sin(VectA[i] + summ)));
}
else {
VectC[i]=sqrt(abs(VectA[i]*sin(summ)));
}
}
for (i=0; i<L; i++)
printf("%f ", &VectC[i]);
getch();
return 0;
}
Объяснение кода листинга программы
- Объявлены переменные: L, i, j, nn, ma[L][L], mb[i][j], VectA, VectC, summ.
- Пользователю предлагается ввести значение L.
- Выделена память под массив ma[L][L] с помощью malloc.
- Если память не может быть выделена, программа выводит сообщение об ошибке и завершается.
- Заполняется массив mb[i][j] значениями nn.
- Выводится содержимое массива ma[i][j].
- Выделена память под вектор VectA с помощью malloc.
- Если память не может быть выделена, программа выводит сообщение об ошибке и завершается.
- Заполняется вектор VectA значениями i.
- Выводится содержимое вектора VectA.
- Выделена память под вектор VectC с помощью malloc.
- Если память не может быть выделена, программа выводит сообщение об ошибке и завершается.
- Вычисляется сумма элементов массива mb[i][j].
- Выводится сообщение
The ANSWER. - Для каждого элемента вектора VectA проверяется условие и вычисляется значение VectC[i].
- Выводится содержимое вектора VectC.
- Программа ожидает нажатия клавиши с помощью функции getch().
- Программа завершается возвратом значения 0.