2024. április 16., kedd

Gyorskeresés

Segítsetek légyszíves

Írta: |

[ ÚJ BEJEGYZÉS ]

Programozásból kaptunk házik a szünetre, de én nem tudom megcsinálni mert nem igazán értem. Ha valaki meg tudná csinálni, és meg is osztaná velem, annak nagyon örülnék :). Szóval itt a feladat:
Olvassunk be egy N egész számot (1<=N<=10), majd egy NxN-es kétdimenziós tömbbe olvassunk be természetes számokat.

- Írjuk ki a tömböt a képernyőre, pl. N=4-re és a következő számokra ilyen formában::

60 19 17 53
17 82 26 10
8 11 29 90
64 77 19 70

- Írjunk a tömb átlójába 0-kat, majd írjuk ki a tömböt újra a képernyőre:

0 19 17 53
17 0 26 10
8 11 0 90
64 77 19 0

Tehát várom a segítőkész emberkéket, nekem ez nem megy. C++ nyelven kellene megírni.

Hozzászólások

(#1) veector


veector
senior tag

Milyen nyelven kéne?

Amugy annyi az egész hogy megcsinálod a tömböt random számokkal, kiírod, azután egy ehhez hasonló for ciklussal (ez c#):
for (int i=0; i<N; i++){
tömb[i,i] = 0; // vagy tömb[i][i] = 0;
}

[ Szerkesztve ]

(#2) Davidof92 válasza veector (#1) üzenetére


Davidof92
senior tag

C++ elfelejtetem beírni, jó hogy szóltál :).

(#3) veector válasza Davidof92 (#2) üzenetére


veector
senior tag

az hasonlít valamennyire a c#-hoz, sztem nagyjából használható amit írtam 1. HSZben

(#4) Peter Kiss


Peter Kiss
senior tag
LOGOUT blog

Dinamikus tömbbel jobb lenne, de szerintem még nem volt ilyen nálatok.

http://pastebin.com/mmP5Hp4U

Másrészt ez faék egyszerű program, ha ez nem megy, akkor komoly gondok vannak az elemi programozással.

[ Szerkesztve ]

(#5) Davidof92 válasza Peter Kiss (#4) üzenetére


Davidof92
senior tag

Köszi. Az a baj, hogy 16-an vagyunk az osztályban(inkább csoport) de 1 emberen kívül senki sem érti ezt a dolgot, de nem is érdekel senkit sem. Valamennyire tudok programozni, de ezt a tömböset nem értem. Alap dolgokat meg tudok csinálni, de ez magas :).

(#6) #19617792


#19617792
törölt tag

Én egyelőre még kezdő szinten ismerem a C#-ot, de talán tudok segíteni, C++-t sajnos nem ismerem, de szerintem hasznos lehet:

int n = -1;
while (!(n >= 1 && n <=10))
{
Console.Write("Kérek egy 1 és 10 közötti egész számot: ");
n = Convert.ToInt32(Console.ReadLine());
}

Random r = new Random(); //random számokkal töltjük meg a tömböt
int[,] tomb = new int[n, n];

for (int j = 0; j < n; j++)
{
for (int i = 0; i < n; i++)
{
tomb[i, j] = r.Next(0, 101); //0 és 100 között lesznek számok
Console.Write("{0,3} ",tomb[i,j]); //szép formázott megjelenés
}
Console.WriteLine();
}

Console.WriteLine("\n\n"); //plusz üres sorok, hogy elkülönüljön a két tömb

for (int i = 0; i < n; i++)
{
tomb[i, i] = 0;
}

for (int j = 0; j < n; j++)
{
for (int i = 0; i < n; i++)
{
Console.Write("{0,3} ", tomb[i, j]); //szép formázott megjelenés
}
Console.WriteLine();
}

Console.ReadKey();

Ami a blogbejegyzésben volt info, az alapján.

[ Szerkesztve ]

(#7) Peter Kiss válasza Davidof92 (#5) üzenetére


Peter Kiss
senior tag
LOGOUT blog

Az baj.

Kis információ a kódhoz: nem írja ki a teljest, csak azt, amire kéred. Ezt nem tudtam, igényli-e. Plusz azt sem tudom, kell-e ellenőrizni, hogy mekkora a beírt N. Aztán még az is lehet, hogy akadna közben plusz kérdés. :DDD

(#8) veector válasza #19617792 (#6) üzenetére


veector
senior tag

Szép kód. Ránézésre hibátalan
Hát igen jobb itt a rectangular array mint a jagged :K

Am MS Visual Studio 2010 megvan? :U

[ Szerkesztve ]

(#9) #19617792 válasza veector (#8) üzenetére


#19617792
törölt tag

Nem, csak Visual C# 2008 Express Edition van (bár megvan a Visual Studion Team System 2008 Team Suite is MSDNAA-ról). :) A 2010-esnél megvárom míg felkerül az a végleges MSDNAA-ra.

A for ciklusoknál annyit lehetne még, hogy nem n -ig mennek, hanem tomb.GetLength(0) vagy tomb.GetLength(1)-ig. Bár a végeredmény ebben az esetben ugyanaz.

[ Szerkesztve ]

(#10) Trub válasza veector (#8) üzenetére


Trub
tag

Én is a visual studio-t használom. Objektum orientáltba kéne? Bár nem hiszem, mindjárt megírom....

Szerk: Jah, hogy közbe újrarakta a gépem ;] így egy kis idő... már rég programoztam valami normális nyelven, mindig csak pascal :U

[ Szerkesztve ]

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.