02 May 2006 @ 10:59 pm
 
Man jau saap galva, esmu dusmīga un galīga pļeka.
Rīt liidz pusnaktij jāndood uzdevums LU. ja nenodošu, būšu nokavējusi jau 2 termiņu un tas neapvisam nav labi (būtiski samazina % no vērtējuma). uzdevums ir viegls!!! Bet es atkal nezinu kaut kādu mazu niansi, jo es taču neprogrammēju un par to neinteresējos, kā rezultātā mēģinu zidomāt visādus aplinkus ceļus, kā šo problēmu apiet. Nesanāk! Kļūstu tikai nervozāka un nervozāka, jo laiks rit un paliek aizvien mazāk. Sūdu būšana! Man vajag, lai kāds palīdz, bet nav jau kam jautāt! Parādītu uzdevumu, domāju, cilvēks, kas ar to (programmēšanu) ikdienā nodarbojas, atrisinātu 5 minūtēs!

A es esmu uzkārusies uz elemtāra sūda:kaa no char masiiva nolasiit pirmos 10 simbolus, kuri ir cipari un tos ielasiit int masiivaa taa, lai ar shiem paarvietotajiem cipariem vareetu veikt matematiskas darbiibas? Proti, kāda ir funkcija, kas char vērtību pārtasia int vērtībā?

Un tā, kā esmu jau gana nogurusi, arī internetā nekādīgi nespēju sev palīdzēt, jo vair snormāli formulēt googlei savu velemi nevaru un varbūt nemaz nemāku!

Bitītes matos!
 
 
Noskaņojums: grrrrrrrrrrrrrrrrrrr
 
 
( Post a new comment )
una chica mala: bebis[info]noamii on May 2nd, 2006 - 11:15 pm
labprāt palīdzētu, bet es pat ofisu uzinstalēt nemāku. Turies :)
(Reply) (Link)
renton[info]renton on May 3rd, 2006 - 12:07 am
#include
using namespace std;

char char_masivs[] = {'1','2','3','n','u','t','u','e','s','i','b','r','i','v','s','4','5','6','.','.','.'};
int summa = 0;
int main()
{
for (int i = 0; i < 21; i++){
if ((char_masivs[i] > '0') && (char_masivs[i] < '9')) {

// summa + simbola_skaitliska_vertiba
summa = summa + char_masivs[i] - '0';
}
}
cout << "Masivs ir: " << char_masivs << " Taja ciparu summa ir:" << summa << endl;
system("pause");
return 0;
}
(Reply) (Thread) (Link)
phoenix[info]phoenix on May 3rd, 2006 - 01:59 pm
[Error: Irreparable invalid markup ('<iostream.h>') in entry. Owner must fix manually. Raw contents below.]

Jaa, tavu piemeeru iekopeejot, viss straadaa pareizi. Bet lidzko to pashu meeghinu izdariit ar savu piemeru, viss atkal ir shkjiibi. Snaak, ka kaut kur citur laikam ir probleema. JA sanaak laika, uzmet aci. I tka aviss ir taapat ka tev, bet nestraadaa. varbuu tam getline ir kaukaadi konkreeti nosacijumi un vinjsh to masivu sakropljo?


#include <iostream.h>
#include <fstream.h>
using namespace std;

int main () {
ifstream IN;
ofstream OUT;
char char_masivs[100];
int summa;

IN.open("vid.in", ios::in); //failaa atrodas kaut vai tikai viena virkne ar 10 cipariem (piem, 1234567892)
OUT.open("vid.out", ios::out);

while (!IN.eof()) {
IN.getline(char_masivs,11);
cout <<char_masivs<<endl; //parbaudu vai no faila ielasijis pareizi
for (int i = 0; i < 9; i++){
if ((char_masivs[i] > '0') && (char_masivs[i] < '9')) {
summa = summa + char_masivs[i] - '0'; // summa + simbola_skaitliska_vertiba
}
}
cout << "Masivs ir: " << char_masivs << " Taja ciparu summa ir:" << summa << endl; <-- un neatgriezh korektu veertiibu!
}

IN.close();
OUT.close();

system ("PAUSE");
return 0;
}
(Reply) (Parent) (Thread) (Link)
3.14[info]314 on May 3rd, 2006 - 02:49 pm
"int summa;" nav piešķirta sākotnējā vērtība, tāpēc tur atrodas kaut kāds skaitlis (miskaste). Var darīt apmēram tā:

...
while (!IN.eof()) {
amount = 0;
...
(Reply) (Parent) (Thread) (Link)
phoenix[info]phoenix on May 3rd, 2006 - 05:46 pm
eeem, man vienalga neksaita pareizi. ciklaa visos gadiijumos no char_masivs[i] jaatnjem '0'?
summa = summa + char_masivs[i] - '0' ?
'0' vietaa nav kaukaada cita veertiiba atbilstoshi konkreetajam simbolam vai kaa?

Tiesa, skaitiit tagad vismaz skaita (pirms tam pat neskatiija un meta kljuudu), bet shkjiet, ka ieguutais int ir savaadaaks. Man kauko smejmoon teica par to, ka txt failaa charu nolasot savaadaak nekaa int un ai. putra.

vaardu sakot, faila rindinju 123 izpildot kodu sanaak -145, nevis 6. Un summu es saakumaa inicializeeju uz 0, kaa noraadiiji.
(Reply) (Parent) (Thread) (Link)
phoenix[info]phoenix on May 3rd, 2006 - 05:50 pm
mm, sorry par spamu. es sapratu, kur probleema.
man jau for cikls izpildiijaas vairaak reizes, nekaa virknee reaali ir skaitlju, taapeec nekorekti arii summu saskaitiija :)
(Reply) (Parent) (Link)
3.14[info]314 on May 3rd, 2006 - 02:57 pm
[Error: Irreparable invalid markup ('<ctype.h>') in entry. Owner must fix manually. Raw contents below.]

Un vispār:

#include <ctype.h>

...
if (isdigit(char_masivs[i])) {
summa = summa + char_masivs[i] - '0'; // summa + simbola_skaitliska_vertiba
}
...
(Reply) (Parent) (Link)
3.14[info]314 on May 3rd, 2006 - 03:03 pm
Kā arī ciklu jāpārraksta apmēram šādi:

while (true) {
IN.getline(char_masivs,11);
if (IN.eof()) break;
.....
}

IN.eof() jāpārbauda pēc informācijas ielasīšanas, lai ar pēdējo rindiņu cikls nestrādātu 2 reizes.
(Reply) (Parent) (Thread) (Link)
phoenix[info]phoenix on May 3rd, 2006 - 05:28 pm
taa, tikko atnaacu no LU, veel neko neesmu izmeghinjausi praktiski no taa ko nroaadiiji, bet izskataas, ka buus labi. Vismaz tagad zinu, kaapeec nereti man peedeejo rindinju drukaaja 2x.
(Reply) (Parent) (Link)