Analiza programów

17.06.2009

Porównywanie ofert

#include<string>
#include<iostream>
#include<cmath>
 
 
 
using namespace std;
int zbior[100001][3];//REV: dlaczego 3? 
 
int main()//REV: coś się wcięcia roztańczyły
{
 
 
 	int a,b; //REV: zakresy przydatności zmiennych a i b sa rozłączne, a nazwy sugerują tymczasowość, więc...
 	scanf ("%d",&a);
 	int chwil; //REV: OK, ta nazwa bardziej sugeruje tymczasowość...
 	for(int i=0;i<a;i++)
 	{
	 		scanf ("%d",&chwil);
	 		zbior[chwil][1]=1; //REV: dlaczego nie [0]?
    }
    scanf ("%d",&b);
    for(int i=0;i<b;i++)
 	{
	 		scanf ("%d",&chwil);
	 		zbior[chwil][2]=1; //REV: dlaczego nie [1]?
    }
    for(int i=0;i<100001;i++) 
    {
	 		if(zbior[i][1] == 1 || zbior[i][2] == 1 ) printf("%d ",i); //REV: if(zbior[i][1]|zbior[i][2])
    }
    printf("\n");
 
    for(int i=0;i<100001;i++) 
    { 
	 		if(zbior[i][1] == 1 && zbior[i][2] == 1 ) printf("%d ",i); //REV: if(zbior[i][1]&zbior[i][2])
    }
 	printf("\n");//REV: printf bez formatu, to chyba puts, albo i putchar
 	 for(int i=0;i<100001;i++) 
    {
	 		if((zbior[i][1] == 1 && zbior[i][2] != 1)||(zbior[i][1] != 1 && zbior[i][2] == 1) ) printf("%d ",i);  //REV: if(zbior[i][1]^zbior[i][2])
    }
 
 
 
    return 0;
}
 

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com