Programovanie C - matice + odporucanie, co nastudovat

Programovacie jazyky, rady, poradňa...
Deco
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 449
Registrovaný: 21 okt 2007, 20:07
Kontaktovať používateľa:

Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa Deco »

Ahojte, potreboval by som radu, mam si v kratkej dobe nastudovat zaklady programovania v C, plus vypracovat jedno zadanie, tykajuce sa matic. Viete mi odporucit nejake dobre materialy, kde si problematiku matic nastudujem, zatial v tom dost tapem, plus kde najdem nejake algoritmy? Popr. ako su matice nazyvane v anglictine? Aby som si nasiel nejake videa.

Zaroven viete mi poradit so zadanim, nemyslim vypracovat, to si chcem spravit sam ale keby mi viete povedat, na co presne sa v studiu zamerat (napr. pozri prikazy while, switch, nastuduj cykly, polia a pod.)

Zadanie:
Riešte problém, ktorý umožní používateľovi zadať prvky štvorcovej matice A s rozmermi 4x4, prvky sú načítavané v trojkovej sústave zo súboru. Potom pre každý prvok na diagonále určí, či je menší ako súčet ostatných prvkov v tom istom stĺpci a výsledky vypíše aj s prevodom do desiatkovej sústavy. Prvky matice sú celé kladné čísla a program vytvorte tak, aby rozmer matice bolo možné jednoducho meniť. Na načítanie matice, na načítanie prvku v trojkovej sústave a na porovnanie prvku na diagonále s ostatnými prvkami v stĺpci použite funkcie.

Vdaka za kazdu pomoc.
mirak2
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6719
Registrovaný: 18 sep 2005, 13:44
Bydlisko: Prague, CZE / Kosice, SVK

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa mirak2 »

matica = matrix. to nie je o problematika, to je skor o pochopeni dvojrozmernych poli, staci ti vediet dvojrozmerne pole a for. nie som Cckar, takze co sa tyka nacitania suboru a ukladania v pamati ti nepomozem.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8215
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa harrison314 »

Potrebujes na to makra, deklaraciu dvojrozmeneho pola (int matrix[4][4];) a vediet vytvarat funkcie, nacitat string zo suboru (fscanf(file,"%s", buffer)), dva vnorene for cykli.
Co sa taky vedomosti o matisiach nemusis vediet nic, mas tam presne napisane co mas s nou spravit, jedine co musis vediet je previest retazec v trojkovej sustave na integer.
Deco
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 449
Registrovaný: 21 okt 2007, 20:07
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa Deco »

Super chalani, diky moc, toto mi velmi pomoze. Mam nejake materialy, hlavne vychadzam z knihy P. Herout - Programovani v C a vidim tam presne kapitoly podla toho, co ste mi napisali.

Este by ma zaujimalo, mozno to bude total primitivna otazka, ale pri matici 4x4 mam na zaciatku ziadat od uzivatela pri vstupe 16 cisiel?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8215
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa harrison314 »

P. Herout - Programovani v C je rychlokurz geniality pre C-ecko, precitaj si ju celu.

Ano 4*4 je 16 :D
Deco
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 449
Registrovaný: 21 okt 2007, 20:07
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa Deco »

Prosim vas, vedeli by ste mi pomoc, ako to osetrit, aby sa vykonal sucet aj vtedy ked pri zadani hodnot bude dolna hranica vacsia ako horna?

Kód: Vybrať všetko

#include <stdio.h>
#include <conio.h>

int main(void)
{
  int i, j, sucet = 0;

  printf("Vypocitam sucet cisiel od nacitanej dolnej hranice a\n"
         "po nacitanu hornu hranicu b.\n\n");
  printf("Zadaj dolnu hranicu: ");
  scanf("%d", &i);
  printf("Zadaj hornu hranicu: ");
  scanf("%d", &j);
  while (i <= j) {
    sucet += i;
    i++;
  }
  printf("Sucet cisiel je: %d\n", sucet);
  getch();
  return 0;
}
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8215
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa harrison314 »

Napriklad tie cisla prehodis medzi sebou.

Kód: Vybrať všetko

#include <stdio.h>
#include <conio.h>

int main(void)
{
  int i, j, sucet = 0;

  printf("Vypocitam sucet cisiel od nacitanej dolnej hranice a\n"
         "po nacitanu hornu hranicu b.\n\n");
  printf("Zadaj dolnu hranicu: ");
  scanf("%d", &i);
  printf("Zadaj hornu hranicu: ");
  scanf("%d", &j);
 if(i > j)
 {
    int tmp = i;
    i= j;
    j = tmp;
 }

  while (i <= j) {
    sucet += i;
    i++;
  }
  printf("Sucet cisiel je: %d\n", sucet);
  getch();
  return 0;
}
Deco
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 449
Registrovaný: 21 okt 2007, 20:07
Kontaktovať používateľa:

Re: Programovanie C - matice + odporucanie, co nastudovat

Príspevok od používateľa Deco »

Vdaka :-)
Napísať odpoveď