Anonymní profil Romanzdk – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Romanzdk – Programujte.comAnonymní profil Romanzdk – Programujte.com

 

Příspěvky odeslané z IP adresy 82.100.31.–

Pascal › Spolecny jmenovatel dvou zlo…
4. 5. 2015   #201936

Zdravim, resim problem se spolecnym jmenovatelem dvou zlomku...

Dostanu ctyri cisla na vstupu, z tech vytvorim 2 zlomky a ty mam prevest na 2zlomky se stejnym jmenovatelem, ale ani za nic mi nejde udelat. Pokud mozno, co nejjednoduseji, pokud by to slo treba bez tech NSD a NSN. Kod:

program zlomky;
type zlomek=array[1..2] of integer;

procedure vytvor(a,b:integer; var x:zlomek);
begin
  readln(x[1],x[2]);
end;

function nsd(var x,y:zlomek):integer;
var zb:integer;
begin
  repeat
    zb:=x[2] mod y[2];
    x[1]:=y[2];
    if zb=0 then break else y[2]:=zb;
  until zb=0;
  nsd:=y[2];
end;

function nsn(x,y:zlomek):integer;
begin
  nsn:=(x[2]*y[2]) div nsd(x,y);
end;

procedure spolJ(x,y:zlomek; var x2,y2:zlomek);
begin
  x2[2]:=nsn(x,y);
  y2[2]:=nsn(x,y);
  x2[1]:=((x2[2]/x[2])*x[1]);
  y2[1]:=((y2[2]/y[2])*y[1]);
end;

procedure zapis(var x:zlomek);
begin
  if x[2]<>1 then writeln(x[1],'/',x[2]) else writeln(x[1]);
end;

var x,x2,y,y2,z,z2:zlomek;
    a,b:integer;
begin
vytvor(a,b,x);
zapis(x);
vytvor(a,b,y);
zapis(y);
writeln('Spolecny jmenovatel: '); spolJ(x,y,x2,y2); zapis(x2); zapis(y2);
end.

Predem diky vsem za rady.

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201857

Super!!! Funguje to!! Moc moc moc dekuju!

program test;
const maxR=4;
var soubor:text;
    i,j,delka_trasy:integer;
    pole:array[1..maxR,1..2] of integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
for i:=1 to maxR do
begin
readln(soubor,pole[i,1],pole[i,2]);
end;
for i:=1 to maxR do
delka_trasy:=delka_trasy+pole[i,1];
writeln(delka_trasy);
close(soubor);
readln;
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201855

Je to takhle spravne?

program test;
var soubor:text;
    i,j,cislo1,cislo2:integer;
    pole:array[1..4,1..2] of integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
for i:=1 to 4 do
begin
readln(soubor,pole[i,1],pole[i,2]);
writeln(pole[i,1],' ',pole[i,2]);
end;
close(soubor);
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201854

Ne :D... Mam tohle

program test;
var soubor:text;
    i,j,cislo1,cislo2:integer;
    pole:array[1..4,1..2] of integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
for i:=1 to 4 do
begin
for j:=1 to 2 do
begin
readln(soubor,pole[i,j],pole[i,j+1]);
writeln(pole[i,j],' ',pole[i,j+1]);
close(soubor);
end;
end;
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201852

Ok, moc dekuju, pokusim to dostat do toho dvourozmerneho pole

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201849

Dobre, pokusim se :D .. A pokud neni jasne definovany pocet radku?

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201846

   

program test;
var soubor:text;
    i,j,cislo1,cislo2:integer;
    pole:array[1..2] of integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
readln(soubor,cislo1,cislo2);
pole[1]:=cislo1;
pole[2]:=cislo2;
writeln(pole[1],' ',pole[2]);
close(soubor);
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201844

Ano

program test;
var soubor:text;
    i,j,cislo1,cislo2,cislo3:integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
for i:=1 to 3 do
begin
readln(soubor,cislo1,cislo2);
writeln(cislo1,' ', cislo2);
end;
close(soubor);
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201842

Ano

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201840

Ahaaaaaa, jasne... Jojo, to je mi jasny :D... Takze ted to nahazet do pole?

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201837

To asi bohuzel nevim, co presne mam udelat - neni to to same co jsem udelal predtim?

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201833

Takto? Ale je to bez toho pole

program test;
var soubor:text;
    i,j,cisla:integer;
begin
assign(soubor,'udaje.txt');
reset(soubor);
for i:=1 to 2 do
begin
read(soubor,cisla);
write(cisla,' ');
end;
end.
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201832

Ok, jdu na to

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201829

V souboru budou vzdy 2 sloupce a v kazdem 100 radku => 200 cisel

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201826

Zkousim to bez te procedury, ale podarilo se mi nacist hodnoty ze souboru pouze jako char - nevim jak to udelat jako integer, abych s tim mohl dal pracovat.. Takhle muzu sice to pole vypsat, ale treba ten soucet sloupce neudelam ... Uz zacinam byt zoufaly..

