- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Ulefone Armor X32 Pro
- Milyen okostelefont vegyek?
- Sony Xperia 1 V - kizárólag igényeseknek
- Yettel topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy A54 - türelemjáték
- Android alkalmazások - szoftver kibeszélő topik
- Apple Watch Ultra - első nekifutás
- Apple Watch
Hirdetés
Ú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!
- Vicces képek
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Apple MacBook
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Elektromos autók - motorok
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Windows XP
- Azonnali alaplapos kérdések órája
- Autós topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Akció! Sérült! Corsair Icue 5000X RGB Számítógépház! Olvass leírást!
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- Apple iPhone 13 128GB Kártyafüggetlen 1 év Garanciával
- DELL Latitude 7340 i7-1365U 16GB 512GB 13.3" FHD+ TouchScren 1 év garancia
- Dell Optiplex MT/SFF 3040, 3050, 3060, 3070, 5070, 7060/ Hp ProDesk /SZÁMLA- GARANCIA
Állásajánlatok
Cég: FOTC
Város: Budapest