#2 hlucheucho
Děkujem za příspěkev a radu , ale mi máme my to máme udělat pomocí dvou smyček.
Příspěvky odeslané z IP adresy 77.95.40.–
Ahoj máme problém s dokončením tohoto kodu nemůžeme vymyslet jak udělat aby nám to našlo průsečíky kdyby jste nám prosíme někdo poradil ? :)
#include "stdafx.h"
#define _CRT_SECURE_NO_DEPRECATE /* nefunguje, musi se pridat polozka _CRT_SECURE_NO_DEPRECATE do
project prperties / C/C++ / preprocessor / do prvniho radku*/
#include<stdio.h>
#include<atlalloc.h>
/*
- otevri soubor libovolneho jmeno
- zjisti pocet radku
- alokuj pamet na 4*sizeof(int)*pocet_radku
- napln pamet daty ze souboru
*/
struct bod { int x; int y; };
struct usecka { bod a; bod b; };
usecka *nactiUseckyZeSouboru(char *nazevSouboru)
{
usecka *u;
FILE *zdroj;
int radku, i; // pocet radku v souboru
int ax, ay, bx, by;
// otevri soubor
zdroj = fopen(nazevSouboru, "r+t");
if (zdroj == NULL)
return(NULL);
char c;
radku = 0;
// zjisti pocet radku
while (!feof(zdroj)) {
c = fgetc(zdroj);
if (c == '\n')
++radku;
}
// alokuj prostor na usecky
u = (usecka *) malloc( radku*sizeof(usecka));
// precti a zapis usecky
fseek(zdroj, 0, SEEK_SET); // jdi na zacatek souboru
char radek[100];
i = 0; // citac radku
while (!feof(zdroj)) {
fgets(radek, 100, zdroj); // nacti dalsi radek zed souboru do pripraveneho pole znaku
sscanf(radek, "%c%d%c%d%c%c%c%d%c%d%c", &c, &ax, &c, &ay, &c, &c, &c, &bx, &c, &by); // extrauj cisla z pole
(u + i)->a.x = ax;
(u + i)->a.y = ay;
(u + i)->b.x = bx;
(u + i)->b.y = by;
++i;
}
// zavri soubor
fclose(zdroj);
// vrat adresu pole usecek
return u;
}
int main(int argc, char* argv[])
{
usecka *u;
u = nactiUseckyZeSouboru("c:\\soubory\\zdroj.txt");
return 2;
FILE *zdroj, *cil;
int i, x, y;
zdroj = fopen("c:\\soubory\\zdroj.txt", "w+t");
if (zdroj == NULL) {
printf("nezdarilo se mi zalozit soubor");
return(2);
}
printf("Soubor byl zalozen, zapisuji data.");
x = 10; y = 15;
for (i = 0; i < 10; ++i) {
printf("[%d,%d],[%d,%d]\n", x + i, y + i, x + i + 2, y + i + 3);
fprintf(zdroj, "[%d,%d],[%d,%d]\n", x + i, y + i, x + i + 2, y + i + 3);
}
fseek(zdroj, 0, SEEK_SET);
cil = fopen("c:\\soubory\\cil.txt", "w+t");
while (!feof(zdroj))
fputc(fgetc(zdroj), cil);
fclose(zdroj);
fclose(cil);
getchar();
return 0;
}
Prosíme s Naty o pomoc při řešení této úlohy s kterou jsi nevíme rady =( Mohly by bychom poprosit o případné řešení zdrojového kodu ...Předem mockrát děkujem :*
Ůloha :
Napiš funkci hledej(char kde[], co ) která vyhledává poslední výskyt znaku co v poli znaků kde stím, vrátí poziční index. Není li znak nalezen , vrátí -1
Napište funkci int strSpn(const char *s1, const char *s2), která v řetězci s1 vyhledá úvodní segment,
který je podmnožinou řetězce s2. Návratovou je počet nalezených znaků u nejdelší shody.
Např.: strSpn(„1234567890“, „123DC8“) 3
Napište funkci char * strCatAt(char *s1, const char *s2, int p), která vloží do řetězce s1 na pozici p
řetězec s2. Je-li p větší, než délka s1, připojí s2 na konec s1. Uvažujte, že v s1 je alokován dostatečný
prostor. Návratovou hodnotou je ukazatel na výsledný řetězec, resp. hodnota NULL byl-li s2 prázdný
nebo p záporné.