Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[TEMA] interclasare cu functii
Last Updated: Oct 22 2014 18:33, Started by
jamesbond1975
, Oct 22 2014 18:00
·
0
#1
Posted 22 October 2014 - 18:00
Buna,
Ma poate ajuta cineva la problema urmatoare, va rog : "Se dau n si m, dimensiunile a 2 vectori si elementele celor 2 vectori. Sa se afiseze toate elementele celor 2 vectori ordonate crescator." Programul trebuie sa aiba 4 functii : una de citire, una de interclasare, una de scriere si main-ul. Nu se pot folosi pointeri ! Programul care l-am scris pana acum arata cam asa (imi da erori peste erori; stiu ca am folosit pointeri, dar nu am gasit o varianta fara; daca m-ar putea ajuta cineva, as fi recunoscator !) : #include <p>#include void citire(FILE *fi, int v[], int *n) { int i; fscanf(fi,"%d",n); for(i=0;i<(*n);i++) fscanf(fi,"%d",&v[i]); } void interclasare() { int i1, i2, i3; i1=i2=i3=0; while(i1 if(v1[i1] v3[i3]=v1[i1]; i1++; } else { v3[i3] = v2[i2]; i2++; } i3++; } while(i1 v3[i3]=v1[i1]; i1++; i3++; } while(i2 v3[i3]=v2[i2]; i2++; i3++; } *n3=n1+n2; } void scriere(FILE *f, int v[], int n) { int i; for(i=0;in;i++) fprintf(f,"%d",v[i]); fprintf(f,"\n"); } int main() { FILE * fi = fopen("interclasare.in","r"); FILE * fo = fopen("interclasare.out","w"); citire(); citire(); interclasare(); scriere(); fclose(fi); fclose(fo); return 0; } Edited by jamesbond1975, 22 October 2014 - 18:03. |
#2
Posted 22 October 2014 - 18:07
acuma ia zi drept de unde ai copiat codul ala ?
revino macar dupa ce il copii corect. Ala nu e cod functional nici pe departe |
#3
Posted 22 October 2014 - 18:10
I-am dat copy-paste din codeblocks, dar nu s-a copiat prea bine. De rulat, stiu ca nu ruleaza ...
#include <stdio.h> #include <stdlib.h> void citire(FILE *fi, int v[], int *n) { int i; fscanf(fi,"%d",n); for(i=0;i<(*n);i++) fscanf(fi,"%d",&v[i]); } void interclasare() { int i1, i2, i3; i1=i2=i3=0; while(i1<n1 && i2<n2) { if(v1[i1]<v2[i2]) { v3[i3]=v1[i1]; i1++; } else { v3[i3] = v2[i2]; i2++; } i3++; } while(i1<n1) { v3[i3]=v1[i1]; i1++; i3++; } while(i2<n2) { v3[i3]=v2[i2]; i2++; i3++; } *n3=n1+n2; } void scriere(FILE *fo, int v[], int n) { int i; for(i=0;i<n;i++) fprintf(f,"%d",v[i]); fprintf(f,"\n"); } int main() { FILE * fi = fopen("interclasare.in","r"); FILE * fo = fopen("interclasare.out","w"); citire(); citire(); interclasare(); scriere(); fclose(fi); fclose(fo); return 0; } |
#5
Posted 22 October 2014 - 18:15
O indentare mai calumea ... ?
#include <stdio.h> #include <stdlib.h> void citire(FILE *fi, int v[], int *n) { int i; fscanf(fi,"%d",n); for(i=0;i<(*n);i++) fscanf(fi,"%d",&v[i]); } void interclasare() { int i1, i2, i3; i1=i2=i3=0; while(i1<n1 && i2<n2) { if(v1[i1]<v2[i2]) { v3[i3]=v1[i1]; i1++; } else { v3[i3] = v2[i2]; i2++; } i3++; } while(i1<n1) { v3[i3]=v1[i1]; i1++; i3++; } while(i2<n2) { v3[i3]=v2[i2]; i2++; i3++; } *n3=n1+n2; } void scriere(FILE *fo, int v[], int n) { int i; for(i=0;i<n;i++) fprintf(f,"%d",v[i]); fprintf(f,"\n"); } int main() { FILE * fi = fopen("interclasare.in","r"); FILE * fo = fopen("interclasare.out","w"); citire(); citire(); interclasare(); scriere(); fclose(fi); fclose(fo); return 0; } |
#6
Posted 22 October 2014 - 18:17
deci
cine sunt v1,v2,v3 ? cine si la ce ajuta i1,i2,i3 ? cine sunt n1,n2,n3 ? de ce scrii niste functii cu parametri si le apelezi fara ? si serios chiar nu se putea fara pointeri ? de ce ai facut treaba asta (*n) acolo unde ai facuto ? Edited by yonut_a, 22 October 2014 - 18:18. |
#7
Posted 22 October 2014 - 18:33
Iti da erori peste erori deoarece codul e varza.
Ba l-ai mai si postat anapoda. Tine de bun simt sa il postezi macar curat (formatat si corect dpv sintactic). E chiar minimul de bun simt. Deci deschide un nou topic, de data asta curat, si cu cod pe care l-ai scris tu cu manuta ta, de la zero. Nu uita de indentare. Apasa pe butonul "CODE" in editor, se deschide un dialog, da-i paste acolo la codul formatat corect, si nu te mai atinge de el ulterior, ca editorul mare strica formatarea. Si descrie eroarea concreta. Cate o eroare, nu "o gramada de erori". Daca sunt prea multe erori, taie din cod pana cand ai o singura eroare, iar codul face ceva util, cel putin in principiu, chiar daca nu rezolva complet problema. De exemplu, taie din el pana face "doar citirea", si posteaza o descriere a problemei cu citirea. Si da, TU trebuie sa depui efortul de a ne face noua usoara munca de a te ajuta sa-TI duci la indeplinire misiunea. Nu sa alergam noi ca bezmeticii dupa "o groaza de erori". Topic inchis pentru postare de cod 1. nefunctional, 2. gresit dpv sintactic, 3. cerere de mura-n gura ("am erori peste erori, rezolvati-mi-le") si 4. lipsa unei probleme concrete cu descrierea ei si abordarile pe care le-ai incercat deja intru rezolvarea ei. Edited by OriginalCopy, 22 October 2014 - 18:40. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users