1

Тема: Процедури у Сі. Допоможіть у написанні програми

Обчислити значення перших n (n<30) елементів геометричної прогресії з допомогою процедури, якщо відомо перший елемент прогресії а та знаменник прогресії q. Кожний наступний елемент геометричої прогресії утворюється множенням попередього на знаменник прогресії. Для розміщення в пам’яті обчислених елементів їх слід оголосити як одновимірний масив.

2

Re: Процедури у Сі. Допоможіть у написанні програми

що не полчається?

3

Re: Процедури у Сі. Допоможіть у написанні програми

робив цю ж задачу у паскалі то все було ок,а у Сі не маю поняття з чого почати

4

Re: Процедури у Сі. Допоможіть у написанні програми

vitaliy_lot написав:

робив цю ж задачу у паскалі то все було ок,а у Сі не маю поняття з чого почати

з вивчення мови?

5

Re: Процедури у Сі. Допоможіть у написанні програми

до процедур і функцій проблем не було

Re: Процедури у Сі. Допоможіть у написанні програми

vitaliy_lot написав:

робив цю ж задачу у паскалі то все було ок,а у Сі не маю поняття з чого почати

Показуйте код на паскалі, допоможу перевести на с, а то лінь мені
з 0 робити.

7

Re: Процедури у Сі. Допоможіть у написанні програми

+

8

Re: Процедури у Сі. Допоможіть у написанні програми

program geompr;
const n=15 ;
var i:integer;
a,q:real;
el:array[1..n]of real;
procedure geo;
begin
el[i]:=el[i-1]* q;
end;
BEGIN
a:=3;
q:=1.1;
el[1]:=a;
for i:=2 to n do begin
geo;
end;
for i:=1 to n do
writeln(el[i]:8:2);
END.

Re: Процедури у Сі. Допоможіть у написанні програми

vitaliy_lot ще маленьке уточнення, потрібно саме на чистій сішці, чи на c++ ?

Re: Процедури у Сі. Допоможіть у написанні програми

C++

#include<iostream>
#define n 15

using namespace std;

float el[n];

void geo(int i,float q)
{
 el[i] = el[i-1] * q;    
}

int main(void)
{
 int i;
 float a = 3, q = 1.1;
 
 el[1] = a;
  for(i = 2; i < n; i++)
   geo(i,q);
   
  for(i = 1; i< n; i++)
   cout << el[i] << "\n";     
}

11

Re: Процедури у Сі. Допоможіть у написанні програми

вибачте що так пізно,але потрібно чисте Сі

12 Востаннє редагувалося Пам'ять не може бути READ (27.03.2013 19:33:45)

Re: Процедури у Сі. Допоможіть у написанні програми

vitaliy_lot написав:

вибачте що так пізно,але потрібно чисте Сі

#include<stdio.h>
#define n 15

float el[n];

void geo(int i,float q)
{
 el[i] = el[i-1] * q;    
}

int main(void)
{
 int i;
 float a = 3, q = 1.1;
 
 el[1] = a;
  for(i = 2; i < n; i++)
   geo(i,q);
   
  for(i = 1; i< n; i++)
   printf("%8.2f \n",e[i])

return 0;
}
Подякували: vitaliy_lot1

13

Re: Процедури у Сі. Допоможіть у написанні програми

Оффтоп, але в тему:
там у програмі на Паскалі було

var el[1..n] of integer;

n - це у даному разі індекс?
Якщо та, то у наведеній сішній реалізації масив має бути довжиною n+1.

14

Re: Процедури у Сі. Допоможіть у написанні програми

n - кількість елементів. Там все правильно.

15

Re: Процедури у Сі. Допоможіть у написанні програми

Replace написав:

n - кількість елементів. Там все правильно.

Дякую. Значить, пора мені підчитати про масиви у Паскалі. :)