Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wczytanie z pliku do dwóch tablic

Ostatnio zmodyfikowano 2022-11-06 16:43
Autor Wiadomość
janek_zygmunt
Temat założony przez niniejszego użytkownika
Wczytanie z pliku do dwóch tablic
» 2022-11-06 13:42:34
Cześć!
Chicałbym prosić o pomoc w zmienieniu kodu tak aby odczytywał punkty z pliku, tutaj wklejam kod:
C/C++
#include <iostream>
using namespace std;

int main()
{
   
int n;
   
cin >> n;
   
int x[ n ], y[ n ];
   
for( int i = 0; i < n; i++ )
   
{
       
cin >> x[ i ] >> y[ i ];
   
}
   
int r = 40000;
   
int lewa_strona, licznik = 0;
   
for( int i = 0; i < n; i++ )
   
{
       
lewa_strona =((( x[ i ] - 200 ) *( x[ i ] - 200 ) ) +(( y[ i ] - 200 ) *( y[ i ] - 200 ) ) );
       
if( lewa_strona <= r )
       
{
           
licznik++;
       
}
    }
   
double pk =( licznik *( 400 * 400 ) ) / n;
   
double pi = pk / r;
   
cout << pi;
}
Chciałbym wpisać n "z klawiatury" (n = ile tych punktów kod ma odczytać) a potem żeby sam odczytał daną ilość punktów z pliku "punkty.txt".
W tym pliku, dane ułożone są w następujący sposób:
145 370 // powinno to być wpisane w tablice w taki sposób x[0] = 147 y[0] = 370
116 330 // x[1] = 116 y[1] = 330
389 191
12 344
165 303
79 312
92 176
183 212
itd.
Z góry dziękuję!!!
P-179755
pekfos
» 2022-11-06 14:33:09
Czytanie z pliku jest analogiczne do czytania z konsoli. Tu możesz doczytać jak to wygląda w kodzie: » Kurs C++» Poziom 4Podstawy obsługi plików lekcja i » Kurs C++» Poziom 4Wczytywanie danych z pliku za pomocą operatora >> lekcja
P-179756
janek_zygmunt
Temat założony przez niniejszego użytkownika
» 2022-11-06 16:10:23
Dzięki za odpowiedzi, patrzyłem już na ten artykuł, próbowałem użyć tego w kodzie i niestety dalej nie działa, kod wczytuje jakieś liczby ale wynik po wczytaniu z pliku a wpisaniu w konsole punktów z pliku tekstowego rożni się. Byłbym bardzo wdzięczny jeśli ktoś mógłby po prostu zmodyfikować mój kod żeby mógł odczytać dane z pliku tak jak ma to być, może wtedy zrozumiem jak trzeba to robić. Dziękuję
P-179757
pekfos
» 2022-11-06 16:43:45
Skoro próbowałeś, to trzeba było podać kod który nie działa. Uczenie się na błędach wymaga zrozumienia błędu, a nie tylko zobaczenia jak to powinno było być zrobione. Jeśli zrobiłeś tak, to powinno było zadziałać, chyba że plik nie ma danych poprawnych dla danego n.
C/C++
std::ifstream plik( "plik.txt" );
for( int i = 0; i < n; i++ )
{
   
plik >> x[ i ] >> y[ i ];
}
P-179758
« 1 »
  Strona 1 z 1