• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

funkcja (c++) zadanie z informatyki

0 głosów
698 wizyt
pytanie zadane 30 kwietnia 2021 w C i C++ przez Ichbinda Nowicjusz (230 p.)

Wie ktoś co moge zrobić żeby zadziaałało?

#include <iostream>
using namespace std;
const int N=10;
const int wartosc=1;


int a[N];

void WprowadzDane()
{
	int i;
	for(int i = 0; i< N; i++)
	{
		cout << "Podaj dana nr:" << i << ":";
		cin >> a[i];

	}
}
int Znajdzdana(int wartosc)
{
	int poczatek, koniec , srodek;
	poczatek = 0;
	koniec = N-1;
	do
	{
		srodek = (poczatek + koniec) /2;
		if (a[srodek]==wartosc)
		  return srodek;
		else
		    if(wartosc < a[srodek])
		      koniec = srodek -1;
		    else
		      poczatek = srodek +1;
    }while(poczatek<=koniec);
    return -1;
}






int main ()	
{
    int wartosc, pozycja;
    WprowadzDane();
    cout << "podaj dana do wyszukiwania: ";
    cin >> wartosc;
    Znajdzdana(int wartosc);
	pozycja = ZnajdzDana(wartosc);
    if(pozycja >=0)
      cout << "znaleziono wartosc" << wartosc << "na pozycji" 
	  << pozycja << "(pozycje liczone sa od 0)" << endl;
    else
      cout << "Nie znaleziono wartosci"<< wartosc << endl;
    
  
    
    

	return wartosc;
}

 

komentarz 30 kwietnia 2021 przez wizarddos Nałogowiec (28,110 p.)
co dokładnie nie działa? jaki komunikat błędu? Bez tego ci nie pomożemy
komentarz 30 kwietnia 2021 przez Ichbinda Nowicjusz (230 p.)
przeniesione 30 kwietnia 2021 przez Arkadiusz Waluk
wyświetla bład ZnajdzDana waa  not declared in this scope
komentarz 30 kwietnia 2021 przez wizarddos Nałogowiec (28,110 p.)
Poza tym odpowiadaj w komentarzu a nie w odpowiedzi

1 odpowiedź

+1 głos
odpowiedź 30 kwietnia 2021 przez wizarddos Nałogowiec (28,110 p.)

1. przy wywołaniu  funkcji

Znajdzdana(int wartosc);

nie podaje się jej typu jeżeli już została zadeklarowana (tak samo jak gdy przypisujesz jej wartość poza deklaracją)

2.gdy wywołujesz tą funkcję

pozycja = ZnajdzDana(wartosc);

to ona nie zadziała ponieważ jej nie ma. Zadeklarowaną masz funkcję Znajdzdana a nie ZnajdzDana. Podmień to

 

(poza tym masz dwa razy i zadeklarowane w WprowadzDane)

1
komentarz 30 kwietnia 2021 przez Ichbinda Nowicjusz (230 p.)
dzięki wielkie:)

Podobne pytania

0 głosów
1 odpowiedź 1,204 wizyt
pytanie zadane 28 kwietnia 2021 w C i C++ przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
2 odpowiedzi 569 wizyt
pytanie zadane 28 grudnia 2022 w C i C++ przez benny13 Obywatel (1,150 p.)
0 głosów
1 odpowiedź 888 wizyt
pytanie zadane 30 listopada 2022 w C i C++ przez Pysa6 Nowicjusz (240 p.)

93,732 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,293 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...