Results 1 to 4 of 4
Thread: çàäà÷à íà C
Hybrid View
-
1st November 2015 13:01 #1Registered User
Join Date: Nov:2015
Location: dupnica,bulgaria
Posts: 2
çàäà÷à íà C
çäðàâåéòå íå çíàì äàëè òîâà å ïðàâèëíîòî ìÿñòî äà ïèòàì íî ùå ìîæå ëè äà ìè ïîìîãíåòå äà îòêðèÿ ãðåøêàòà ñè â çàäà÷àòà ìè çà êóðñîâà, ùå âè ïîêàæà è êàêâî ñúì íàïðàâèë àç,ùå ñúì âè ìíîãî áëàãîäàðåí àêî ìè ïîìîãíåòå.Çàäà÷àòà å:äà ñå ñúñòàâè ïðîãðàìà çà îáðàáîòêà íà ìàñèâà A[N][N],êúäåòî äàííèòå ñà öåëè ÷èñëà â èíòåðâàëà [-500 - 500].Ïðîãðàìàòà äà èçâúðøè ñëåäíèòå äåéñòâèÿ:îòïå÷àòâàíå íà óñëîâèåòî íà çàäà÷àòà;îòïå÷àòâàíå íà äàííè çà àâòîðà;âúâåæäàíå íà âõîäíè äàííè;èçâåæäàíå íà âõîäíè äàííè;à)äà ñå îáðàçóâà åäíîìåðåí ìàñèâ C[N],åëåìåíòèòå íà êîéòî ñà ìàêñèìàëíèòå åëåìåíòè îò âñÿêà êîëîíà íà ìàñèâà A;á)ïîëó÷åíèÿò ìàñèâ äà ñå ñîðòèðà ïî ãîëåìèíà;îòïå÷àòâàíå íà ïîëó÷åíèòå ðåçóëòàòè ñëåä îáðàáîòêà à) è ñëåä îáðàáîòêà á).Åòî êàêâî ñúì íàïðàâèë àç:
#include<stdio.h>
#include<stdlib.h>
int main()
{
const int N=15;
int n,i,j,temp,k,to;
int A[N][N],C[N];
printf("Avtor:Vencislav Vaskov Kacarski\n");
printf("fak ¹:251215006;fakultet:MTF;specialnos t:KPTM;grupa:19\n");
printf("Da se sastavi programa za obrabotka na masiva A[N][N],\n");
printf("kadeto dannite sa celi chisla v intervala [-500;500].\n");
printf("Programata da izvarshi slednite deistvia:\n");
printf("otpechatvane na uslovieto na zadachata;\n");
printf("otpechatvane na imenata na avtora na programata;\n");
printf("vavejdane na vhodnite danni;\n");
printf("otpechatvane na vhodnite danni;\n");
printf("a) da se obrazuva ednomeren masiv C[N],\n");
printf("elementite na koito sa maksimalnite elementi ot vsaka kolona na masiva A;\n");
printf("b) polucheniat masiv da se sortira po golemina;\n");
printf("otpechatvane na poluchenite rezultati sled obrabotka a) i sled obrabotka b).\n");
printf("Vavejdane na vhodni danni:\n");
printf("vavedete broia redove i stalbove n=");
scanf("%d",&n);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
printf("vavedete element na pozicia %d:%d v intervala[-500-500]:",i,j);
do
{
scanf("%d",&A[i][j]);
if (A[i][j]<-500||A[i][j]>500)
printf("vavedete novo chislo na pozicia %d:%d:",i,j);
}
while(A[i][j]<-500||A[i][j]>500);
}
}
printf("\n\n");
printf("Izvejdane na vhodni danni:\n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
printf("%5d",(int)A[i][j]);
}
printf("\n");
}
printf("\n\n");
printf("obrazuvane na ednomeren masiv s elementi maximalnite ot vsaka kolona na masiva A:\n");
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
do
{
scanf("%5d",&C[i]);
if (A[j][i]>C[i])
printf("C[i]=A[j][i]");
}
while(C[i]<-500||C[i]>500);
}
(printf("\n"));
printf("izvejdane na noviat masiv:\n");
for (i=0;i<n;i++)
printf("%5d",(int)C[i]);
printf("\n");
printf("sortirane na masiva C[N]:\n");
for (i=0;i<n-1;i++)
{
for (k=i+1;k<n;k++)
{
if(C[k]<C[i])
{
temp=C[i];
C[i]=C[k];
C[k]=temp;
}
}
}
printf("izvejdane na sortirania masiv:\n");
for (i=0;i<n;i++)
printf("%5d",(int)C[i]);
printf("\n");
system("pause");
return 0;
}Last edited by vencislav45; 1st November 2015 at 13:03.
-
1st November 2015 14:20 #2
1. Ìíîãî íåïðèÿòíî ôîðìàòèðàíå íà òåêñòà, íå ñå ÷åòå.
2. Ìíîãî çàâèñè íà êàêâî íèâî ñè.  èäåàëíèÿ ñëó÷àé ïðàâèø äèíàìè÷åí ìàñèâ ñ malloc è òîâà N ñå çàäàâà îò ïîòðåáèòåëÿ. Ðåàëíî çàäåëÿø ïàìåò çà ãëàâíèÿ ìàñèâ è ñëåä òîâà çà âñåêè îòäåëåí ïîä-ìàñèâ ñúùî.
Àêî íå ñòå ó÷èëè malloc, òîâà N ìîæåø äà ñè ãî çàäàäåø êàòî #define N 15 ñëåä #include è ïðåäè main(), ñàìî ÷å ïîäîáíî èçïúëíåíèå å äîñòà áåçñìèñëåíî è íå çíàì çàùî ñà òè ãî äàëè êàòî çàäàíèå.
3. Òîâà
Ñòàâà íàCode:if (A[j][i]>C[i]) printf("C[i]=A[j][i]");
ÒîâàCode:if (A[j][i]>C[i]) C[i]=A[j][i];ìîæåø èçîáùî äà ãî ðàçêàðàø, ïðåäïîëàãàì ñè ãî ñëîæèë çàùîòî èçèñêâà ìàñèâà äà èìà ñòîéíîñòè ïúðâî, êàòî ðåøåíèå ìîæåø ïðîñòî äà ìèíåø ïðåç öåëèÿ ìàñèâ è äà ìó çàäàäåø -500, ïîíåæå òîâà òè å íàé-ìàëêàòà ñòîéíîñò.Code:scanf("%5d",&C[i]);
Ñúùî òàêà ïðîâåðêàòà ñ do/while ÿ ìàõàìå, ïîíåæå A[i][j] ñè ãî ïðîâåðèë ïðè âúâåæäàíå è C[i] âå÷å ñìå ãî èíèöèàëèçèðàëè ñ -500.
Ñúùî òàêà òèÿ -500 è 500 ìîæåø äà ñè ãè äåôèíèðàø ñCode:for (i = 0; i < N; i++) C[i] = -500; for (i = 0; i < n; i++) { for (j = 0; j<n; j++) if (A[j][i]>C[i]) C[i] = A[j][i]; }
è äà ñè ãè ïîëçâàø òàêà â êîäà. Èäåÿòà å àêî íå ñà äèíàìè÷íè íåùàòà, òî ïîíå äà ìîæåø ìíîãî ëåñíî äà ãè ïðîìåíÿø ïðè êîìïèëàöèÿ, çàåäíî ñ N.Code:#define ARR_MIN -500 #define ARR_MAX 500
Îñâåí òîâà âñÿêà ïî-ñëîæíà îïåðàöèÿ å õóáàâî äà ñè ÿ îáîñîáèø â îòäåëíà ôóíêöèÿ, òàêà ÷å main() ñàìî äà âèêà ôóíêöèèòå è äà óïðàâëÿâà ïðîìåíëèâèòå.  ñëó÷àÿ ìîæå äà èìàø 4 ôóíêöèè - ìåíþ, âúâåæäàíå íà ìàñèâ, îòäåëÿíå íà íîâèÿ ìàñèâ è ñîðòèðàíå íà ìàñèâà.
ÏÑ:
Êàêòî âèæäàø èçïúëíåíèåòî áåç äèíàìè÷íè ìàñèâè å ìíîãî çëå, ïîíåæå çàäàâàìå íÿêàêâè ãîëåìè ñòîéíîñòè íà ìàñèâèòå, ñëåä êîåòî èíèöèàëèçèðàìå âñè÷êèòå ñòîéíîñòè è íàêðàÿ èãíîðèðàìå âñè÷êè íåèçïîëçâàíè åëåìåíòè. Ãóáè ñå îãðîìíî êîëè÷åñòâî ïàìåò è ïðîöåñîðíî âðåìå.Last edited by axi; 1st November 2015 at 15:22.
-
1st November 2015 15:56 #3Registered User
Join Date: Nov:2015
Location: dupnica,bulgaria
Posts: 2
ìíîãî òè áëàãîäàðÿ ïðèÿòåë.ïîëó÷è ñå îò ïúðâè îïèò.íàèñòèíà ìíîãî òè áëàãîäàðÿ.
-
3rd November 2015 04:50 #4Õåéòúð
Join Date: Jul:2011
Location: Sofia
Posts: 1,632
Àêî èñêàø äà íàó÷èø C è ïðåïîäàâàòåëÿò òè òè å ïîêàçàë: system("pause"), ïî-äîáðå ñïðè äà ãî ñëóøàø.




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè