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

Anonymní profil Ilhvm – Programujte.comAnonymní profil Ilhvm – Programujte.com

 

Příspěvky odeslané z IP adresy 93.187.106.–

PHP › Zakomponování HTML do skript…
18. 10. 2013   #182561

#6 peter
Děkuji :)

PHP › Zakomponování HTML do skript…
17. 10. 2013   #182538

#4 Kowalsky95
Moc vhodně to nevypadá, ale je to jako základní úkol do školy, tak počítám, že to vadit nebude.

Děkuji moc!
 

PHP › Zakomponování HTML do skript…
17. 10. 2013   #182536

#2 Kowalsky95
Děkuji, to vím.

Mě jde o to, jak tyto hodnoty vypsat v tabulce, jak udělat v PHP HTML tabulku. Prostě aby to, co mi výjde na výstupu vypadalo napříkad takto:

Připojen obrázek.

PHP › Zakomponování HTML do skript…
17. 10. 2013   #182534

Zdravím,

pořebovala bych poradit. Mám udělat skript, který z formuláře vytáhne data a zapíše je do tabulky.

Mám například jednoduchý formulář:

<form>
 Jméno: <input type="text" name="jmeno">
 Příjmení: <input type="text" name="prijmeni">

 <input type="submit" value="Odeslat" name="odeslat">
</form>

A potřebuju aby v jedné buňce tabulky byl název hodnoty (jméno, příjmení) a ve druhé byla zadaná hodnota.

Díky moc.

linarts
Java › Zapsání do souboru - předání…
22. 5. 2013   #176448

#7 Flowy
Jo, už mi to fičí. Díky moc :)

linarts
Java › Zapsání do souboru - předání…
22. 5. 2013   #176443

#5 Flowy
Noo děkuju, ale mě to pořád podtrhuje ten cryptedText ... že to tu proměnnou nemůže najít. Vrací ji pouze metoda crypt a já ji potřebuju dostat (zapsat) do toho nového souboru pomocí metody writeContentToFile.

linarts
Java › Zapsání do souboru - předání…
21. 5. 2013   #176422

#3 Flowy
To právě no, ale ať přemýšlím jak přemýšlím, tak nevím, jak by to mohlo fungovat.

linarts
Java › Zapsání do souboru - předání…
19. 5. 2013   #176330

Ono se to tady neoznačilo ten řádek.

Je to tenhle: bw.writeContentToFile("vystup.txt", crypt(cryptedText, 2));

linarts
Java › Zapsání do souboru - předání…
19. 5. 2013   #176329

Zdravím,

mám takový problém.


    protected String crypt(String content, int key) {
        StringBuilder cryptedText = new StringBuilder(); 
        for (int i = 0; i < content.length()-1; i++) { 
            cryptedText.append((char)(content.charAt(i) + 2)); 
        } 
        return cryptedText.toString(); 
    }

    
    protected void writeContentToFile(String targetFileName, String content) {
        File f;
        try {
            f = new File("vystup.txt");
            f.createNewFile();
        } catch(IOException ex) {
            System.out.print("Failed to create file " + fileName + ": " + ex.toString());
            seznam.add(ex.getMessage());
        }
        
        BufferedWriter bw; 
        try {
            bw = new BufferedWriter(new FileWriter("vystup.txt"));
            bw.writeContentToFile("vystup.txt", crypt(cryptedText, 2));
        } catch (IOException ex) {
            System.out.print("Error while reading file " + fileName + ": " + ex.toString());
            seznam.add(ex.getMessage());
        }
    }

Tohle jsou 2 metody. První zašifruje text a vrátí ho a druhá ten text má zapsat do nového souboru.

Problém je, že nevím, jak tu proměnnou cryptedText, kterou vrací metoda crypt mám "hodit" do toho souboru.

Konkrétně se jedná o podtržený a tučný řádek v textu.

Díky za rady!

linarts
Java › Vyjímky - seznam s chybami
11. 5. 2013   #176104

#8 ingiraxo
Tak jo, snad to nějak vykutím, díky moc :)

linarts
Java › Vyjímky - seznam s chybami
11. 5. 2013   #176102

#6 ingiraxo
Jo, dobře, to by teoreticky šlo :))