program vylet;
var soubor:text;
    pole:array[1..2,1..100] of char;
    obsah:string;
    i,j:integer;
    delka_trasy:string;
begin
  i:=1;
  j:=1;
  assign(soubor,'udaje.txt');
  reset(soubor);
  repeat
    read(soubor,obsah);
    for j:=1 to length(obsah) do
    begin
      pole[i,j]:=obsah[j];
    end;
    inc(i);
  until eof (soubor);
  
  for j:=1 to 100 do
  delka_trasy:=delka_trasy+pole[1,j];
  writeln(delka_trasy);
end.

Neporadite nejaky jiny zpusob? Nejak rutinne-laicky, bez procedur - Jak proste dat dva sloupce s cisly v souboru do dvouindexoveho pole a pak secist cisla v prvnim sloupci? (to je jen prvni uloha co musim udelat, ostatni ulohy uz snad odvodim od toho)

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201825

Ano

Pascal › Nacteni hodnot do pole
29. 4. 2015   #201815

preklep ; u  j;=succ(j); opraven

Romanzdk
Pascal › Nacteni hodnot do pole
29. 4. 2015   #201814

Tak jsem to udelal dle vasich rad, ale pri spusteni programu mi to hazi error: exitcode 201, proc? :/

kod vypada takto:

program vylet;

const maxR=100;
      maxS=2;

type tMatice=array[1..maxR,1..maxS] of integer;
     tIndexR=1..maxR;
     tIndexS=1..maxS;

procedure nacteni(udaje:string; var Matice:tMatice);
var soubor:text;
    i:tIndexR;
    j:tIndexS;
    r,s:integer;
begin
  assign(soubor,'udaje.txt');
  reset(soubor);
  read(soubor,r,s);
  i:=1;
  j:=1;
  while (i<=r) and (i<=maxR) do
  begin
    while (j<=s) and (j<=maxS) do
    begin
      read(soubor,matice[i,j]);
      j;=succ(j);
    end;
    j:=1;
    i:=succ(i);
    readln(soubor);
  end;
  close(soubor);
end;

var i,r:tIndexR;
    j,s:tIndexS;
    matice:tMatice;
    delka_trasy:integer;
begin
nacteni('udaje.txt',matice);

delka_trasy:=0;
for i:=1 to r do
delka_trasy:=delka_trasy+matice[i,1];
writeln('Delka trasy bude: ',delka_trasy,'metru');
readln;
end.

Jeste se chci zeptat - k cemu slouzi prikaz v procedure: read(soubor,r,s)?
- proc je v procedure while se dvema argumenty?
- proc je tam succ(i) a succ(j)?

Dekuju moc

Romanzdk
Pascal › Nacteni hodnot do pole
28. 4. 2015   #201805

Ahoj, tak jsem to zkusil pomoci tech matic.. Ale mam nejakou chybu nekde, ale nevidim kde.. Jako vysledek mi vyhodi 0, prestoze v souboru jsou hodnoty:

2000 85
500 -10
10 20

Program by mel secist vsechny hodnoty v prvnim sloupci.. Kde je chyba prosim?

A jeste bych chtel poprosit o komentar k casti od: read(soubor,matice[i,j]); do close(soubor)... Co presne ktery radek dela? Moc diky

program vylet;
const max=100;
type tMatice=array[1..max,1..max] of integer;
     tIndex=1..max;
procedure nacteni(udaje:string; var Matice:tMatice);
var soubor:text;
    i,j:tIndex;
    r,s:integer;
begin
  assign(soubor,'udaje.txt');
  reset(soubor);
  read(soubor,r,s);
  i:=1;
  j:=1;
  while (i<=r) and (i<=max) do
  begin
    while (j<=s) and (j<=max) do
    begin
      read(soubor,matice[i,j]);
      inc(j);
    end;
    j:=1;
    inc(i);
    readln(soubor);
  end;
  close(soubor);
end;

var i,j,r:tIndex;
    matice:tMatice;
    delka_trasy:integer;
begin
for i:=1 to r do
delka_trasy:=matice[i,1]+matice[i+1,1];
writeln(delka_trasy);
readln;
end.
Romanzdk
Pascal › Nacteni hodnot do pole
27. 4. 2015   #201788

Zdravim, mam problem s nactenim hodnot z textoveho souboru do pole.

Mam textovy soubor, ve kterem jsou dva sloupce oddelene mezerou. V kazdem sloupci je 5 celych cisel.

Jak dostanu tyto dva sloupce do pole, abych s temi hodnotami mohl dale pracovat? Dejme tomu ze chci pak secist vsechny hodnoty ve druhem sloupci.

Dal bych to asi do dvou-indexoveho pole (pole:array[1..2,1..5] of integer), ale pak netusim, jak tam ty hodnoty proste dostat.. Jak nacist hodnoty z textaku a dostat je do pole.

Predem diky vsem za rady.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý