- Mobil flották
- iPhone topik
- Apple iPhone 16 - ígéretek földje
- Kijelző került a kamerasávra a Xiaomi 17 Pro és 17 Pro Max hátulján
- Fotókon a Huawei Mate 80 hátoldala
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15T Pro - a téma nincs lezárva
- Apple iPhone 17 - alap
- Apple iPhone 17 Pro Max – fennsík
- Apple iPhone 15 Pro Max - Attack on Titan
Új hozzászólás Aktív témák
-
DEV_NULL
őstag
válasz
kovisoft #5995 üzenetére
Köszi a segítséget!
Mivel sehogy sem akart működni egy teljesen új, sokkal egyszerűbb megközelítésből oldottam meg végül:
#include <stdio.h>
typedef struct
{
unsigned int tomb[50];
unsigned int szam, db;
unsigned int meret, meret2;
} Nehez;
Nehez meret()
{
Nehez hazi;
hazi.meret2=0;
hazi.db=0;
scanf("%u", &hazi.meret);
return hazi;
}
Nehez beker()
{
Nehez hazi;
unsigned int h, a;
for(h=0; h<hazi.meret; h++)
{
scanf("%u", &hazi.szam);
a=0;
while(a<h && hazi.szam!=hazi.tomb[a])
{
a++;
}
if(a==h)
{
hazi.tomb[hazi.meret2]=hazi.szam;
hazi.meret2++;
}
}
return hazi;
}
Nehez rendez(Nehez hazi)
{
unsigned int h, a;
for(h=0; h<hazi.meret2; h++)
{
for(a=h+1; a<hazi.meret2; a++)
{
if(hazi.tomb[h]>hazi.tomb[a])
{
hazi.szam=hazi.tomb[a];
hazi.tomb[a]=hazi.tomb[h];
hazi.tomb[h]=hazi.szam;
}
}
}
return hazi;
}
Nehez szamol(Nehez hazi)
{
unsigned int h, a, z, i;
for(h=0; h<hazi.meret2; h++)
{
for(a=h+1; a<hazi.meret2; a++)
{
for(z=a+1; z<hazi.meret2; z++)
{
for(i=z+1; i<hazi.meret2; i++)
{
if(hazi.tomb[h]+hazi.tomb[i]==hazi.tomb[a]+hazi.tomb[z])
{
hazi.db++;
}
}
}
}
}
return hazi;
}
void kiir(Nehez hazi)
{
printf("%u", hazi.db);
}
int main()
{
Nehez hazi;
hazi=meret();
hazi=beker();
hazi=rendez(hazi);
hazi=szamol(hazi);
kiir(hazi);
return 0;
}
-
DEV_NULL
őstag
Sziasztok!
A problémám amire tőletek várnék megoldást; a feladat egy C program ami először bekér egy számot, majd bekér ennyi de maximum 50 számot. Ezeket megszűri, hogy ne legyen benne ismétlődés, majd olyan ismétlődés nélküli számnégyeseket csinál belőlük ahol az első és utolsó szám összege megegyezik a második és harmadik szám összegével és a végén ezek darabszámát. Ezt egy robot ellenőrzi. Két gond van, az egyik, hogy malloc hibával elszáll, vagy ha program kimenete több ezer megfelelő számnégyes, akkor még néhány száz darab nullás számnégyest kipörget a végére... Én már kezdem feladni, bízom benne, tudtok segíteni. Remélem sikerül normálisan bemásolni a kódot, most írok ide először...
Hiba: prog: malloc.c:2401: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed. Aborted (core dumped)
Köszi előre is!
#include <stdio.h>
#include <stdlib.h>
typedef struct dec10Hazi
{
unsigned int meret, meret2;
unsigned int csere, csere2;
unsigned int *cim, *cim2;
unsigned int tomb[4];
unsigned int db;
} Nehez;
int main()
{
Nehez hazi;
unsigned int h, a, z, i;
scanf("%u", &hazi.meret);
hazi.cim=malloc(sizeof(unsigned int)*hazi.meret);
for(h=0; h<hazi.meret; h++)
{
scanf("%u", &hazi.cim[h]);
}
hazi.csere2=1;
while(hazi.csere2)
{
for(h=0; h<hazi.meret-1; h++)
{
if(hazi.cim[h]>hazi.cim[h+1])
{
hazi.csere=hazi.cim[h];
hazi.cim[h]=hazi.cim[h+1];
hazi.cim[h+1]=hazi.csere;
}
}
hazi.csere2=0;
for(h=0; h<hazi.meret-1; h++)
{
if(hazi.cim[h]>hazi.cim[h+1])
{
hazi.csere2=1;
break;
}
}
}
hazi.meret2=0;
for(h=0; h<hazi.meret-1; h++)
{
if(hazi.cim[h]<hazi.cim[h+1])
{
hazi.meret2++;
}
}
hazi.meret2++;
hazi.cim2=malloc(sizeof(unsigned int)*hazi.meret2);
h=0;
hazi.csere=0;
hazi.cim2[hazi.csere]=hazi.cim[h];
h++;
while(hazi.csere<hazi.meret2)
{
if(hazi.cim[h]>hazi.cim2[hazi.csere])
{
hazi.cim2[++hazi.csere]=hazi.cim[h];
h++;
}
else
{
h++;
}
}
hazi.db=0;
for(h=0; h<hazi.meret-3; h++)
{
hazi.tomb[0]=hazi.cim2[h];
for(a=h+1; a<hazi.meret-2; a++)
{
hazi.tomb[1]=hazi.cim2[a];
for(z=a+1; z<hazi.meret-1; z++)
{
hazi.tomb[2]=hazi.cim2[z];
for(i=z+1; i<hazi.meret; i++)
{
hazi.tomb[3]=hazi.cim2[i];
if(hazi.tomb[0]+hazi.tomb[3]==hazi.tomb[1]+hazi.tomb[2])
{
hazi.db++;
}
}
}
}
}
printf("%u\n", hazi.db);
free(hazi.cim);
free(hazi.cim2);
return 0;
}
Ú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!
- Szünetmentes tápegységek (UPS)
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- Mobil flották
- Jövedelem
- Autós topik
- Béta iOS-t használók topikja
- Spórolós topik
- YouTube
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- lezso6: Miért is jó, ha dohányzol?! Megéri rászokni!
- További aktív témák...
- ÚJ Dobozos Lenovo ThinkPad T460 i5-6300U / 8GB / 256GB SSD / Magyar billentyűzet
- Egyedi Keycapek
- Apple iPhone 14 Pro Max 256 GB Space Black (független, iSTYLE vásárlás)
- Apple MacBook Pro 13 (2016, Touch Bar) ezüst, i5 / 8GB / 512GB SSD / 4x Thunderbolt 3
- iPhone 17 Pro Max 256GB kozmosznarancs apple.hu
- Dell G15 5530 gyári kijelzőt keresek (DP/N: 0VPD4)
- GYÖNYÖRŰ iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3351
- Bomba ár! HP ProBook 450 G3 - i5-6G I 16GB I 128SSD I HDMI I 15,6" HD I Cam I W10 I Gar!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Apple iPhone 16 Pro 128GB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest