Ошибка в программе. Надо найти среди прямоугольников есть ли квадраты? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

здравствуйте! подскажите пожалуйста в чем ошибка..."надо найти среди прямоугольников есть ли квадраты? "
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
int pr(float a,float b,float *p,float *s,float *r)
{if(a<0 && b<0)
return 0;
else
{*p=(a+b)*2;
*s=a*b;
*r=sqrt(pow(a,2)+pow(b,2))/2;
return 1;
 }
}
void main()
{ float  a[5][2];
float s[5],p[5],r[5];
int i;
for(i=0;i<5;i++)
{printf ("\n vvedite dliny %d pr : ",i+1);
scanf("%f",&a[i][0]);
printf("\n vvedite shiriny %d pr : ",i+1);
     scanf("%f",&a[i][1]);
 
     if(pr(a[i][0],a[i][1],&p[i],&s[i],&r[i])==1)
     {
     printf("\n perimetr=%f",p[i]);
     printf("\n ploshad=%f",s[i]);
     printf("\n radius=%f",r[i]);
      for(i=0;i<5;i++)
 if(a==b)  //  компилятор пишет что не понимает символ b,хотя я и int пробовал вводить,всё равно ругается..
     { printf("\n kvadrat !");}
     else
     printf("\n net tarogo!");}[/COLOR]
}
getch (); }

Решение задачи: «Ошибка в программе. Надо найти среди прямоугольников есть ли квадраты?»

textual
Листинг программы
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
int pr(float a,float b,float *p,float *s,float *r)
{if(a<0 && b<0)
return 0;
else
{*p=(a+b)*2;
*s=a*b;
*r=sqrt(pow(a,2)+pow(b,2))/2;
return 1;
 }
}
void main()
{ float  a[5][2];
float s[5],p[5],r[5];
int i;
for(i=0;i<5;i++)
{printf ("\n vvedite dliny %d pr : ",i+1);
scanf("%f",&a[i][0]);
printf("\n vvedite shiriny %d pr : ",i+1);
     scanf("%f",&a[i][1]);
 
     if(pr(a[i][0],a[i][1],&p[i],&s[i],&r[i])==1)
     {
     printf("\n perimetr=%f",p[i]);
     printf("\n ploshad=%f",s[i]);
     printf("\n radius=%f",r[i]);
 
 if(a[i][0]==a[i][1])  //  компилятор пишет что не понимает символ b,хотя я и int пробовал вводить,всё равно ругается..
     { printf("\n kvadrat !");}
     else
         printf("\n net tarogo!");}
}
getch (); }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы:
    • iostream.h для работы с потоками ввода-вывода;
    • string.h для работы со строками;
    • conio.h для работы с клавиатурой и мышью;
    • stdio.h для работы с стандартными вводом и выводом;
    • math.h для работы с математическими функциями.
  2. Функция pr принимает на вход три аргумента типа float: a, b и указатели на переменные p, s, r. Внутри функции происходит проверка на отрицательность a и b. Если оба аргумента отрицательны, функция возвращает 0. В противном случае, в переменные p, s и r присваиваются соответствующие значения и функция возвращает 1.
  3. Функция main является точкой входа в программу. Она объявляет массив a размером 5х2, массивы p, s, r и i.
    • С помощью цикла for происходит заполнение массива a значениями, введенными пользователем.
    • После заполнения массива a, вызывается функция pr для каждого элемента массива.
    • Если функция pr вернула 1, выводятся значения p, s и r.
    • Если a[i][0] равно a[i][1], выводится сообщение kvadrat. В противном случае выводится сообщение net tarogo.
  4. Компилятор выдает ошибку, потому что переменная b не определена в момент обращения к ней в строке if(a[i][0]==a[i][1]). В данном случае, необходимо объявить переменную b как float перед использованием.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы