Jump to content
PirateClub.hu

2 több függvényes c feladat


kenderendre
 Share

Recommended Posts

A következő 2 feladatomat kéne úgy megoldani, hogy a feladatokat egy másik függvény végezze el.

Írtam is mindre programot, de nem akarnak működni. Gondolom a címzéssel lehetnek bajok.

Aki tudja mi lehet hiba az legyen szíves javítani.

 

1. Feladat:

Töltsünk fel egy 2x3-as integer mátrixot futási időben ! Ezután definiáljunk egy 6
elemű vektort. A program másolja be a mátrix elmeit a vektorba, egymás után.
Először az oszlopokat másoljuk a vektorba. Nyomtassuk ki a vektort.

 

1. Program

#include <stdio.h>
#include <string.h>
int main()
{
    char sz[71];
    int szamlalo,szamlalo2,n;
    szamlalo=0;
    printf("Irjon be egy maximum 70 karakterbol allo szoveget: \n");
    fgets(sz,70,stdin);
    n=strlen(sz);
    szamlalo2=maghangsz(sz[71],szamlalo,n);
    printf("A szovegben %d-szor kovetik egymast maganhangzok",szamlalo);
    return 0;
}
int maghangsz(char *sz,int len)
{
    int i,szamlalo2;
    for (i=0; i<=len-2; i++)
    {
       if (((*(sz+i)=='a')||(*(sz+i)=='e')||(*(sz+i)=='i')||(*(sz+i)=='o')||(*(sz+i)=='u'))&&((*(sz+i+1)=='a')||(*(sz+i+1)=='e')||(*(sz+i+1)=='i')||(*(sz+i+1)=='o')||(*(sz+i+1)=='u')))
          szamlalo2++;
    }
    return szamlalo2;
}

 

2.Feladat:

Olvassunk be egy maximum 70 karakter hosszú szöveget és számoljuk meg
hányszor fordul elő, hogy magánhangzók követik egymást. Nyomtassuk ki ezt a
számot. (Nincs olyan függvény a standard könyvtárban, mely azonosítja a
magánhangzókat vagy mássalhangzókat.)

 

2.Program:

#include <stdio.h>
int main()
{
    int vektor[6];
    int matrix[3][2];
    int i,j,k;
    printf("Adja meg a matrix elemeit: \n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<2;j++)
        {
            scanf("%d",&matrix[i][j]);
        }
    }
    masol(vektor[6],matrix[3][2]);
    printf("A vektor elemei: ");
    for(k=0;k<6;k++)
        printf("%d ",vektor[k]);
    return 0;
}
void masol(int &(vektor[6]),int &(matrix[3][2]))
{
    (&(vektor[0]))==(&(matrix[0][0]));
    (&(vektor[1]))==(&(matrix[1][0]));
    (&(vektor[2]))==(&(matrix[2][0]));
    (&(vektor[3]))==(&(matrix[0][1]));
    (&(vektor[4]))==(&(matrix[1][1]));
    (&(vektor[5]))==(&(matrix[2][1]));
}

Link to comment
Share on other sites

Pár jótanács:

 

- A feladatokat meg a programokat legalább tedd rendbe, ha már problémával fordulsz máshoz, legalább a leírást csináld helyesen ;)

 

- minden egyéb függvényt, eljárást a main ELÉ kell tenni, ha utánna rakod, nem fogja "látni".

 

- legyél figyelmesebb mikor írod a kódot mert ...

szamlalo2=maghangsz(sz[71],szamlalo,n);
printf("A szovegben %d-szor kovetik egymast maganhangzok",szamlalo);

Döntsük el, mit akarunk kiiratni :)

 

A második feladatot (1. program) megcsinálom, mivel azt a múltkor már rendberaktuk:

#include <stdio.h>
#include <string.h>

int maghangsz(char *szoveg,int len)
{
    int i,szamlalo2;
    szamlalo2 = 0;
    for (i=0; i<=len-2; i++)
    {
       if ((((szoveg[i])=='a')||((szoveg[i])=='e')||((szoveg[i])=='i')||((szoveg[i])=='o')||((szoveg[i])=='u'))&&(((szoveg[i+1])=='a')||((szoveg[i+1])=='e')||((szoveg[i+1])=='i')||((szoveg[i+1])=='o')||((szoveg[i+1])=='u')))
       {
          szamlalo2++;
       }
    }
    return szamlalo2;
}

int main()
{
    char sz[71];
    int szamlalo,n;
    szamlalo=0;
    printf("Irjon be egy maximum 70 karakterbol allo szoveget: \n");
    fgets(sz,70,stdin);
    n=strlen(sz);
    szamlalo = maghangsz(sz,n);
    printf("A szovegben %d-szor kovetik egymast maganhangzok",szamlalo);
    return 0;
}

 

Visual Studio-ban fordítva tökéletesen lefut. A második maradjon meg a Te feladatod ;)

 

 

Link to comment
Share on other sites

Köszönet a segítségért.

 

Én úgy tanultam, hogy a main függvény után raktuk a másik függvényt is, csak még a main elé írtunk valamit amire már nem emlékszek.

 

A másik feladatról még annyit, hogy ha vektor pointert használok, annak úgy kell-e kinéznie, ahogy én csináltam (&(vektor[0])) ?

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Hozzászólás a témához...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Jelenleg olvassa   0 members

    • No registered users viewing this page.
×
×
  • Create New...