Hirdetés
- MWC 2026: Varázslatos kínai B-brand telefonok
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 15T Pro - a téma nincs lezárva
- One mobilszolgáltatások
- Okosóra és okoskiegészítő topik
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Android alkalmazások - szoftver kibeszélő topik
Új hozzászólás Aktív témák
-
ceginner
csendes tag
Sziasztok Sorstársak!
Elakadtam a 2. kötprogival és egy kis segítség kellene. Konkrétan a LÁDAPAKOLÁS lenne a téma. Konkrétabban: Egy gyárban egy nap csak azonos súlyú termékeket gyártanak és ezeket ládába pakolják, egy ládában max. 100 kg lehet. Egy nap max. 1000 db-ot készítenek egy-egy S súlyú termékből... Azt hogy melyik ládába pakoljunk a legkisebb négyzetek módszerével kellene megkeresni, de sehogy sem sön ki az adott kimenet.
Mit ronthattam el?
Bemenetben az első szám a napok száma, a második két szám pedig db és súly.
Már nem ez az első verzió, de már tisztára belezavarodtam. Nem tudom hogyan kellene megírni jól az algoritmust, hogy 100 db fölötti adatokra is jól működjön.Pl.: Bemenet:
1
347 6Kimenet:
0000010000010000010000010
0000100000100000000000100
0001000001000001000002000
0020000030000040000060000Az első sor első eleme, az egy kilós ládák száma - és így tovább egyészen százig...
Az általam írt kód:
#include <stdio.h>
#define M 1000
#define N 100
int Sulyok[M+1]={0};
int Darabok[N+1]={0};
int darab(int suly)
{
int j,s;
int r=1;
s = suly;
for(j=0;j<N;j++)
if (Sulyok[j] == s) r+= 1; //else r=N-1;
return r;
}
void pakol(int db,int s)
{
int K=0,a=0;
int i=0,j=0,k=1,l=0;
int opt=0;
int szumma=1000;
int NAGYSZAM = 10000;
int ossz;
int suly;
ossz = db*s;
suly = s;
Sulyok[0] = s; //az első elemet betesszük
while(i <db){
if ((s == 1) && (suly%100 != 0)) {Darabok[99] = db/10; Darabok[0] = 0;/*Darabok[100-Sulyok[k-1]]-=1;*/}
if (Sulyok[k-1] <= 100)
{
if (suly != 1) Sulyok[k] += suly;
// k+=1;
szumma = darab(Sulyok[k-1]+s)*darab(Sulyok[k-1]+s); //gyakorisag az uj suly berakasa utan
if (szumma <= NAGYSZAM)
{opt += 1;
NAGYSZAM = szumma;
k=i;
if(opt >= 1)
for(l=0;l<=k;l++)
{
if(Sulyok[l] > K) {K=Sulyok[l]; k=l;}
}
} else k+=1; //ha ezek a feltetelek nem teljesulnek uj lada kell
/ if (Sulyok[k] == (100-Sulyok[k])) {Darabok[100] += 1;}
Darabok[Sulyok[k]-1] += 1;
}
i += 1;
}
}
void kiir2(){
int i=0,j,k,l,m;
FILE* ki;
ki=fopen("ki.txt","w");
while(i<4){
for (j=0;j<N/4;j++){
if (i>0) k = (i*25)+j;
fprintf(ki,"%d ", Darabok[((i*25)+j)]); }
i+=1; fputc('\n',ki);}
fclose(ki);
}
int main()
{
int i;
int nap,suly,db;
FILE* in;
in=fopen("be.txt","r");
fscanf(in,"%d",&nap);
if (nap >=1 && nap<=10)
for (i=0;i<nap;i++){ fscanf(in,"%d %d",&db,&suly);
if (db >= 1 && db <= 1000)
if (suly >=1 && suly <=100) {
//feldolgozhatjuk az adatokat
pakol(db,suly);
}
}
kiir2();
fclose(in);
return 0;
}Minden segítséget és hozzászólást előre is köszönök!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen légkondit a lakásba?
- Horgász topik
- MWC 2026: Varázslatos kínai B-brand telefonok
- Ingatlanos topic!
- Samsung kuponkunyeráló
- PROHARDVER! feedback: bugok, problémák, ötletek
- Anglia - élmények, tapasztalatok
- Path of Exile (ARPG)
- PlayStation 1 / 2
- Vezeték nélküli fejhallgatók
- További aktív témák...
- AMD Phenom II X6 1090T Black Edition Hatmagos AM3 processzor, + CPU hűtő
- Lenovo ThinkPad T480 i7-8650U / 16GB / 512GB SSD / FHD Dupla akku Win 11 Pro Szép állapot
- Kingston FURY Beast 32GB DDR4 3200MHz (Beszámítás)
- MEDION Erazer Major X20 Gamer laptop -40% i7-13700HX 16/1TB NVIDIA RTX 4070 8GB QHD 240Hz
- Seagate IronWolf 4TB HDD 100/100 Beszámítás OK!
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4677
- Lenovo ThinkPad T440,14",HD+,i5-4200U,8GB RAM,500GB SATA3 HDD,WIN10
- 8Gb DDR3L 1,35V 12800u 1600Mhz RAM-ok, több db
- 212 - Lenovo IdeaPad Slim 5 (16IMH9) - Intel Core U5 125H, no GPU
- Lenovo IdeaPad Slim 3 Ryzen 7 8840HS 15" FHD+ 24GB 1000GB Teljeskörű garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Mit ronthattam el?

