Sprawdzałem u mnie na symulatorze i wszystko ok. Dodałeś stdlib? Jakieś warningi?
A mógł by ktoś podać kod dla tych współrzędnych? bo wiem jak wczytywać pojedyńcze znaki do tablicy ale już np takie cos jak 0.5489 nie wiem jak wczytac a tu jeszcze innna tablica do tego. Nie wiem jak wczytywać to tak jak by mialo rece i nogi bo takie cos to umiem ale nie wiem jak zrobic zeby wczytac to do float i zey wszystko bylo ladnie oddzielone...
Przedewszystkim zrób to inaczej... po prostu... main() { char bufor[20]; ... funkcja(bufor, ...); } funkcja(char* bufor, ...) { } I w ogóle nie ma problemu. Zmienna tmp w ogóle jest nieporozumieniem. Przecież wewnątrz funkcji możesz sobie zadeklarowac tablicę o dowolnym wymiarze... funkcja(...) { char tablica[1000]; } A pamięć możesz zwalniać gdzie...
Najprościej: 1. mnożysz float *10, powstaje np zmienna "liczba"; 2. następnie "liczba" dzielisz przez 10 - masz zmienną "całe"; 3. na "liczba" wykonujesz dzielenie modulo 10 i masz ulamek. W przypadku całkowitych można też od razu rzutować na int, tak jak pisał kolega wyżej. Poskładać to do kupy z kropka pomiędzy za pomocą itoa() i już.
witam! Po drobnych poprawkach: #include<iostream.h> #include<string.h> float sr(char a[],int k) { // char a[1000]; float f=0,g=0; int c,d=0; for(c=0;c<k;c++) { if(a[c]>100) { d++; f=f+a[c]; } } g=f/d; return g; } main() { char a[1000];...
Jeśli chcesz, żeby zaokrąglał zamiast obcinać to do zmiennej float dodawaj 0,5 i następnie rzutuj.
Konwersję z liczby całkowitej na string łatwo można Sobie zaimplementować, implementacje funkcji itoa() też są dostępna, wystarczy poszukać w sieci: [url=http://en.wikipedia.org/wiki/Itoa]i... Część po przecinku też można wydobyć za pomocą itoa() wystarczy pomnożyć wynik przez wielokrotność 10 i zapisać go do integer. Warto ogólnie operować na liczbach...
tylko i wyłącznie dzielenie i odejmowanie. Czyli [0]=liczba/100 (stałoprzecinkowe - pascal - div) [1]=liczba/10-[0]*100 itd. oczywiście do wykonania w pętli.
Usunięcie tablicy nie przyniosło oszołamiających efektów, choć poprawiło sytuację. Dane są wysyłane poprawnie do mniej więcej 32 czy 64-tej próbki, a ja chciałbym wysłać ich 255. Kolejne próbki po bodajże 64-tej znów są przekłamane. Nie wiem w czym piszesz, ale dziwnie działasz na wskaźnikach/adresach. Poza tym rzutując na unsigned char ograniczyłeś...
int -> char[] - itoa() float -> char[] - tutaj funkcji jest wiele, zależnie od potrzeb - najlepiej poprzeglądać dokumentację do libc (zwykle newlib) - dołączoną do kompilatora. Implementację funkcji itoa() można znaleźć na mojej stronie www.freddiechopin.info -> Download -> ARM -> Różne Na podstawie funkcji itoa() można zresztą wymyślić własną funkcję...
Witam U mnie ta funkcja dtostrf zabiera sporo pamięci, napisałem własną, która zabiera 5 razy pamięci programu: //Konwersja float to str void ToString(char *dest, float value) { //format A.BB long A=0; long B=0; A=value; B=value * 100; B=B-A*100; char sA[3]; char sB[6]; itoa(A,sA,10); itoa(B,sB,10); strcat(dest,sA);...
%d służy do wyświetlania zmiennych typu całkowitego (integer). Masz kawałek działającego kodu: int main(int argc, char *argv[]){ float a1; FILE *fp; fp=fopen("Uklad_Rownan.txt"... printf("Wprowadz a1: "); scanf("%f",&a1); fprintf(fp,"%5.2f",a1)...
nie wiem czy coś ze mną nie tak czy z tym forum, ale piszę tą odpowiedź drugi raz, albo odpowiedziałem w innym temacie ... użyj tej funkcji, u mnie działa to jest dla DS18 S 20 (niepotrzebnie wkleiłem , ale niech już zostanie) float zamien_temp(unsigned char MSB,unsigned char LSB) { float ftmp; if(MSB==0x00)//dodatnia,lub 0 {...
Witam, mam zadanie, w którym stosując variant,unie mam przerobić mój program reprezentujący stos z typami int na stos który będzie dodawać kolejno różne typy zmiennych np int, char, float itp. Niestety nie wiem jak to zrobić o samym variancie prawie nic nie znalazłem na internecie, nie licząc kilku stron w języku angielskim z których niewiele zrozumiałem....
wydaje mi się że powinno być char buf[8] a nie float buf[8].
No tak by było chyba najlepiej... razem z printfem: printf ("%g",convert_temp(tds... Zdaje się, że trochę przekombinowałem... :p Pytanko: A czy to nie powinno wyglądać tak: float convert_temp(unsigned int temp) { unsigned char sign = 0; float ret = 0; if(temp & 0x8000) { sign = 1; temp = ~temp + 1;...
[syntax=c]#include <iostream> #include <cmath> using namespace std; int main(int argc, char** argv) { float a, b, c; cout << "podaj a" << endl; cin >> a; cout << "podaj b" << endl; cin >> b; cout << "podaj c" << endl; cin >> c; float delta = b*b - 4 * a * c; if (delta > 0) { cout <<...
bit WpiszLiczbeFloat(unsigned char dx,unsigned char dy,float *ptr,unsigned char typ) {float dana_calkowita;float dana_ulamkowa; union { float f; unsigned long l; }dana; unsigned char znak; //tablica w której będą umieszczone poszczególne cyfry ASCII unsigned char tab[13]={0x30,0x30,0x30,0x3...
W tym chciałbym ją tylko deklarować ale coś mi nie wychodzi. Deklaracja powinna wyglądać następująco: [syntax=c] struct Player { string name; char formation; int numer; float skillsGK; float skillsD; float skillsM; float skillsA; float setPieces; bool health; }; struct Team { string name; Player zawodnik[11]; } druzyna[10]; [/syntax]
if ((x >= '65') && (x <= '90')) { Dwie sprawy: 1. Nie jesteś w Pascalu więc nawiasy przy warunkach są zbędne. 2. Zapis w pojedynczym apostrofie dotyczy pojedynczego znaku więc piszemy np. 'a', 'b', ..., 'z' itp. dwa znaki występują tylko przy znakach specjalnych np. '\n' - znak końca linii. scanf ("%c", &x); Od kiedy w ten sposób...
Witam, przepraszam za późną odpowiedź. . Proszę o pomoc w następującej sprawie. 1- Muszę dopracować autoexec.bat, aby urządzenie budziło się tylko co 30 minut, pobierało odczyty i wysyłało je przez MQTT Jest to bardzo proste, wystarczy zmienić czas DeepSleep w autoexec.bat 2- Chciałbym mieć określony ładunek danych publikowany za pośrednictwem MQTT...
Brrr, Basic. ;) Przerzuć się na C lub asemblera. Nowe AVRStudio można zintegrować z WinGCC i działa to bez zarzutów. A w C deklarujesz sobie od razu, czy masz zmienną całkowitą (char, int), czy zmiennoprzecinkową (float) i o dziwo artytmetyka zmiennoprzecinkowa nie zajmuje ogromnych ilości flasha. :) Ciekawie prawisz , tylko wytłumacz mi dlaczego ten...
A zrób tak: [syntax=c] unsigned char buf[4]; float DNL; buf[0] =USART0_Receive(); buf[1] =USART0_Receive(); buf[2] =USART0_Receive(); buf[3] =USART0_Receive(); memcpy(&DNL,buf,4); [/syntax] Bedzie można sprawdzić, czy aby na pewno odbieramy to co odbieramy, bo często rejestry FIFO płatają figle. BTW: pokaż deklaracje funkcji "USART0_Receive". Nie jest...
poradzilem sobie, niezla kombinacja, ale dziala. Zapisuje zmienna float do pliku, pozniej odczytuje po bajcie. A nie próbowałeś z unią? union { float czas = 1.44f; unsigned char wartosc[4]; } moja_unia; Powinno się też dać tak: float czas = 1.44f; for (i = 0; i < 4; i++) printf("To jest bajt %d: %u\n",...
Witam, Chcę zamienić stringa na liczbę zmiennoprzecinkową. Teoretycznie nic prostszego: liczba=strtod(s,NULL); lub sscanf(s,"%f",&liczba); lub liczba=atof(s); Aż trzy funkcje i żadna z nich nie działa poprawnie. Pierwsza zwraca liczbę ok 169xx.0000 (oscyluje delikatnie w zależności od wejścia). Pozostałe funkcje zwracają zawsze zero. Dodatkowo sprawdzam...
Tak, prawidłowo. Odpowiedź dla biblioteki której używasz napisał (at)khoam w #9. Na zmienną t potrzebujesz zająć bajty od canMsg.data[0] do canMsg.data[3]. Może tak będzie prościej: [syntax=c] float t = 12.3; char *pt = &t; ... canMsg.data[0] = pt[0]; ... canMsg.data[3] = pt[3]; [/syntax]
Coś takiego chiałes? : #include <stdio.h> #include <stdlib.h> #define W 3 #define K 3 int main(int argc, char *argv[]) { float tab[W][K]; int i,j; for(i=0;i<W;i++){ for(j=0;j<K;j++) scanf("%f", &tab[i][j]);... for(i=0;i<W;i++){...
Ja w takich przypadkach stosuję metodę którą na swoje potrzeby nazwałem "split objects". Obiekt u mnie składa się po prostu z dwóch części - stałej i zmiennej. Zwykle "główny" obiekt jest stały, a ten "zmienny" fragment jest podrzędny, jednak są sytuacje w których robię to odwrotnie, głównie wynikające z polimorfizmu lub dlatego że łatwiej/lepiej jest...
Ciężko tu zaobserwować zmiane tych wartości ponieważ jest to program na do mikrokontrolera ATMEGA, wrzucam cały kod, może będziecie wiedzieć co tu jest źle. #define F_CPU 14.7456E6 //delay.h //na podstawie podanej czesotliwosci kwarcu obliczane beda opoznienia wystepujace w programie #include "pliki\io.h" #include "pliki\delay.h"...
Chyba za bardzo nie rozumiesz co się tu pisze. Spróbuj: char bufor[10]; void inline na_tekst(float liczba){ dtostrf(liczba,4,1,bufor); } main(){ na_tekst(temp); LCD_WriteText(bufor); }
char st1 to nie zadziala. tablice nalezy inicjowac rozmiarem znanym podczas kompilacji. masz wiec dwa wyjscia: 1. albo rozmiar na sztywno 2. albo szybki kurs uzycia funkcji malloc i obslugi dynamicznego przydzialu pamieci (obstawiam, ze jak procek nie ma pozadnej ilosci RAMu, to nawet nie ma co probowac) x = 53.7; <-------------------- tu muszę...
jeśli chodzi o ujemne temperatury to ta funkcja sobie poradzi: float zamien_temp(unsigned char MSB,unsigned char LSB) { if(MSB&0x80)//ujemna temp { LSB=~LSB +1; MSB=~MSB; unsigned int suma = LSB + (((unsigned int)MSB)<<8); return ((float)suma) * -0.0625; } else//dodatnia...
float wart; scanf(f,"%f\n",&wart); JEst najwygodniej. Ew prawie jak zapisałeś: std::ifstream someVarName("data.txt")... float fl; char temp[100]; someVarName.getline(temp, 100); fl=strtof(temp); Co do przecinka - ustaw zmienną extern char DecimalSeparator PS. Jaki to kompilator, bo w...
A co to za cudaczne obliczenia :wink: ... unsigned char wynik1=0; unsigned char wynik2=0; wynik1=read1w(); wynik2=read1w(); reset1w(); float temp=0; if((wynik2)!=0){ //temp ujemna wynik1=~wynik1; temp=wynik1+1; //dlaczego /2 i gdzie się podział wynik2 ? temp=-temp/2; //??? } else{ //temp dodatnia...
w 12 to nwm z nauczycielem rozmawialem i albo A albo C . w 10 na 200% A kolego. CHAR!! Float to do zmiennoprzecinkowych.
Let me google it for you :) Wystarczy w google wpisać: "float to string C" aby otrzymać: double num = 123412341234.123456789; char output Arduino standardowo dołącza biblioteki wyswietlajace float, bo AVR Studio nie?
Moja funkcja lcd_str to to samo co u Ciebie LCD_WriteText. Wstawiłem ją tylko po to by można było się zorientować co ona robi a nie byś ją stosował.
Jak zmienić tekst char * nazwa na typ float?? Jest do tego jakaś funkcja w standardowym c++
#include <stdio.h> . . . unsigned char bufor [10]; unsigned char dana sprintf (bufor, "%d", dana); WriteLCD(bufor); Poczytaj o formatowaniu stringow funkcja sprintf (printf) a wszystkiego sie dowiesz: jak wyswietlac w postaci hex, jak wyswietlac float, stringi etc. pozdrawiam BF
...Kompilator to WinArm, gcc v. 4.1.1 A co koledze przeszkadza , w wykorzystaniu funkcji char *gcvtf(float VAL, int PRECISION, char *BUF); :?: Piotrek
Użyj " zamiast '. Ale to chyba nie rozwiąże problemu tak jakbyś chciał;) Funkcja sprintf załatwi sprawę.
Witam, Poszukuję metody napisanej w C++ która zamienia liczbę Hexadecimal na float (hex to float). Do tej pory znalazłem kod: unsigned char adres[4]; //bo float ma 4 bajty unsigned char *wtab = adres; float liczba = 15.6; *(reinterpret_cast<float*>(... = liczba; //do z rzutowanego wskaźnika char na float przypisujemy...
Szukam po necie ale nie mogę znaleźć poleceń dzięki którym da rade tak zrobić. Przy deklarowaniu struktury mam dwie zmienne char, trzy float i jedna int. Wczytuje wszystko w pętli ale jak teraz je przerzucić do pliku. jeżeli chce użyć fputc to wyskakują błędy. Zastanawiam się jak można zapisać i później odczytać z pliku dane żeby były tego samego typu...
Przykładowa funkcja wysyłająca "rozbitego" floata: void rs_write_float(float val) { unsigned char * ptr; ptr=(unsigned char *)&val; RS_WriteByte(*ptr); ptr++; RS_WriteByte(*ptr); ptr++; RS_WriteByte(*ptr); ptr++; RS_WriteByte(*ptr); } i skladanie floata do kupy : float rs_read_float(void)...
(at)Rachel dane wejściowe oczywiście mogą przyjmować wartości ujemne. Uczenie sieci trwa kilka epok, np. uczenie perceptronu dla tych danych trwa ~50 epok: [syntax=text]// x, y, goodOutput float test[7][3] = { {2, 1, 1}, {2, 2, 1}, {0, 6, 1}, {-2, 10, -1}, {-2, 0, -1}, {0, 0, -1}, {4, -20, -1} };[/syntax] Algorytm uczenia jest bardzo prosty: [syntax=c]if...
Co jest nie tak? [syntax=sql] CREATE TABLE (id int NOT NULL AUTO_INCREMENT, nazwa char(50), cena_z float, cena_s float, inne char(99), PRIMARY KEY(id)); [/syntax]
Udało mi się odgrzebać jakiś programik, ale napisany jest w C. Oczywiście skompiluje się także w kompilatorze C++. #include <stdio.h> //#include <stdlib.h> float pole_prostokata(float a, float b) { return a*b; } float pole_kola(float r) { return 3.14*r*r; } float pole_trojkata(float a, float h)...
Mógłbyś mi wkleić kawałek kodu jak to wysłać po RS232 ? Arduino np Pozdrawiam Coś w stylu:[syntax=c]void setup(void) { Serial.begin(9600,SERIAL_8N1); } uint32_t otime=0; float value=0; void loop(void) { char buf[24]; uint32_t nt = millis(); if (nt-otime < 500) return; otime = nt; if (Serial.available()) { sprintf(buf, "%20.6f", value += 0.01); Serial.println(buf);...
witam, mam problem z konwersją float'a na tablice charów. char tablica[4]; sprintf(tablica, "%G", temp_in); USART_Transmit(tablica[0]... USART_Transmit(tablica[1]... USART_Transmit(tablica[2]... USART_Transmit(tablica[3]... w terminalu pokazuje się tylko znak zapytania...
#include <iostream.h> #include <conio.h> #include <math.h> const int GORA=72, DOL=80, LEWO=75, PRAWO=77; void wczytajDane (float &wielk, char &znak); void rysujFigure(float wielk, float X, float Y, char znak); void ruszaj(float wielk, float &X, float &Y, char znak); void main() {...
float chara zamiana float chara chara array float
wymiana nagrzewnica citroen karta pamięci uszkodzona elektroda vitodens
pilot zgemma wkrętarka milwaukee
Kolor elektrody świecy w Oleo-Mac 937: Biała i brązowa? Hulajnoga elektryczna startuje na pełnym gazie - przyczyny i rozwiązania