A ještě se zeptám, načítám data ze souboru, ty zašifruju a mám udělat metodu, která vytvoří soubor (ve vyjímce otestuje jestli neexistuje, pokud ano, tak vrátí chybu) a následně zapíšu ten zašifrovaný text do toho nově vytvořeného souboru.

Mám něco takového:

protected void writeContentToFile(String targetFileName, String content) {
        BufferedReader in = null;
        StringBuilder cont = new StringBuilder();
        String line, text;
        try{
            in = new BufferedReader(new FileReader(targetFileName));
            while((line = in.readLine()) != null) {
                content.append(line);
                content.append("\n");
            }
        } catch (IOException ex) { 
            System.out.println("Error while reading file " + fileName + ": " + ex.toString()); 
        }
    }

Problém tady je, že nevím, jak vytvořit ten nový soubor a potom ještě mi to podtrhuje append.

linarts
Java › Vyjímky - seznam s chybami
11. 5. 2013   #176099

#4 ingiraxo
Teda, to je na mě už trošku složitější. S vyjímkami zatím zkušenost nemám, takže v tom mám trošku zmatek.

linarts
Java › Vyjímky - seznam s chybami
11. 5. 2013   #176097

#2 ingiraxo
Takže v každé metodě mám do toho úseku try-catch vytvořit seznam s chybami ano? Jinak ten seznam má být typu String.

linarts
Java › Vyjímky - seznam s chybami
11. 5. 2013   #176095

Zdravím,

potřebuji poradit, jak zapsat vyjímku v metodě do seznamu. Můj program zatím vypadá takto:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

public class CaesarCypher extends Cypher {
    private String fileName;

    protected String readFileContent(String sourceFileName) {
        String fileName = "vstup.txt";
        BufferedReader in = null;
        StringBuilder content = new StringBuilder();
        String line, text;
        try {
            in = new BufferedReader(new FileReader(fileName));
            while((line = in.readLine()) != null) {
                content.append(line);
                content.append("\n");
            }
        } catch (FileNotFoundException ex) {
            System.out.println("File with name " + fileName + " was not found: " + ex.toString());
        } catch (IOException ex) {
            System.out.println("Failed to read file " + fileName + " :" + ex.toString());
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException ex) {
                    System.out.println("Failed to close file " + fileName + " :" + ex.toString());
                }
            }
           
        }
        text = content.toString();
        return text;
    }

    protected String crypt(String content, int key) {
        StringBuilder cryptedText = new StringBuilder(); 
        for (int i = 0; i < content.length()-1; i++) { 
            cryptedText.append((char)(content.charAt(i) + 2)); 
        } 
        return cryptedText.toString(); 
    }
}

A já mám každou chybu, která v metodě vznikne zapsat do seznamu (List<String>) chyb. Tento seznam chyb lze pak zjistit voláním metody getAllErrors().

Díky za pomoc.

Ilhvm
C / C++ › Návrh
22. 4. 2013   #175355

#2 ingiraxo
Takže něco jako taková databáze? Ta mě taky napadla.

Tak jo, díky moc :)

Ilhvm
C / C++ › Návrh
22. 4. 2013   #175336

Zdravím,

máte nějaký nápad jednoduchého programu o min. 3 třídách, kde využiju jednoduchou dědičnost, kontejner STL a nějaký návrhový vzor?

Díky za tipy :)

Ilhvm
C / C++ › Dynamický zásobník C++
20. 3. 2013   #173103

#19 KIIV
Jojojo, už je to dobré, super. V tom Code::Blocks mi to tam pořád u toho řádku (Zasobnik z1(5);) háže chybu. Každopádně si myslím, že budu mít špatně Zasobnik.h, v tom Code:Blocks je to trošku jinak, tak si s tím nějak pohraju, pohledám a uvidíme.

Děkuju moc! :)

Ilhvm
C / C++ › Dynamický zásobník C++
20. 3. 2013   #173100

#17 KIIV
S GCC jsem ještě nepracovala, každopádně jsem tam něco vykutila a výsledky:

main.cpp:

Zasobnik.cpp:

Ilhvm
C / C++ › Dynamický zásobník C++
20. 3. 2013   #173092

#15 KIIV
To tam právě mám ...

Ilhvm
C / C++ › Dynamický zásobník C++
20. 3. 2013   #173089

#13 KIIV
Pff, mě to tam furt hází chyby. Že Zasobnik není deklarovaný a z1 nenalezen.

