Anonymní profil Pavla Kainráthová – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Pavla Kainráthová – Programujte.comAnonymní profil Pavla Kainráthová – Programujte.com

 

Příspěvky odeslané z IP adresy 2a00:1028:919e:39a:896:70...–

Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204912

to jsem právě zkusila a udělala to takto, ale program vždy přestane pracovat

for (i=1; i<(pocetRadku+1); i++)
                {for (j=0; j<pocetSloupcu; j++)
                
                 fscanf(vstupni,"%d",&matice[i][j]);
                }

  for(i=0;i<pocetRadku;i++)
  {
    for(j=0;j<pocetSloupcu;j++)
        printf("%d ",matice[i][j]);
    printf("\n");
  }
Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204910

pardon od 2 do 5

Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204909

Ona matice je v tomto tvaru. Ta 2 udává počet rovnic. A já když dám načtení a vypsání pole, tak mi to vypíše matici od 2 do 7.

2
10 30 
6 5 7

Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204907

Super mockrát děkuji, těd už ty výsledky odpovídají. Akorát bych měla asi hloupý dotaz, a omlouvám se, že tě pořád otravuji, ale nevím jak ři načítání té matice přeskočit to první číslo tj. počet rovnic. Protože at si hraju s ičkem jak chci pořád to nehází správná čísla.

Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204904

mockrát děkuji za odpověď. Já počet řádků i sloupců určit dokáži. Ale mám problém s tím načítáním do matice. Tam je ten háček :))

Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
12. 9. 2015   #204902

ahoj, mockrát děkuji :)) mám to přesně jak jste napsal, spočítala jsem počet řádků i sloupců, ale těd ohledně toho skenování pole když to udělám jako to mám výše, tak mi to vypíše naprosto bláznivé hodnoty. 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char** argv)
{

FILE *vstupni;
  int pocetRadku;
  int *a,*b,*c;
  char jmeno[50];
  int i,n,j,m;
  char strednik;
  int znak,pocetSloupcu;
  znak=0;



  printf("Zadej jmeno souboru: ");
  gets(jmeno);

  if((vstupni=fopen(jmeno,"rt"))==NULL)
  {
    printf("Vstupni soubor %s nelze otevrit\n",jmeno);
    return -1;
  }
i=0;
for(i=0;i!=1;i++)
{
fscanf(vstupni,"%d",&pocetRadku);

}
while ((strednik=fgetc(vstupni))!=EOF)
  {
     if(strednik==';') znak++;

     }
     pocetSloupcu=znak/pocetRadku;
     printf("%d\n",pocetSloupcu);


int** matice = (int**)malloc(pocetRadku * sizeof(int*));


for (i = 0; i < pocetRadku; ++i) {
    matice[i] = (int*)malloc(pocetSloupcu * sizeof(int));
}

for (i=1; i<pocetSloupcu; i++)
                {for (j=0; j<pocetRadku; j++)

                        fscanf(vstupni,"%d",&matice[i]);
                }

  for(i=1;i<pocetSloupcu;i++)
  {
    for(j=0;j<pocetRadku;j++)
        printf("%d ",matice[i]);
    printf("\n");
  }


    return (0);
}
Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
11. 9. 2015   #204894

zatím jsem vymyslela toto, ale proostě nemohu na to přijít stále :/ 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char** argv)
{

FILE *vstupni;
  int pocet;
  int *a,*b,*c;
  char jmeno[50];
  int i,n,j,m;



  printf("Zadej jmeno souboru: ");
  gets(jmeno);

  if((vstupni=fopen(jmeno,"rt"))==NULL)
  {
    printf("Vstupni soubor %s nelze otevrit\n",jmeno);
    return -1;
  }
i=0;
for(i=0;i!=1;i++)
{
fscanf(vstupni,"%d",&pocet);

}
printf("%d",pocet);

n=pocet;
m=pocet+1;
int mat[n][m];

for (i=1; i<n; i++)
    for (j=0; j<m; j++)
	{
		fscanf(vstupni,"%d",&mat[i][j]);
	}

 for(i=1;i<n;i++)
  {
    for(j=0;j<m;j++) printf("%d ",mat[i][j]); /* tisk jednoho radku */
    printf("\n"); /* za kazdym radkem odradkuji */
  }

    return (0);
}
Pavla Kainráthová
C / C++ › Gaussova eliminační metoda
11. 9. 2015   #204890

Dobrý den, měla bych na Vás dotaz. Jsem začátečnice v cčku a potřebuji napsat program, který přečte z textového souboru matici soustavy a vektor pravých stran a následně to vyřeší gaussovou metodou. Budu mít zadáno číslo udávající počet rovnic a potom tu matici.

Můj problém je už na začátku, protože nevím jak si uložit do pole ty čísla, v závislosti na počtu rovnic. Protože se mi musí dynamicky alokovat počet vektorů v závislosti na počtu rovnic.

Prosím tedy velmi o radu, protože jsem z toho už zoufalá a lámu si nad tím marně hlavu už přes týden.

Předem mnohokrát děkuji za odpověď.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý