Tanítsatok meg programozni
Jelentkezz be a hozzászóláshoz.
Sírfelirat: \"Megszületett, virágzott,eltemettük, kimászott\".
Az elsõ pirosnak az a baja, hogy nincs ilyen változó, de nem is lehet, mivel ez belsõ függvény neve (min() függvény). Ez a köv. sorban is igaz lesz.
A másodiknak meg az, hogy az elõtte lévõ sornak nincs lezáró pontosvesszõje.
const n=10;
type tomb=array<1..n>1..n> of integer;
var t:tomb;
procedure feltoltes(var t1:tomb);
var i:integer;
begin
for i:=1 to n do
t1:=random(100);
end;
procedure kiiratas(t2:tomb);
var i:integer;
begin
for i:=1 to n do
write(t2:4);
writeln;
end;
procedure rendezes(var t3:tomb);
var i,j,seged:integer;
begin
randomize;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if t3<t3
seged:=t3;
t3:=t3
t3
end;
end;
begin
feltoltes(t);
kiiratas(t);
rendezes(t);
kiiratas(t)
end.
amit pirossal írtam, azzal problémázik. :S Mit rontottam el?
Sírfelirat: \"Megszületett, virágzott,eltemettük, kimászott\".
ez egy saját kedvemre írt szótárprogram írása során merült fel és emléxem, hogy sokáig agyaltam, mire megfejtettem (lévén, hogy nem fix méretûek a karakterek), de ti biztos tudtok rá egysoros megoldást is, én kapálva oldottam meg brut force módszerrel. (delphiben)
char ch2;
do
{
ch2 = getch();
if (ch2 == 0)
getch();
} while (ch2 != 13);
Fákjúal!
hogy csak pozitív egyjegyû számot fogadjunk el! Ha hibás számot ad meg, kérjük be újra!"
Erre a megoldás:
#include <conio.h>
#include <stdio.h>
int main( void)
{
int i;
char ch;
for (i = 0; i < 5; i++)
{
do
{
ch = getch();
if (ch == 0)
getch();
}
while ( ! ( ( (int)ch >= (int)'0') && ( (int)ch <= (int)'9') ));
printf( "%d \n", (int)ch - (int)'0');
}
return 0;
}
szerintem a tanárod erre akart rávezetni, nézz utána könyvben
pl. a következõ sor egy 1 jegyû pozitív egész számot olvas be (persze user könnyen hülyítheti meg pl. karaktet ír, de biztos van rá valami egyszerû trükk)
int a;
scanf("%1d",&a);
és így egy határozott menetszámú (for) ciklusba is teheted
hogy csak pozitív egyjegyû számot fogadjunk el! Ha hibás számot ad meg, kérjük be újra! A program végén, írjuk ki hány számot olvastunk be összesen!"
Ciklussal bekérem a számokat, de hogyan ellenõrizzem a ciklusan belül milyen az adott szám? if-el? if(szam>9&&szam<=0) és utána a újrakérés jön? Az meg hogy kell? Még egy ciklussal? De akkor minek az if? Mi az a végén a feladatban, hogy írjuk ki hány számot olvastunk be? Hát nem 5db-ot? HELP+THX
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
void main (void)
{
clrscr();
int db=0,szam
printf("\n5db egyjegyu pozitiv számot kérek!");
do
{
printf("\nKérem a számot: ");
scanf("%d",&szam);
db++;
if(szam<=0&&szam>9)
{
}
}
while(db!=5);
printf("\n%ddb olvastunk",db);
getch();
}
Fákjúal!
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
scanf("%d",&valami);
vagy
getch();
bill. leütésre vár, persze ez Dos-os, lehet máshol másmilyen
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
'printf' uncleared hibauzenetet irja ki.
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
Installing and running the Command Line Tools
-----------------------------------------------
1. Run freecommandlinetools.exe; choose the
drive and folder into which you want to
install the free C++Builder 5 command line
tool development system.
2. From the bin directory of your installation:
a. Add "c:\Borland\Bcc55"
to the existing path
b. Create a bcc32.cfg file which will set
the compiler options for the Include
and Lib paths (-I and -L switches to
compiler) by adding these lines:
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. Create an ilink32.cfg file which will set
the linker option for the Lib path by
adding this line:
-L"c:\Borland\Bcc55\lib"
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
error 703.
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
C nyelven a "Figyelem, emberek!" szöveget kinyomtató program a
következõ:
main ()
{
printf ("Figyelem, emberek! \ n");
}
A program futtatásának módja az éppen használt rendszertõl
függ.
Az UNIX operációs rendszerben pl. a forrásprogramot olyan
állomány alakjában kell létrehozni, amelynek a neve .c-re
végzõdik, mint például figyel.c, majd ezt a
cc figyel.c
paranccsal le kell fordítani. Ha nem követtünk el semmilyen
hibát, pl. nem hagytunk ki egy karaktert, vagy nem írtunk
valamit hibásan, a fordítás rendben végbemegy és egy
végrehajtható állomány keletkezik, amelynek neve a.out . Ha ezt
az
a.out
paranccsal lefuttatjuk, akkor a
Figyelem, emberek!
szöveg jelenik meg a kimeneten. Más operációs rendszerekben a
szabályok eltérõek, ilyen esetben forduljunk megfelelõ
szakemberhez.
)
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit
if (i==100) break;
elvileg
#include <stdio.h>
main()
{
int i=0;
int beolvas;
printf("Kerem adjon meg egy szamot (0 kilep):");
scanf("%d",&beolvas);
i=i+1;
while ((beolvas!=0) && (i!=4))
{
printf("Kerem adjon meg egy szamot (0 kilep):");
scanf("%d",&beolvas);
i=i+1;
}
}
Tudok vmit azért, mert megtudom számolni és kiíratni az átlagot, csak a 0 végjel az nem megy sehogy. Ezért ennyit sikerült megoldanom. SEGÍTSETEK ezt 0 végjelet vhogy!!! PLZ+THX
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main (void)
{
clrscr();
const n=100;
int i,v
float atlag;
for(i=0;i<n;i++)
{
printf("\n%d.elem: ",i+1);
scanf("%d",&v);
if(v%5==0)
{
db++;
osszeg=osszeg+v;
atlag=(float)osszeg/db;
}
}
printf("\n™sszesen %ddb 5-el osztható szám van!",db);
printf("\nÁtlaguk %.2f!",atlag);
getch();
}
Fákjúal!
Itt egy megoldas. Ha C kod kell, nem C++, akkor csak a kiiras/bekerest (cout, cin-es sorok) ird at a printf/scanf -es valtozatra, a tobbi maradhat. Az itemcount-ban marad, hany elem kerult be a tombbe.
#include <iostream>
using namespace std;
int main()
{
int capacity=100; int tomb
int newnumber; bool zeroflag=false;
while(itemcount<capacity && !zeroflag)
{ cout << "Kerem az " << itemcount+1 << ". elemet: ";
cin >> newnumber;
if(newnumber!=0)
{ tomb
++itemcount;
} else
{ zeroflag=true;
cout << "Adatbevitel vege, " << itemcount << " elem tarolva." << endl;
}
}
return 0;
}
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main (void)
{
clrscr();
const n=100;
int i,v
do
{
printf("\n%d.elem: ",i+1);
scanf("%d",&v);
}
while(v!=0);
getch();
}
Fákjúal!
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main (void)
{
clrscr();
const n=100;
int i,v
for(i=0;i<n;i++)
{
printf("\n%d.elem: ",i+1);
scanf("%d",&v);
}
THX
Fákjúal!
ha nincs akkor help-et tanuld meg használni! abban minden benne van (esetleg vehetsz egy Pascal könyvet is Delphi mellé, jól kiegészítik egymást)
Sírfelirat: \"Megszületett, virágzott,eltemettük, kimászott\".
Én nem azt mondom, hogy programozni csak Pascal-on kell/lehet megtanulni. Nem, szerintem a Pascal ÉS a C tökéletesen jó arra, hogy az ember megtanulja a programozás alapjait. Ha már tisztában van az alapokkal, ugyanmindegy, hogy merre megy tovább, bármilyen nyelvet képes lesz megtanulni. Én Z80 assembly-n kezdtem, majd jött a (nem Visual) Basic és a Pascal, manapság elsõsorban Delphi-n és FoxPro-n dolgozom, de Oracle SQL/PLSQL/Express SPL, x86 assembly, html/php, vagy Visual Basic sem okozna gondot (egy-két hét visszarázódás után). Kicsit konyítok a C/C++-hoz is (ill. az azt követõ "leszármazottakhoz" is, mint Java/C#/.Net), de tény, hogy nem az az irány az erõsségem. Jó alapokkal bárhol elboldogul az ember és nem az dönti el a képességeit, hogy min tanult, hanem, hogy mit tud megtanulni. Ehhez pedig elengedhetetlenek az erõs alapok - függetlenül attól, hogy miben tanulta.
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Pascal -nak meg kb semmivel nem egyszerubb a szintaktikaja, viszont sokkal kevesbe elterjedt. Amellett a nyelv mar egy kovulet, nagyon szegenyes olyan eszkozokben, amikre ma szukseg van, igy tanulasra se jo.
Elvileg itt is vannak a tanulásban lépcsõfokok.
Az ember megtanulja a Pascalt, melynek igen egyszerû a szintaktikája, és ezzel megtanulja a procedurális, vezérlésáramlásos szemléletet.
Utána C, ekkor a vezérlésáramlásos, procedurális szemlélet marad, de a C nyelv szintaktikáját megtanulja.
Ezután jöhet a C++, majd a Java, amelyek behozzák az objektum-orientált szemléletet.
Majd mindezek után jöhet a WinAPI, MFC, .NET, stb., melyek az igényvezérelt, eseményvezérelt szemléletmódot hozzák.
És persze ezeknek a lépcsõfokoknak minél elõbb érdemes nekivágni.
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Athlon64 3500+ | MSI K8N Diamond | Sapphire Radeon X850XT | 2*512 Samsung DDR | Creative Audigy2 | Maxtor 300 + 120GB SATA | Pioneer 109 | CoolerMaster Stacker ház | CoolerMaster RS-450-ACLY táp
Utalni nemtom miert utaljak, pont az egyik legkenyelmesebb nyelv sztem.