Ilhvm
C / C++ › Dynamický zásobník C++
19. 3. 2013   #173033

#11 KIIV
Doobře, díky moc.

No a ještě, věděl bys, proč mi to vyhazuje chybu v main teda u toho řádku: Zasobnik z1(5); ? Tam prostě vytvořím objekt, který bude typu Zasobnik a bude mít 5 čísel.

Ilhvm
C / C++ › Dynamický zásobník C++
19. 3. 2013   #173006

#9 KIIV
Ano ano, tak to už mám. Takže bych tam měla přidat ještě jeden implicitní konstruktor?

To znamená něco takového?

Zasobnik::Zasobnik (){
	zas = new int [];
	...
}
Ilhvm
C / C++ › Dynamický zásobník C++
19. 3. 2013   #173000

#6 KIIV
No, jediný Zasobnik(void) mám u destruktoru, ten my void být měl ne?

Ilhvm
C / C++ › Dynamický zásobník C++
19. 3. 2013   #172998

#4 KIIV
C++ vidím poprvé v životě, takže zase v tom tak zběhlá nejsem, navíc, Visual mám, jen mám problém při kompilaci, každopádně jsem opravdu schopná program psát v něčem jiném (momentálně Code::Blocks) :))

Teď jsem to trošku změnila, každopádně bych prosila o trošku trpělivosti :))

 main.cpp:

#include <iostream>

using namespace std;

int main()
{
	Zasobnik z1(5);
	for(int i = 5; i < 10; i++)
		z1.PridejNaVrchol(i);
}

zasobnik.cpp:

#include "zasobnik.h"

private:
	int *zas;
	int index;
	int max;
public:
    Zasobnik(int);
    ~Zasobnik();
    void PridejNaVrchol(int);
    typ OdeberZVrcholu();
    bool JePrazdny();

Zasobnik::Zasobnik(int poc){
	zas = new int[max];
	max = poc;
	index = -1;
}

Zasobnik::~Zasobnik(void){
	delete zas[];
}

int Zasobnik::PridejNaVrchol(int h){
    if (index < max-1){
        index++;
        zas[index] = h;
    } else
        cout << "Zasobnik je plny!"; << endl;
}

int Zasobnik::OdeberZVrcholu(){
    if (index >= 0){
        return zas[index--];
    } else
        cout << "Zasobnik je prazdny!" << endl;
}

bool Zasobnik::JePrazdny(){
	if (index < 0) return true;
	else return false;
}

zasobnik.h

#pragma once
class Zasobnik
{
public:
	Zasobnik(void);
	~Zasobnik(void);
};

No, tady mi to hází jednu chybu ve třídě main - Zasobnik z1(5);

Ilhvm
C / C++ › Dynamický zásobník C++
19. 3. 2013   #172995

#2 Koudis
No dobře, to si člověk nevšimne někdy, mě jde spíše o funkčnost, ne o syntaxi, pořád mě to hází chybky, navíc ted mám problém ještě s MS Visual, při kompilaci mi vyhodí chybu, že nelze najít exe soubor, zkoušela jsem podle návodů tady to vyřešit, ale bez úspěchu :-/

Ilhvm
C / C++ › Dynamický zásobník C++
17. 3. 2013   #172924

Zdravím,

potřebuju naprogramovat zásobník, který bude mít tyto data:

- ukazatel na jednorozměrné dynamické pole, ve kterém budou jednotlivé prvky-celá čísla zásobníku
- vrchol zásobníku (index posledního prvku vloženého do zásobníku)
- max - hodnota omezující počet prvků v dynamickém poli

A pak bude třída obsahovat následující metody:
- konstruktor s parametrem, který vytvoří objekt a v něm dynamické pole o určitém max počtu prvků (hodnota
  parametru) a inicializuje se vrchol zásobníku
-  destruktor, který uvolní paměť po objektu
-  metoda PridejNaVrchol, která přidá prvek na vrchol zásobníku
-  metoda OdeberZVrcholu, která odebere prvek-číslo z vrcholu zásobníku a vrátí jeho hodnotu
-  metoda JePrázdný, která vrátí true, bude-li zásobník prázdný, a false, bude-li obsahovat alespoň jeden prvek

Moje třída zásobník vypadá takto:
 

#include "StdAfx.h"
#include "Zasobnik.h"

private:
	int *zas;
	int index;
	int max;

