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

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

 

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

C / C++ › Problém se spuštěním programu
11. 5. 2014   #190028

Dobrý večer

Dělám seminárku na hodinu programování. Tohle je zadání:


Matice (dvourozměrné pole) s maximálním rozměrem 50x50 prvku typu int (signed
 nebo unsigned - dle úvahy řešitele). Umožněte načtení dat z klávesnice a 
 ze souboru. Konkrétní rozměr matice zadá uživatel jako dvě první hodnoty 
 z klávesnice. Při načtení dat ze souboru jsou rozměry matice uloženy jako první
 dvě hodnoty v souboru. Soubor je textový. Výstup programu umožněte do souboru
 nebo na obrazovku. Ovládání programu umožněte pomocí jednoduchého menu. 
 Program musí obsahovat alespoň jednu uživatelskou funkci a musí být ošetřen
 proti chybným vstupům. Program vyhledá čtvrtý nejvetší prvek v horní 
 trojúhelníkové matici a vrátí jeho hodnotu jako výstup programu. Dále vrátí 
 jeho polohu v matici (např. hodnota 25, prvek 3,4 ).

Zde je program:

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

int menu; /*promenna, pro ulozeni volby z menu*/
int i,j,l,rad,slo,pom; /*indexove promenne, pocet radku, pocet sloupcu, pomocna*/
int k=0; /*index do noveho pole, ve kterem budu radit*/
int pole[50][50]; /*misto pro ulozeni vstupni matice*/
int razeni[2500]; /*jednorozmerne pole pro serazeni prvku dle velikosti*/
int radky[2500]; /*souradnice radku*/
int sloupce[2500]; /*souradnice sloupce*/

int main(void) /*hlavni blok programu*/
{     /*vstupni menu*/
     printf ("******************* MENU **********************\n");
     printf ("* Vyber z nasledujicich moznosti              *\n");
     printf ("* 1. Nacti rozmer matice a matici ze souboru  *\n");
     printf ("* 2. Nacti rozmer matice a matici z klavesnice*\n");
     printf ("* 3. Konec                                    *\n");
     printf ("***********************************************\n");
     printf ("Zadej svoji volbu: \n");
     scanf("%u",&menu); /*nacte volbu*/
     switch (menu) /*pokracuje podle volby*/
         {
case 1:{ /*nacteni matice ze souboru*/
        FILE *fi;
        fi=fopen("vstup.txt","r");
        
         /*pokud soubor neexistuje, vypise hlasku a ceka na stisk klavesy, pak se program ukonci*/
        if (fi==NULL) { printf("Soubor nenalezen\n");
                        getch();
                        exit(0);};
                        
        fscanf (fi,"%u",&rad); /*prvni hodnota je pocet radku*/
        fscanf (fi,"%u",&slo); /*druha hodnota je pocet sloupcu*/
        
         /*naplneni pole vsemi hodnotami obsazenymi v matice*/
        for (i = 0; i < rad; i++) {
          for (j = 0; j < slo; j++) {
              fscanf(fi,"%u",&pole[i][j]);
                                    }          
                                }  
        fclose (fi); /*uzavreni souboru*/
        break;
        }
        
case 2:{ /*nacteni matice z klavesnice*/
        printf("Zadej rozmer matice>\n");
        
         /*osetreni vstupu, rozmer matice musi byt min 2x3, jinak by nebylo mozne,
         najit 4. nejvetsi prvek v horni trojuhelnike matici*/
        do{printf("Pocet radku (min 2,max 50): "); 
           scanf("%u",&rad);}
        while (rad<2||rad>50);
        
        do{printf("Pocet sloupcu (min 3,max 50): ");
           scanf("%u",&slo);}
        while (slo<3||slo>50);
        
         /*zadavani hodnot z klavesnice*/
        for (i = 0; i < rad; i++) {
          for (j = 0; j < slo; j++) {
              printf("zadej prvek na pozici> %u. radek a %u. sloupec>" ,i+1,j+1);
              scanf("%u",&pole[i][j]);
                                    }          
                                  } 
        break;
        }
        
case 3:{ /*volba pro ukonceni programu*/
        exit(0);
        break;
        }
        
default: { /*v pripade zadani jine hodnoty, to uzivateli oznami*/
          printf("Spatne zadano\n");
          getch();
          exit(0);
          break;
          }
          }  

 /*tento blok programu vypise zadanou matici*/
printf("\nNactena matice>");          
for (i = 0; i < rad; i++) {
    printf("\n");
    for (j = 0; j < slo; j++) {
        printf("%u",pole[i][j]);
        printf("\t");
                                }          
                           }     

 /*prvky se poskladaji za sebe do jednorozmerneho pole, kde je pozdeji
 bude mozno seradit; zaroven se naplni spodni trojuhelnikova matice 
 nejmensi moznou hodnotou, v mem pripade nulou; dale jsou plneny dalsi
 dva vektory, do prvniho se uklada aktualni radek a do druheho sktualni 
 sloupec, tedy souradnice prvku, je to potreba, abych po serazeni vedel
 kde se dany prvek nachazel*/    
       
for (i = 0; i < rad; i++) {
    for (j = 0; j < slo; j++) {
        if (i>j) razeni[k]=0;  /*je-li index radku vetsi nez index sloupcu, 
                               je prvek pod diagonalou, tedy ve spodni 
                               trojuhelnikove matici*/
           else razeni[k]=pole[i][j];
                radky[k]=i;
                sloupce[k]=j;
                k++;
                                    }          
                                } 
                                
 /*serazeni sestupne Bubblesortem*/
for (i = (k-1); i >= 0; i--){
    for (j = 0; j <= i; j++){
        if (razeni[j]<razeni[j+1]){ /*porovnani sousednich prvku*/
            /*prohozeni dvou hodnot, v pripade ze prvni je mensi*/
           pom=razeni[j];
           razeni[j]=razeni[j+1];
           razeni[j+1]=pom;
           
            /*soucasne prohodime hodnoty udavajici souradnici radku*/
           pom=radky[j];
           radky[j]=radky[j+1];
           radky[j+1]=pom;
           
            /*a hodnoty udavajici souradnici sloupcu*/
           pom=sloupce[j];
           sloupce[j]=sloupce[j+1];
           sloupce[j+1]=pom;
                                   }
                            }
                            }                       

 /*vyber typu vystupu uzivatelem*/
printf("\n\nKam chces napsat vysledek?");
printf("\n1. do souboru");
printf("\n2. na obrazovku");
printf("\n3. do souboru i na obrazovku\n");
printf("\nZadej svoji volbu: \n");

scanf("%u",&menu);
printf("\n");
switch (menu)
         {
case 1:{ /*vystup do souboru*/
        FILE *fo;
        fo=fopen("vystup.txt","wb"); /*otevre, v pripade, ze neexistuje, vytvori soubor vystup.txt*/
        fprintf(fo,"4.nejvetsi prvek v horni trojuhelnikovy matici je %u a nachazi se na %u.radku a v %u.sloupci",razeni[3],radky[3]+1,sloupce[3]+1); 
        /*trojka a +1, kvuli indexovani pole od nuly, tedy na treti pozici je 4. nejvetsi prvek a bez plus jednicky program vypisuje nultou souradnici*/
        printf("Vysledek byl zapsan do souboru vystup.txt, ktery byl vytvoren tam, kde se nachazi tento program. Program bude ukoncen po stisku klavesy.");
        fclose(fo);
        break;
        }
        
case 2:{ /*vystup na obrazovku*/
        printf("4.nejvetsi prvek v horni trojuhelnikovy matici je %u a nachazi se na %u.radku a v %u.sloupci\n",razeni[3],radky[3]+1,sloupce[3]+1);     
        printf("Program bude ukoncen po stisku klavesy.");
        break;
        }
        
case 3:{ /*kombinace obou predchozich*/
        FILE *fo;
        fo=fopen("vystup.txt","wb");
        fprintf(fo,"4.nejvetsi prvek v horni trojuhelnikovy matici je %u a nachazi se na %u.radku a v %u.sloupci",razeni[3],radky[3]+1,sloupce[3]+1);
        fclose(fo);
        printf("4.nejvetsi prvek v horni trojuhelnikovy matici je %u a nachazi se na %u.radku a v %u.sloupci\n",razeni[3],radky[3]+1,sloupce[3]+1);     
        printf("Program bude ukoncen po stisku klavesy.");
        break;
        }
        
default:{ /*po spatnem zadani, je to oznameno a program ukoncen*/
         printf("\nSpatne zadano!!! Program bude ukoncen po stisku klavesy.\n");
         break;
         }
          }
          
getch();  /*cekani na stisk klavesy*/
}

V programu Dev-C++ mi to jde zkompilovat, ale už to nejde spustit, protože to hlásí, že soubor není zkompilován. Kompilace proběhne v pořádku a napíše to OK.

Takže soubor se zkompiluje, ale nejde spustit. Nevěděl by někdo jak to spustit? CMD jsem zkoušel a tam to zase hází error, že gcc nebylo rozpoznáno.

Díky moc

PHP › Přidání informace do tabulky…
8. 3. 2014   #188005

Zdravím Vás

Měl bych jen takový menší dotaz. Potřebuju např. z pridej.php přidat informaci (třeba číslo) do tabulky k určitému uživateli v databázi.

Jedná se o to, že se zaregistruje nový člověk na stránky, pošle se mu potvrzovací email atd. Když se zaregistruje, tak nebude mít žádný "credit" na vytvoření třeba serveru nebo prostě něčeho. Potřebuji poradit, jak si udělám formulář kde si budu moct vybrat uživatele z databáze a přidat mu určité číslo (credit), které si zadám. Vytvořit formulář umím, ale nenapadá mě nic v php jak přidat to číslo tomu určitému uživateli.

Moc děkuji za všechny rady a nápady

PHP › Vložení do databáze
15. 2. 2014   #187449

Vím že to má být přesměrované tam kam kde chci aby se mi to zobrazilo. Když tomu nastavím echa tak se mi zobrazí vše. Ale já mám problém s tím, že když dám odeslat, tak do databáze se mi uloží pouze titulek, obrázek a datum a nic jiného. A když to vyjedu na stránce kde to potřebuji, tak je tam samozdřejmě jen titulek obrázek a datum.

PHP › Vložení do databáze
15. 2. 2014   #187447

#2 Kit
Zatím to mám jen na localhostu. Dám zpracování před výpis a stejný problém.#2 Kit

LUK4S
PHP › Vložení do databáze
15. 2. 2014   #187445

Zdravím

Dělám formulář pro přidávání příspěvků, ale když dám odeslat, tak se mi odešlou pouze titulek, datum a obrázek, které se mi v databázi na localhostu obejví. Zbytek ikdyž je zadaný jako bych ho nezadal. Nějaké řešní? díky

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>APK Market</title>
    <link rel="stylesheet" type="text/css" href="../style/style.css">
    <link href="../bootstrap/css/bootstrap.css" rel="stylesheet" media="screen">
    <script src="../bootstrap/js/bootstrap.min.js"></script>
    <script src="../bootstrap/js/bootstrap.js"></script>
  </head>
  <body>
  
  <form method="post" action="insert_post.php" enctype="multipart/form-data">
  
  <div class="new_post">
  	<div class="headtitle">Insert new post</div>
  <div class="new_title">
    <p>New title</p>
    <input type="text" name="title">
  </div>
  <div class="new_author">
    <p>Author</p>
    <input type="text" name="author">
  </div>
  <div class="new_keywords">
  	<p>Keywords</p>
    <input type="text" name="keywords">
  </div>
  <div class="new_image">
  	<p>Image</p>
  	<input type="file" name="image">
  </div>
  <div class="new_content">
  	<textarea name="content" cols="20" rows="8"></textarea>
  </div>
  <div class="submit">
  	<input type="submit" name="submit" value="OK">
  </div>
  </div>
  </form>
    <script src="https://code.jquery.com/jquery.js"></script>
   <script src="../bootstrap/js/bootstrap.js"></script>
  </body>
</html>
<?php
include("../includes/connect.php");

if(isset($_POST['submit']))
{
	echo $post_date = date('y-m-d');
	echo $post_title = $_POST['title'];
	echo $post_author = $_POST['author'];
	echo $post_keywords = $_POST['keywords'];
	echo $post_image = $_FILES['image']['name'];
	echo $image_tmp = $_FILES['image']['tmp_name'];
	echo $post_content = $_POST['content'];
	
	if($post_title=="" or $post_author="" or $post_keywords="" or $post_content="")
	{
		echo"<script>alert('any field is empty')</script>";
		exit();
	}
	else 
	move_uploaded_file($image_tmp,"../uploaded_images/$post_image");
	$insert_query = "insert into posts (post_title,post_date,post_author,post_image,post_keywords,post_content) values ('$post_title','$post_date','$post_author','$post_image','$post_keywords','$post_content')";
	
	if(mysql_query($insert_query))
	{
		echo "<center><h1>Post published seccesfuly!</h1></center>";
	}
}
?>
CSS › Menu Item posunutí
22. 1. 2014   #186602

To vím, ale když odstraním padding tak je to "šedívé pozadí" jen těsně okolo textu toho games a já to potřebuju mít o těch 5px rozšířené do stran, nahoru i dolu. A když tam padding je, tak to dělá ten paskvil.

CSS › Menu Item posunutí
22. 1. 2014   #186600

Zdravím


