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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2021, 12:41   #1
Ana45
Пользователь
 
Регистрация: 24.02.2021
Сообщений: 18
По умолчанию Программа Pascal

Доброго времени суток!
Дан исходный код Паскаля, мне нужно на языке С\С++. Можете помочь?
Вот код:
Код:
program Pr378_1;
var
   x : array [1..8] of real;
   y : array [1..8] of real;
   i, j, n : integer;
begin
   for i := 1 to 8 do
   begin
      read(x[i]);
      y[i] := 1;
   end;
 
  for i := 1 to 8 do
  begin
     for j := 1 to 8 do
     begin
        y[j] := y[j] * x[j];
        write(y[j]:6:2, ' ')
     end;
     writeln('');
  end;
 
  readln;
end.
Буду очень благодарна!

Последний раз редактировалось Ana45; 19.05.2021 в 13:18. Причина: ошибка в тексте
Ana45 вне форума Ответить с цитированием
Старый 19.05.2021, 13:09   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,554
По умолчанию

Цитата:
Сообщение от Ana45 Посмотреть сообщение
Вот задача
Это больше не на задачу похоже, а на исходный код...
Arigato вне форума Ответить с цитированием
Старый 19.05.2021, 15:41   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
void main()
{
real x[8],y[8] ;
int i,j;

   for (i=0; i<8; i++)
   {
      scanf ("%lf",&x[i]);
      y[i] = 1.0;
    }

   for (i=0; i<8; i++)
      {
        for (j=0; j<8; j++)
         { 
             y[j] *=  x[j];
             printf("%9.2f ",y[j]) ;
         }
        printf ("\n") ;
      }
     getch() ;
}
Вроде как-то так. А ежели чё - давно не брал я в руки Сишек...
А вообще задачка довольно бредовая. i из внешнего цикла нигде не используется. Получаем i-ю степеннь элементов массива x[] . Так надо - или переписано с ошибкой ? y[] пухнет как на дрожжах, и при числах чуть больше 1 уже в заданный формат вывода никак не вписывается. Впрочем, учебные задачки приходилось видеть и поидиотистей этой.

Последний раз редактировалось digitalis; 19.05.2021 в 16:16.
digitalis вне форума Ответить с цитированием
Старый 20.05.2021, 14:14   #4
Ana45
Пользователь
 
Регистрация: 24.02.2021
Сообщений: 18
По умолчанию

digitalis, Добрый день! Да, мне следовало предоставить условие задачи. Вот оно: Даны действительные числа х1...х8. Получить действительную квадратную матрицу порядка 8: каждая строка матрицы возводится в степень номера ее строки.
Ana45 вне форума Ответить с цитированием
Старый 20.05.2021, 14:41   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,554
По умолчанию

У вас получилась не матрица, а одномерный массив.
Arigato вне форума Ответить с цитированием
Старый 20.05.2021, 15:59   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Ну если её распечатать, то уже и будет матрица На бумаге (экране) .
Получается, что исходный код Паскаля - "не в ту степь" .
Код:
#include <stdio.h>
#include <conio.h>
void main()
{
real x[8],matras[8][8] ;
int i,j;

   for (i=0; i<8; i++)
   {
      scanf ("%lf",&x[i]);
      matras[0][i] = 1.0;
    }

   for (i=1; i<8; i++)
      {
        for (j=0; j<8; j++)
         { 
             matras[i][j] =  matras[i-1][j] * x[j];
             printf("%9.2f ",matras[i][j]) ;
         }
        printf ("\n") ;
      }
     getch() ;
}
Можно всё слепить в один цикл (с вложенным, конечно), но слишком хорошо - это тоже плохо.
Помню, один стьюдень попросил у меня накропать ему прогу. "И это - всё?!" - спросил он у меня, когда я ему протянул... одну перфокарту (такая тогда была техника, ЕС1022). "Но ведь она работает и выдаёт правильный результат!" - говорю ему.

Последний раз редактировалось digitalis; 20.05.2021 в 16:14.
digitalis вне форума Ответить с цитированием
Старый 20.05.2021, 18:09   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

digitalis, два мелких замечания: нет типа real в си, на экране только 7 строчек матрицы вместо 8.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 20.05.2021, 20:50   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Это отрыжка ДельфиСкаля
А самую первую строку - чё её выводить, 0-я степень = единицы по любому
Ну для комплекту :
Код:
   for (i=0; i<8; i++)
      {
        printf ("%2d",i) ;
        for (j=0; j<8; j++)
         { 
             if (i > 0) matras[i][j] =  matras[i-1][j] * x[j];
             printf("  %9.2f ",matras[i][j]) ;
         }
        printf ("\n") ;
      }
На работе последний раз Си-шкой баловался в прошлом тысячелетии

Последний раз редактировалось digitalis; 20.05.2021 в 21:03.
digitalis вне форума Ответить с цитированием
Старый 20.05.2021, 21:29   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Строки могут нумероваться и с единицы , но, наверное, ТС справится с доводкой решения.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на pascal Alexandrprog1 Помощь студентам 1 11.11.2019 16:30
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа на pascal'е ALT_aiR Помощь студентам 2 21.10.2009 19:25
[PASCAL]Программа создания файла, программа обработки файла Виколяшка Фриланс 7 23.09.2009 17:38
Программа создания файла, программа обработки файла [PASCAL] Виколяшка Помощь студентам 1 22.09.2009 22:56