Zasobnik::Zasobnik(int max){
	zas = new int[max];
	index = max-1;
}

Zasobnik::~Zasobnik(void){
	delete zas;
}

int Zasobnik::PridejNaVrchol(int h){
	zas[index] = h;
	index++; 
}

int Zasobnik::OdeberZVrcholu(){
	return zas[index--];
}

bool Zasobnik::Je Prazdny(){
	if (index <= 0) return true;
	else return false;
}

A ve třídě main mám zatím jen aplikovanou metodu pro vložení:

 

#include "stdafx.h"
#include <iostream>

using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	cout << "Zadej pocet prvku: ";
        cin >> max;
	
	Zasobnik z1(max);
	for(int i = max; i < ; i++) 
		z1.PridejNaVrchol(i);
}

Jelikož mám Visual Studio mimo provoz, tak to nemám jak vyzkoušet? Teoreticky mám to dobře?

Díky!

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166910

#20 KIIV
aaha dobře, výborně, to už vcelku chápu :)

Tak jo, děkuju vám moc všem :)

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166908

#17 KIIV
No ..... to chápu, ale, nevím jak to napsat, možná nad tím až moc přemýšlím :)) Prostě nechápu jak ten cyklus může poznat, že je stav různý od 0, když je zrovna nastaven na 0, opravdu bych to potřeboval vysvětlit celý ten cyklus úplně polopaticky.

#18 ingiraxo
Dobře, zkusím si to pak ještě prokontrolovat. Děkuju :)

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166904

#15 ingiraxo
No, tenhle cyklus mi maže poslední prvek.

#14 KIIV
Noo, tak nějak mi to pořád nedává smysl :)) Nechápu jak se může tvořit podmínka stylem - jestliže 0 pak ... Kdybys to mohl rozebrat ještě více, úplně nějak polopaticky jak pro blbečka :))

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166898

#12 KIIV
Jasně, funguje, jenže programování není mojí silnou stránkou, C jazyk už vůbec ne, navíc se ho učím asi 2 měsíce a ještě sám a musím plnit úkoly, kdy některé jsou pro mě bohužel složité, to znamená že se vyhýbám pro mě "složitějším" řešením i když jsou třeba kratší a vypadají líp, protože to budu muset obhajovat.

Můžeš mi prosímtě ještě vysvětlit jak funguje ten stav? Ještě jsem nikde neviděl, že je v podmínce čistě jen číslo a pak, že stavu přiřazuju hodnotu ...

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166894

Mě už se to nechce ten program moc překopávat, mám to takhle:


for(i=0; i<N; i++){
    if (a[i]%2 == 0){
	prvek = a[i];
        for (j=prvek; j<N; j++){
            a[j] = a[j+1];
        }
    }
}

Nešlo by to v tomhle nějak popachtit? Když program spustím a napíšu pole:

1 3 5 7 6 4 5 7 8 5

vypíše mi to:

1 3 5 7 4 5 5 7 5

První sudý prvek to odstraní, ale pak se následující číslice zdvojí a prostě moc nechápu co se tam děje.

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166884

Tak po pár úpravách už v pohodě, jen mám problém s for


    for(i=0; i<N; i++){
        if (a[i]%2 == 0){
	    prvek = a[i];
            for (i=prvek; prvek<N; i++){
                prvek = a[i+1];
            }
        }
}

Pole odstraní poslední prvek.

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166878

Nejspíše z důvodu toho, že alokuju paměť v cyklu, takže to jsem taky vyhodil mimo cyklus:

for(i=0; i<N; i++){
        if (a[i]%2 == 0){
            prvek = a[i];
            for (i=prvek; prvek<N-1; i++){
                prvek = a[i+1];
            }
        }
}
za = (unsigned int *)malloc(sizeof(unsigned int)*9);
za = a;

for (i=0; i<N-1; i++) printf ("%d", za[i]);

free(a);
a = NULL;

a teď už mi to nevypisuje to nové pole vůbec

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166877

Jinak ještě jsem spravil u druhého for cyklus:

for(i=0; i<N; i++){
        if (a[i]%2 == 0){
            prvek = a[i];
            for (i=prvek; prvek<N-1; i++){
                prvek = a[i+1];
            }
        }
        za = (unsigned int *)malloc(sizeof(unsigned int)*9);
        za = a;
        printf ("%d", za[i]);
	}

