Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal -> C] Поиск по масиву


Автор: kasir 20.6.2007, 14:14
Даны натуральное число n, действительные числа a1,...,an
А) Верно ли что отрицательных членов в последовательности а1,...,ан
больше чем положительных?
Б) Верно ли что наибольший член последовательности а1,...,ан по модулю
больше единицы?

Код
const
  K=10;  {число членов в последовательности}
var
  A: array[1..K] of real;
  N: integer;   {число отрицательных членов}
  P: integer;   {число положительных членов}
  I: integer;
  Max: real;    {максимальное по модулю значение члена последовательности}
begin
  for i:=1 to K do
    begin
      Write('Введите ',I,'-й член последовательности A[',I,']= ');
      ReadLn(A[I]);
    end;
  N:=0;
  P:=0;
  for I:=1 to K do
    if A[I]<>0 then
      if A[I]>0 then P:=P+1
                else N:=N+1;
  WriteLn('Число положительных членов в последовательности = ',P);
  WriteLn('Число отрицательных членов в последовательности  =',N);
  if N>P then WriteLn('Отрицательных членов больше, чем положительных')
         else WriteLn('Отрицательных членов не больше, чем положительных');
  Max:=0;
  for I:=1 to K do
    if abs(A[I])>max then Max:=Abs(A[I]);
  if Max>1 then WriteLn('Максимальное по модулю значение больше единицы')
           else writeln('Максимальное по модулю значение не больше единицы');
  ReadLn;
end.



Помогите сделать чтоб был выбор вводить из файла или вручную, и переделать затем это все под си.

Автор: Guedda 20.6.2007, 15:11

M
Guedda
Модератор: Внимательно правила читаешь? Перевод из одного языка программирования в другой пишется [Pascal->C]!!! 
Заголовок исправил. В следующий раз буду выносить предупреждения!

Автор: Rodman 20.6.2007, 15:53
Код

#include <conio.h>
#include <stdio.h>
#include <math.h>
#define K 10

int main(int argc, char* argv[])
{
        float a[K];
        float maxi;
        int n,p,i;
        for(i=0;i<K;i++)
        {
                printf("Enter %i member ", i);
                scanf("%f", &a[i]);
        }
        n=p=0;
        for(i=0;i<K;i++)
                if(a[i]!=0)
                        if(a[i]>0)
                                p+=1;
                        else
                                n+=1;
        printf("Count + = %i",p);
        printf("Count -  = %i",n);
        if (n>p)
                printf("- > +");
        else
                printf("- <= +");
        maxi=0;
        for(i=0;i<K;i++)
                if (abs(a[i])>maxi)
                        maxi=abs(a[i]);
        if (maxi>1)
                printf("abs (Max) > 1");
        else
                printf("abs(Max) <=1");
        getch();
        return 0;
}

Автор: kasir 20.6.2007, 17:04
спасибо но мне надо чтоб когда запускаешь был выбор вручную или из файла, если из файла то из файла считывал этот массив, то же и на паскале.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)