Dělám menu na jedny stránky a nastal takový problém, který už 2 hodiny nemohu rozluštit.

Když najedu na 1. položku menu (jen a:hover), tak se celé menu i s pozadím názvu menu posune o pár pixelů doprava. Když na to kliknu všechno zůstane stejné jako když jsem najel akorát pozadí se změní jak to mám nastavené když jsem na aktuální stránce. Když jsem na té stráce pořád a najedu znovu na položku 1 v menu, tak se mi to zase posune o pár pixelů doprava ale tohle jen když najedu na to menu. Podobný problém mám u všech položek menu akorát u jednoho se mi to posune doleva a u dalšího doprava.

Menu Archiv nefunguje zatím...nemám tam daný odkaz na stránku.

web je nahozený na: http://apk-market.tk

 Zde CSS menu:

#games
{
	color: black;
	float: left;
	margin-top: 60px;
	margin-left: 50px;
	font-family:"myriad pro semibold";
	font-size: 16px;	
	display: inline;
}
#games a
{
	text-decoration: none;
	color: black;
	background-color: transparent;
	border-radius: 2px;
}
#games a:hover
{
	border-radius: 2px;
	background-color: #e4e4e4;
	padding: 5px 5px;
}
#menu #games.active
{
	color: white;
	border-radius: 2px;
	margin-top: 55px;
	background-color: #a4c639;
	padding: 5px 5px;
}
#menu #games.active a
{
	color: white;
}
#menu #games.active a:hover
{
	border-radius: 2px;
	background-color: transparent;
}
#apps
{
	color: black;
	float: left;
	margin-top: 60px;
	margin-left: 35px;
	font-family:"myriad pro semibold";
	font-size: 16px;
	display: inline;
}
#apps a
{
	text-decoration: none;
	color: black;
	padding: 5px 5px;
	background-color: transparent;
	border-radius: 2px;
}
#apps a:hover
{
	border-radius: 2px;
	background-color: #e4e4e4;
}
#menu #apps.active
{
	margin-top: 55px;
	background-color: #a4c639;
	padding: 5px 5px;
	border-radius: 2px;
	color: white;
}
#menu #apps.active a
{
	color: white;
}
#menu #apps.active a:hover
{
	border-radius: 2px;
	background-color: transparent;
}
#live_wallpapers
{
	color: black;
	float: left;
	margin-top: 60px;
	margin-left: 35px;
	font-family:"myriad pro semibold";
	font-size: 16px;
	display: inline;
}
#live_wallpapers a
{
	text-decoration: none;
	color: black;
	padding: 5px 5px;
	background-color: transparent;
	border-radius: 2px;
}
#live_wallpapers a:hover
{
	background-color: #e4e4e4;
	border-radius: 2px;
}
#menu #live_wallpapers.active
{
	border-radius: 2px;
	margin-top: 55px;
	background-color: #a4c639;
	padding: 5px 5px;
	color: white;
}
#menu #live_wallpapers.active a
{
	color: white;
}
#menu #live_wallpapers.active a:hover
{
	border-radius: 2px;
	background-color: transparent;
}
#themes
{
	color: black;
	float: left;
	margin-top: 60px;
	margin-left: 35px;
	font-family:"myriad pro semibold";
	font-size: 16px;
	display: inline;
}
#themes a
{
	text-decoration: none;
	color: black;
	padding: 5px 5px;
	background-color: transparent;
	border-radius: 2px;
}
#themes a:hover
{
	background-color: #e4e4e4;
	border-radius: 2px;
}
#menu #themes.active
{
	border-radius: 2px;
	margin-top: 55px;
	background-color: #a4c639;
	padding: 5px 5px;
	color: white;
}
#menu #themes.active a
{
	color: white;
}
#menu #themes.active a:hover
{
	background-color: transparent;
	border-radius: 2px;
}
#archive
{
	color: black;
	float: left;
	margin-top: 60px;
	margin-left: 25px;
	font-family:"myriad pro semibold";
	font-size: 16px;
	display: inline;
}
#archive a
{
	text-decoration: none;
	color: black;
	padding: 5px 5px;
	background-color: transparent;
	border-radius: 2px;
}
#archive a:hover
{
	background-color: #e4e4e4;
	border-radius: 2px;
}
#menu #archive.active
{
	border-radius: 2px;
	margin-top: 55px;
	background-color: #a4c639;
	padding: 5px 5px;
}
#menu #archive.active a
{
	color: white;
}
#menu #archive.active a:hover
{
	background-color: transparent;
}

Nějaké nápady co to může způsobovat? 

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ý