prvek = a[i+1] a jedou mi tam do nekonečně samé 9 :))

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166876

#2 vitamin
máme to alokovat dynamicky

#3 KIIV
oukej, spraveno

CrazyWolf
C / C++ › Hledání sudého prvku v poli C
15. 11. 2012   #166870

Zdravím vás,

mám menší problém u pole. Potřebuju napsat program, kde funkce vyhledá první sudé číslo v dynamickém 10prvkovém poli, následně ho odstraní, prvky přepíše a pole zmenší na 9 prvků.

Mám tohle:

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#define N 10


int _tmain(int argc, _TCHAR* argv[])
{
    unsigned int *a;
    unsigned int *za;
    int i;
    int prvek;

    a = (unsigned int *)malloc(sizeof(unsigned int)*N);

    printf("Nacti deset cisel:\n", i);

    for(i=0; i<N; i++){
        scanf("%d", &a[i]);
    }
    for(i=0; i<N; i++) printf("%d", a[i]);


    for(i=0; i<N; i++){
        if (a[i]%2 == 0){
            prvek = a[i];
            for (i=prvek; prvek<N-1; i++){
                a[i] = a[i+1];
            }
        }
        za = (unsigned int *)malloc(sizeof(unsigned int)*9);
        za = a;
        printf ("%d", za[i]);

        free(a);
        a = NULL;
    }

    system("PAUSE");
    return 0;
}

Program mi vyhodí nějakou šílenou chybu u if (a[i]%2 == 0).

Díky předem za jakékoliv rady.

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166263

#54 ingiraxo
... Jo v pořádku, takhle jsem to udělala předtím, ale max se mi nezobrazilo, teď jsem si všimla, že jsem zapomněla hodit do printf formát čísla :/ Asi přepracovanost :D Nechám to tak jak to mám, i kdybych tam měla potom ještě nějaké chyby, tak už to řešit nebudu, ten příklad už nechci vidět :))

Tak děkuju moc a hlavně za tu trpělivost :)

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166261

Žádná změna, mě už tenhle příklad příjde jako nevyřešitelný :D

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166259

Píše mi to - Error 9 error C2143: syntax error : missing ';' before 'type' - takže to bude úplně nějaká blbost někde.

Main:

int _tmain(int argc, _TCHAR* argv[]) {
        int a;
	float pp[N] = {0};
    
	srand((unsigned int)time(NULL));
	
	RandomFloat(a);
	NaplnPole(pp, 2, 8);
        VypisPole(pp, 2, 8);
	float* max = HledejPrvek(pp, 2, 8);
        // UsporadejPole(pp, 2, 8);

        system("PAUSE");
	return 0;
}
Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166256

Když to napíšu takhle:

float* max = HledejPrvek(pole, 0, N); hodí mi to chybu, když to napíšu takhle:

float* max = NULL;
max = HledejPrvek(pp, 2, 8);

tak se program rozjede, ale nic mi to neprovede, tak já už fakt nevím

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166247

#46 Luckin
A v main to předám jak, když vracím adresu největšího prvku, který je v poli? To nemůžu napsat jako &pp[max] = HledejPrvek(pp, 2, 8) ne?

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166241

#44 ingiraxo
Jojo, v zadání to tak je, že funkce vratí adresu největšího prvku

Ilhvm
C / C++ › C - naplnění pole
9. 11. 2012   #166230


Ještě jsem se chtěla zeptat, funkce, která hledá největší prvek mezi indexy dolní a horní, vypadá takto - float* HledejPrvek(float pp[],int dolni, int horni), to znamená, že má vracet adresu toho maximálního prvku, funkci mám teda takto:

float* HledejPrvek(float pp[], int dolni, int horni) {
    int i;
    float max = -1;

    if (pp && dolni >= 0 && horni < N) {
        for (i = dolni; i < horni; i++) {
            if (pp[i] > max)
                max = pp[i];
        }
    }
    return max;
}

V mainu pak:

#define N 10

int _tmain(int argc, _TCHAR* argv[]) {

    float pp[N] = {0};
    float max;

    srand((unsigned int)time(NULL));

    NaplnPole(pp, 2, 8);
    VypisPole(pp, 2, 8);
    max = HledejPrvek(pp, 2, 8);
    UsporadejPole(pp, 2, 8);

    system("PAUSE");
	return 0;
}

No, a teď zase ty pointery .... :))

