• 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
581 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 (27,710 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 (27,710 p.)
Poza tym odpowiadaj w komentarzu a nie w odpowiedzi

1 odpowiedź

+1 głos
odpowiedź 30 kwietnia 2021 przez wizarddos Nałogowiec (27,710 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ź 980 wizyt
pytanie zadane 28 kwietnia 2021 w C i C++ przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
2 odpowiedzi 434 wizyt
pytanie zadane 28 grudnia 2022 w C i C++ przez benny13 Obywatel (1,150 p.)
0 głosów
1 odpowiedź 628 wizyt
pytanie zadane 30 listopada 2022 w C i C++ przez Pysa6 Nowicjusz (220 p.)

93,426 zapytań

142,421 odpowiedzi

322,647 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...