Odczyt danych z pliku #c++ #problem_z_odczytem

0

Witam

Mam takie zadanie: Z pliku o nazwie podanej przez użytkownika wczytać dane do wektorów a i b [n] (n-stała). Obliczyć iloczyn skalarny tych wektorów. Wydrukować wektory dane i obliczony iloczyn.

Problem polega na tym że nie bardzo wiem gdzie umieścić plik z danymi aby można było pobrać dane do zadania, lub gdzie podać ścieżkę do pliku. Na ta chwilę plik z danymi znajduje się w tym samym katalogu co plik main.cpp
Jest to plik z rozszerzeniem .txt. i nazywa się maciek

#include<iostream>
#include<cstdlib>
#include<fstream>

using namespace std;
const int n = 4;

int main(int argc, char* argv[])
{
	ifstream dane;
	double a[n], b[n];
	double iskl;		//iloczyn skalarny
	string nazwa;

	cout << "Z jakiego pliku wczytywac wektory?\n";
	cin >> nazwa;
	dane.open(nazwa.c_str());
	if (!dane.good());
	{
		cout << "Problem z otwarciem pliku\n ";
		return 1;
	}

	for (int i = 0; i < n; i++)
		dane >> a[i];

	for (int i = 0; i < n; i++)
		dane >> b[i];

	dane.close();

	cout << "Wektor a: \n";
	for (int i = 0; i < n; i++)
	{
		cout << a[i] << " ";
		cout << endl;		
	}

	for (int i = 0; i < n; i++)
	{
		cout << b[i] << " ";
		cout << endl;
	}

	iskl = 0;

	for (int i = 0; i < n; i++)
		iskl += a[i] * b[i];

	cout << "Iloczyn skalarny wektorow jest rowny: " << iskl << endl;

	return 0;
}


0

Problem polega na tym że nie bardzo wiem gdzie umieścić plik z danymi aby można było pobrać dane do zadania,

Najlepiej pobierać nazwę pliku z danymi wejściowymi z linii komend.

0

Problem polega na tym że nie bardzo wiem gdzie umieścić plik z danymi aby można było pobrać dane do zadania, lub gdzie podać ścieżkę do pliku

Trzeba było lepiej autora kodu dopytać - nie hejtuje, tak na przyszłość. Masz jak byk zrobioną obsługę pliku tutaj:

cout << "Z jakiego pliku wczytywac wektory?\n";
cin >> nazwa;
dane.open(nazwa.c_str());

Jak skompilujesz ten program i go uruchomisz, to sam Cie zapyta o podanie pliku.

0

To zadanie z podręcznika na studiach. Autorem kodu jestem ja, a zapisałem tak a nie inaczej bo tak to było opisane w lekcji o plikach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1