Ilhvm
C / C++ › C - naplnění pole
8. 11. 2012   #166166

#39 ingiraxo
Jé děkuju moc :)

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166137

Jasně, to chápu, jen co mi dělá pořád problémy jsou ty pointery. Nevím kde je dát a kde ne.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166134

#30 ingiraxo

Buď zadána uživatelem a nebo pevně daná, v zadání to upřesněno není, takže si můžeme vybrat.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166129

S tím že potom máme v dalších funkcích pole vypsat, vyhledat prvek, který má mezi indexem dolní a horní největší hodnotu a nakonec pole seřadit.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166128

Napište program, který bude vytvořen pomocí projektu ze tří samostatných modulu. První modul bude obsahovat funkci 'main', druhý modul bude obsahovat funkci s označením (A). Třetí modul bude obsahovat funkce (B), (C), (D), (E). K příslušným zdrojovým souborům vytvořte hlavičkové soubory.

(B) void NaplnPole(float pp[],int dolni, int horni); - funkce naplní pole "pp" od indexu "dolni" po index "horni" náhodnými
                                                                       hodnotami v rozsahu 0 až 999, ale typu float

Takové je zadání.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166114

#15 Luckin
takže prostě nad metodu napíšu int *n? Jak u NaplnPole tak i u main?

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166109

Pointery mi dělají strašný problém, tady v tom jsem úplně mimo, funkce má 3 parametry, pole, dolní a horní, nevím jak do toho zahrnout ještě velikost aby to bylo podle zadání.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166102

No, jelikož ale nevím jak naplnit velikost pole tak vznikl další problém :/

Mám teda kód:

void NaplnPole(float pp[], int dolni, int horni){
	int i, a, b;
	float c;
	int n;

	printf("Zadej velikost pole: ");
	scanf("%d", &n);
	
	printf("\nZadej dolni index: ");
	scanf("%d", &dolni);
	printf("\nZadej horni index: ");
	scanf("%d", &horni);

	srand(time(0));
	
	if (dolni >= 0 && horni < sizeof(pp)) {
		for (i = dolni; i < horni; i++) {
			pp[i] = rand() % 999;
			printf("%d  ", pp[i]);
    }
}

a tuhle metodu pak testuju v main:

int _tmain(int argc, _TCHAR* argv[])
{
	int b, c;
	float *pp;

	NaplnPole(pp, b, c);

	system("PAUSE");
	return 0;
}

Velikost pole bych nastavila v mainu, že by uživatel zadal velikost pole (což mám tady v NaplnPole). Jelikož ale na pole odkazuji pomocí pointeru, tak nevím jak na to.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166099

#9 ingiraxo
aa děkuju :))

Jinak ten rand jsem brala z jiné mojí metody, kde máme funkci, která vrací náhodná čísla typu float od 0 po rozsah, který je typu int, máme využít reálné dělení dvou celých čísel, a tuto funkci máme využít i právě v tomto příkladu. 

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166093

#5 ingiraxo
Taky nejede :))

#6 vitamin
Dneska programuju od rána a mám pocit že mi z toho přemýšlení odchází mozek :)) Chápu teda, že se dolní a horní nemění, ale čím zaměnit dolní, to už nevím :))

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166088

No, takže by to měla řešit horni-1? To mi ale taky nejde.

Ilhvm
C / C++ › C - naplnění pole
7. 11. 2012   #166082

Zdravím,

mám takový menší problém s naplněním pole v C. Mám naplnit pole od dolního po horní index (které nejspíše zadá uživatel) náhodnými čísly typu float. Cyklus jsem sestavila nějak takto:

for(i = dolni; dolni<=horni; i++){
      a = rand() % 999;
      b = rand() % 999;
      pp[i] = (float)a/b;
      printf("%0.2f ", pp[i]);
}

Když spustím program, hlásí mi to u řádku pp[i] = (float)a/b; varování Unhandled exception at 0x00413798 in Modul1.exe: 0xC0000005: Access violation writing location 0xcccccccc. Myslím si, že to bude tím, že pole nemá určenou délku. Pokud zadám třeba dolní 5 a horní 7, tak 0-4 není zadán 8+ taky ne, a tak metoda neví, co tam přiřadit, ale nejsem si tím jistá.

Byla bych ráda za jakoukoliv radu.
Děkuji :)

 

 

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